[ 
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

Reply via email to