Somehow, between my PR and @viirya's PR getting merged, we've ended up with the filter predicate being duplicated in the TableScanBuilder and the TableScan.
The predicate pushdown uses one of these but the file plan uses another, which caused a lot of confusion when I was trying to track down why my queries were misbehaving!
Somehow, between my PR and @viirya's PR getting merged, we've ended up with the filter predicate being duplicated in the
TableScanBuilder
and theTableScan
.See
predicates
andfilter
: https://github.com/apache/iceberg-rust/blob/adc5d200582f820ef408975bf541218aa9b07d64/crates/iceberg/src/scan.rs#L52-L56https://github.com/apache/iceberg-rust/blob/adc5d200582f820ef408975bf541218aa9b07d64/crates/iceberg/src/scan.rs#L85-L91
https://github.com/apache/iceberg-rust/blob/adc5d200582f820ef408975bf541218aa9b07d64/crates/iceberg/src/scan.rs#L99-L103
And here in
TableScan
,bound_predicates
andfilter
: https://github.com/apache/iceberg-rust/blob/adc5d200582f820ef408975bf541218aa9b07d64/crates/iceberg/src/scan.rs#L192-L196The predicate pushdown uses one of these but the file plan uses another, which caused a lot of confusion when I was trying to track down why my queries were misbehaving!