Uploaded image for project: 'Apache Drill'
  1. Apache Drill
  2. DRILL-6173

Support transitive closure during filter push down and partition pruning

    Details

      Description

      There is Calcite rule JoinPushTransitivePredicatesRule but it does not work in Drill.
      Applying it in Drill will allow for equi-join queries to push filter condition from one table to another:

      select * 
      from A, B 
      where
      A.id = B.id and 
      B.id = 100
      

      In that case it is possible that Scan operator for A table will not scan all data.
      For table A it can lead for applying:
      1. Partition pruning for Hive tables and partiotion/directory pruning for file system tables
      2. Parquet filter pushdown

       

      Note: transitive closure doesn't work for some cases, these Calcite issues can resolve them:
      CALCITE-1048, CALCITE-2274, CALCITE-2275, CALCITE-2241. They are tracked by DRILL-6350

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                vitalii Vitalii Diravka
                Reporter:
                vitalii Vitalii Diravka
                Reviewer:
                Aman Sinha
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: