[
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