Aman Sinha has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/14813 )

Change subject: IMPALA-9162: Do not apply inferred predicate to outer joins
......................................................................


Patch Set 6:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/14813/6/fe/src/main/java/org/apache/impala/planner/SingleNodePlanner.java
File fe/src/main/java/org/apache/impala/planner/SingleNodePlanner.java:

http://gerrit.cloudera.org:8080/#/c/14813/6/fe/src/main/java/org/apache/impala/planner/SingleNodePlanner.java@1201
PS6, Line 1201:     analyzer.markConjunctsAssigned(preds);
> Oh, of course. I missed that they were generated there. I guess a comment i
I should note that I tried adding additional check in 
Analyzer.createEquivConjuncts() in order to catch the point where the inferred 
predicate is created and prevent its creation if its SlotRef is coming from a 
Tuple which is an outer joined tuple.  However, that did not help and the 
reason is that in that method, isOuterJoined(leftTupleId) || 
isOuterJoined(rightTupleId)  return FALSE for the problem query pattern.  Only 
after the inline view's substitution map gets used in this method we get the 
new viewPredicates (line 1243 below) and for these the isOuterJoined(left/right 
tuple id) returns TRUE.



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

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ie9521bd768c4b333069c34d5c1e11b10ea535827
Gerrit-Change-Number: 14813
Gerrit-PatchSet: 6
Gerrit-Owner: Aman Sinha <[email protected]>
Gerrit-Reviewer: Aman Sinha <[email protected]>
Gerrit-Reviewer: Impala Public Jenkins <[email protected]>
Gerrit-Reviewer: Quanlong Huang <[email protected]>
Gerrit-Reviewer: Tim Armstrong <[email protected]>
Gerrit-Comment-Date: Tue, 10 Dec 2019 01:02:50 +0000
Gerrit-HasComments: Yes

Reply via email to