[ https://issues.apache.org/jira/browse/DRILL-6173?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16388281#comment-16388281 ]
Vitalii Diravka commented on DRILL-6173: ---------------------------------------- To enable "transitive closure" drill-calcite-1.15.0-r0 version requires at least 5 commits (maybe more) from Apache Calcite master branch. Therefore it can be more reasonable to leverage all changes within upgrade onto Calcite 1.16.0 version. > Support transitive closure during filter push down and partition pruning > ------------------------------------------------------------------------ > > Key: DRILL-6173 > URL: https://issues.apache.org/jira/browse/DRILL-6173 > Project: Apache Drill > Issue Type: Improvement > Components: Query Planning & Optimization > Affects Versions: 1.12.0 > Reporter: Vitalii Diravka > Assignee: Vitalii Diravka > Priority: Major > Labels: doc-impacting > Fix For: 1.13.0 > > > 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: > {code:sql} > select * > from A, B > where > A.id = B.id and > B.id = 100 > {code} > 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 or file system Parquet > tables|https://drill.apache.org/docs/partition-pruning-introduction/] > 2. [Parquet filter > pushdown|https://drill.apache.org/docs/parquet-filter-pushdown/] -- This message was sent by Atlassian JIRA (v7.6.3#76005)