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

StatisticsFilter doesn't handle And properly

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Blocker
    • Resolution: Fixed
    • 1.6.0
    • 1.6.0
    • parquet-mr
    • 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

              lian cheng Cheng Lian
              lian cheng Cheng Lian
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: