Details
-
Bug
-
Status: Resolved
-
Blocker
-
Resolution: Fixed
-
1.6.0
-
None
Description
I guess it's a pretty straightforward mistake
@Override public Boolean visit(And and) { return and.getLeft().accept(this) && and.getRight().accept(this); } @Override public Boolean visit(Or or) { // seems unintuitive to put an && not an || here // but we can only drop a chunk of records if we know that // both the left and right predicates agree that no matter what // we don't need this chunk. return or.getLeft().accept(this) && or.getRight().accept(this); }
The consequence is that filter predicates like a > 10 && a < 20 can never drop any row groups.
Attachments
Issue Links
- blocks
-
SPARK-5451 And predicates are not properly pushed down
- Resolved
- is duplicated by
-
PARQUET-250 StatisticsFilter "And"'s semantic error
- Resolved