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
