advancedxy opened a new pull request, #1020:
URL: https://github.com/apache/iceberg-cpp/pull/1020

   ## What
   
   Add a `ProjectNestedArray` overload for nested fields without a row-position 
argument, removing repeated `nullptr` arguments from recursive projection.
   
   Use `ICEBERG_PRECHECK` at the record-batch and struct projection entries to 
validate required row positions. Add one regression test covering nested `_pos` 
and `_row_id`.
   
   ## Why
   
   Follow-up to [the projection review in 
#1006](https://github.com/apache/iceberg-cpp/pull/1006#discussion_r4277546548).
   
   The record-batch check only inspects top-level fields. Metadata fields 
nested in a struct could therefore reach projection with a null position array. 
Checking each struct before projection returns an error without adding checks 
to individual metadata branches.
   
   ## Testing
   
   - `parquet_test` passed on the updated main baseline.
   - Pre-commit and `git diff --check` passed.
   
   ## Limitations and follow-up
   
   The current Iceberg reader supplies the separate position array only to 
top-level fields. This is an implementation limitation, not a restriction on 
schema projection. The planned Arrow C++ Parquet reader integration described 
in #1006 will expose positions in the reader's record batches.
   


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