Predicates on nested-leaf columns fail
- Dominant language
- Rust
- Stars
- 1.4k
- Forks
- 567
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 93
Description
### Apache Iceberg Rust version
0.6.0 (latest version)
### Describe the bug
Nested-leaf predicates in the Arrow reader are rejected even when the predicate targets a primitive leaf inside a struct.
For example, a predicate like:
```sql
nested.value = 20
```
fails during row-filter construction because PredicateConverter::bound_reference resolves the predicate field ID to a Parquet leaf column, then rejects it when the Parquet column root is a group/struct.
### To Reproduce
_No response_
### Expected behavior
_No response_
### Willingness to contribute
I can contribute a fix for this bug independently
Contributor guide
Research direction
Start at the Arrow reader's PredicateConverter::bound_reference entry point and trace how a predicate field ID resolves to a Parquet leaf under a struct. Reproduce the nested.value = 20 row-filter construction failure, then verify that predicates targeting primitive nested leaves are accepted without rejecting their group/struct root.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- data
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100