ninglinLiu opened a new pull request, #3568: URL: https://github.com/apache/iceberg-rust/pull/3568
## Purpose Fixes #3555. `TableMetadataBuilder::build()` rebinds the default partition spec with `bind()`. That path required every partition source column to still exist, including for `Transform::Void`. Java's `PartitionSpec.checkCompatibility` skips void fields, so a v1 replace that turns a removed partition field into void and then drops the source column succeeds in Java and failed here. ## Changes - Skip the source-existence / type check for void fields in `check_transform_compatibility` - Add bind + builder tests for a void field whose source id is no longer in the schema ## Tests `cargo test -p iceberg --lib void_field_whose_source` `cargo test -p iceberg --lib default_void_spec_after_source` ## AI Disclosure AI-assisted implementation; I reviewed the change against Java's `checkCompatibility` behavior and verified the new tests locally. -- 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]
