[ https://issues.apache.org/jira/browse/HIVE-3315?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13463578#comment-13463578 ]
Phabricator commented on HIVE-3315: ----------------------------------- navis has commented on the revision "HIVE-3315 [jira] Propagate filers on inner join condition transitively". INLINE COMMENTS ql/src/java/org/apache/hadoop/hive/ql/ppd/PredicateTransitivePropagate.java:66 ok. ql/src/java/org/apache/hadoop/hive/ql/ppd/PredicateTransitivePropagate.java:77 ok. ql/src/java/org/apache/hadoop/hive/ql/ppd/PredicateTransitivePropagate.java:183 I think filters on FO is not transitive to opposite alias. I'll add FO case with blank line. ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeDescUtils.java:38 This method actually replaces expression in sources with expression in targets. For example, origin : (a.k+100)*a.v, sources = a.k,a.v, targets = b.k+5,b.v+5 than this returns ((b.k+5)+100)*(b.v+5) ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeDescUtils.java:44 Length of sources and targets should be same. In this patch, sources and targets are RS keys for a join operation, which is always same. I'll update comments. ql/src/test/results/clientpositive/auto_join29.q.out:3160 Yes, right. That's for HIVE-3381. ql/src/java/org/apache/hadoop/hive/ql/ppd/PredicateTransitivePropagate.java:93 If filter already exists on the alias, filter op need not be created but just be merged with it. And also RS is still needed to insert the filter. REVISION DETAIL https://reviews.facebook.net/D4497 To: JIRA, navis Cc: njain > Propagates filters which are on the join condition transitively > ---------------------------------------------------------------- > > Key: HIVE-3315 > URL: https://issues.apache.org/jira/browse/HIVE-3315 > Project: Hive > Issue Type: Improvement > Components: Query Processor > Affects Versions: 0.10.0 > Reporter: Navis > Assignee: Navis > Priority: Minor > Attachments: HIVE-3315.1.patch.txt, HIVE-3315.2.patch.txt, > HIVE-3315.3.patch.txt, HIVE-3315.D4497.5.patch, HIVE-3315.D4497.6.patch > > > explain select src1.key from src src1 join src src2 on src1.key=src2.key and > src1.key < 100; > In this case, filter on join condition src1.key < 100 can be propagated > transitively to src2 by src2.key < 100. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira