aaron-perpetual opened a new pull request, #2415:
URL: https://github.com/apache/iceberg-rust/pull/2415

   ## Summary
   
   - Replace the shape-equality fast-path gate (`shapes_match`) with 
`positions_aligned`, which checks `PARQUET:field_id` per column. When an actual 
column carries an id, it must match the expected id at the same position; 
columns without an id defer to the producer's positional contract. Data types 
are no longer compared.
   - This fixes two classes of bug the previous gate had: it would reject 
innocuous arrow type variants (e.g. `Utf8` ↔ `Utf8View`) and force the slow 
path; and it would accept same-typed column reshuffles, silently routing the 
cached projector to the wrong source column.
   - Precompute expected field-ids once at construction so the per-batch hot 
path only parses metadata on the actual schema.
   
   ## Test plan
   
   - [x] `cargo test -p iceberg --lib partition_value_calculator` — all 6 tests 
pass, including new coverage for same-typed field-id swaps and mixed metadata 
with type variants.
   - [x] `cargo build -p iceberg --lib` clean.
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)


-- 
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