You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@impala.apache.org by "Marcel Kornacker (Code Review)" <ge...@cloudera.org> on 2016/02/26 03:22:20 UTC

[Impala-CR](cdh5-2.5.0_5.7.0) IMPALA-3071: Fix assignment of On-clause predicates belonging to an inner join.

Marcel Kornacker has posted comments on this change.

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


Patch Set 2:

(3 comments)

haven't looked at everything yet

http://gerrit.cloudera.org:8080/#/c/2309/2/fe/src/main/java/com/cloudera/impala/analysis/Analyzer.java
File fe/src/main/java/com/cloudera/impala/analysis/Analyzer.java:

Line 236:     public final Map<ExprId, TableRef> ijClauseByConjunct = Maps.newHashMap();
let's coalesce oj/sj/ijClauseByConjunct into joinClauseByConjunct, the table ref can tell you the rest.


Line 1150:     if (tids.size() > 1 || isOuterJoined(tids.get(0))
it looks like this would also capture b.x < 15 in

a left outer join b on (a.id = b.id and b.x < 15)

which isn't necessary (and i'd expect this form to be fairly common)


http://gerrit.cloudera.org:8080/#/c/2309/2/testdata/workloads/functional-planner/queries/PlannerTest/outer-joins.test
File testdata/workloads/functional-planner/queries/PlannerTest/outer-joins.test:

Line 712: # that references an outer joined tuple.
i would specifically point out that the predicate doesn't reference the right-hand child


-- 
To view, visit http://gerrit.cloudera.org:8080/2309
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

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 <al...@cloudera.com>
Gerrit-Reviewer: Marcel Kornacker <ma...@cloudera.com>
Gerrit-HasComments: Yes