Uploaded image for project: 'Parquet'
  1. Parquet
  2. PARQUET-173

StatisticsFilter doesn't handle And properly

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Blocker
    • Resolution: Fixed
    • Affects Version/s: 1.6.0
    • Fix Version/s: 1.6.0
    • Component/s: parquet-mr
    • Labels:
      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

            Activity

              People

              • Assignee:
                lian cheng Cheng Lian
                Reporter:
                lian cheng Cheng Lian
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: