dannycjones commented on issue #3524: URL: https://github.com/apache/iceberg-rust/issues/3524#issuecomment-6387436436
Rough plan. I'm particularly interested in `FieldId` and the Arrow and Parquet indices. I'm expecting to need to rework some of the Arrow modules that have field IDs and Arrow columns indices all over. First phase: 1. `SchemaId`: use the existing alias wherever a schema ID is a bare i32. (#3525) 1. `ViewVersionId`: use the existing alias for view version IDs, and fix a builder field mistakenly typed as SchemaId. (#3526) 1. `PartitionFieldId`: add an i32 alias for partition field IDs, a separate ID space from schema field IDs. 1. `FieldId` (spec): add an i32 alias for schema field IDs and adopt it in the spec module. 1. `FieldId` (everywhere else): adopt FieldId across the rest of the crate and the Python bindings. Separated because this one is likely to be pretty big, and disruptive to open PRs. 1. `ArrowFieldIndex`: add usize alias so its clearer when we're working with Arrow field indices. 1. `ParquetColumnIndex`: add usize alias so its clearer when we're working with Parquet column indices. Second phase (longer tail, I'm less interested but worth doing): 1. `SnapshotId`: add an i64 alias for snapshot IDs. 1. `PartitionSpecId`: add an i32 alias for partition spec IDs. 1. `SortOrderId` (breaking): add the alias and change sort order IDs from i64 to i32, matching the spec's int. 1. `RowId` (breaking): add an i64 alias for row IDs, changing the ones typed u64 to i64, matching the spec's long. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
