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]
