szehon-ho commented on PR #10020:
URL: https://github.com/apache/iceberg/pull/10020#issuecomment-2050636746

   Because this problem may affect more than just rewrite_position_deletes, I 
rewrote the patch to make the logic more generic at the Iceberg API level, 
rather than just PositionDeletesTable.
   
   Key changes:
   
   - Schema adds a new concept 'metadataFields' (name suggestion welcome), of 
which field ids will be re-assigned.  This allows tables to construct schemas 
with ids that 'conflict' only if the conflicts are metadata fields.
   - PartitionSpec has a method 'originalPartitionType' that returns the 
partition type with the original field ids.
   - ManifestReader uses the partition spec's original field ids (because they 
are serialized with those in the manifest file).  It is the only place in the 
code to need this.
   
   - Also some fixes in PositionDeletesTable and tests to get the schema/spec 
from the metadata table (which has the re-assigned field ids) instead of the 
original table.
   
   Sorry for the mess.  


-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org

Reply via email to