jackylee-ch opened a new pull request, #886:
URL: https://github.com/apache/paimon-rust/pull/886

   **Defect.** `from_predicate` recognised only `And` plus `Eq`/`In`/`IsNull` 
leaves; everything else fell through `_ => {}`, discarded. With every field 
covered it built a `PartitionSet`, and `matches_entry` is then pure `HashSet` 
membership — the predicate is never read again. A partition-only filter is 
`Exact`, so DataFusion drops its residual: `WHERE dt='2024-01-01' AND 
dt>='2024-01-02'` returned 1 row, not 0.
   
   **Fix.** `collect_eq_candidates` reports whether it consumed the whole tree; 
`from_predicate` keeps the predicate when it did not. A second conjunct on an 
already-pinned field also bails: the old code overwrote it, keeping whichever 
came last — possibly the wider one.
   
   **Cost.** The fallback pays `from_serialized_bytes` + `eval_row` per entry 
instead of a hash lookup, and an `In` leaf loses its min/max bound 
(`stats_filter.rs:73`). Only on shapes answered wrongly before.
   


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

Reply via email to