vvarma opened a new pull request, #2433: URL: https://github.com/apache/iceberg-rust/pull/2433
## Which issue does this PR close? <!-- We generally require a GitHub issue to be filed for all bug fixes and enhancements and this helps us generate change logs for our releases. You can link an issue to this PR using the GitHub syntax. For example `Closes #123` indicates that this PR will close issue #123. --> - Closes #2432 ## What changes are included in this PR? <!-- Provide a summary of the modifications in this PR. List the main changes such as new features, bug fixes, refactoring, or any other updates. --> Predicates that reference a primitive leaf inside a struct were rejected by PredicateConverter::bound_reference because the parquet column root for a nested leaf is the surrounding group. The downstream get_row_filter -> ArrowPredicateFn pipeline already projects each requested leaf via ProjectionMask::leaves; the leaf is available through the projected RecordBatch, just nested under its parent struct. Two changes: 1. Drop the get_column_root(...).is_group() rejection 2. Have bound_reference return the parquet column path (root -> leaf) instead of just the leaf's projected index. project_column now walks that path: top-level columns work as before, nested-leaf paths descend through StructArray children by name. ## Are these changes tested? <!-- Specify what test covers (unit test, integration test, etc.). If tests are not included in your PR, please explain why (for example, are they covered by existing tests)? --> Tests added: 1. test_get_row_filter_accepts_predicate_on_nested_leaf covers row-filter construction for a nested leaf path. 2. test_perform_read_with_nested_leaf_predicate writes a Parquet file with a struct leaf and verifies the full ArrowReader pipeline returns only the row matching nested.value = 20. -- 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]
