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]

Reply via email to