impala-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alex Behm (Code Review)" <>
Subject [Impala-CR](cdh5-2.5.0_5.7.0) IMPALA-3071: Fix assignment of On-clause predicates belonging to an inner join.
Date Fri, 26 Feb 2016 16:29:19 GMT
Alex Behm has posted comments on this change.

Change subject: IMPALA-3071: Fix assignment of On-clause predicates belonging to an inner

Patch Set 2:

(1 comment)
File fe/src/main/java/com/cloudera/impala/analysis/

Line 1150:     if (tids.size() > 1 || isOuterJoined(tids.get(0))
> it looks like this would also capture b.x < 15 in
Let's talk f2f about how to proceed here. Notice how the existing function is also wrong in
the sense that evalByJoin() may return true for predicates that do not have to be assigned
to a join. Like you said isOjJoinConjunct(e) does not mean we need to assign at a join, and
similarly isFullOuterJoined(tid) does not mean all predicates bound by tid must be evaluated
at a join (the predicates could appear below the full outer join).

I tried correcting evalByJoin() to do exactly what it says, but it it difficult because we
need to analyze the structure of the TableRefs more closely (which clause does the predicate
come from, where are tuples outer joined first/tast, etc.). We basically need to do an analysis
similar to my first patch set where we "simulate" a push down.

To view, visit
To unsubscribe, visit

Gerrit-MessageType: comment
Gerrit-Change-Id: Iffef7718679d48f866fa90fd3257f182cbb385ae
Gerrit-PatchSet: 2
Gerrit-Project: Impala
Gerrit-Branch: cdh5-2.5.0_5.7.0
Gerrit-Owner: Alex Behm <>
Gerrit-Reviewer: Alex Behm <>
Gerrit-Reviewer: Marcel Kornacker <>
Gerrit-HasComments: Yes

View raw message