Anuj Phadke has submitted this change and it was merged. Change subject: IMPALA-2765: Preserve return type of subexpressions substituted in isTrueWithNullSlots() ......................................................................
IMPALA-2765: Preserve return type of subexpressions substituted in isTrueWithNullSlots() This commit fixes the issue where queries with outerjoins and case expressions in predicates can fail with an AnalysisException. This is due to the method isTrueWithNullSlots() not preserving the return types of sub-expressions during substitution with null literals and the resulting predicate can fail to analyze even though the original predicate succeeds. The fix is to preserve the type of each slot in the predicate that we subsitute with the null literal. Change-Id: I8cd827b460620355db6fd518464418e701a724f1 Reviewed-on: http://gerrit.cloudera.org:8080/1656 Reviewed-by: Bharath Vissapragada <[email protected]> Tested-by: Internal Jenkins (cherry picked from commit fa975ff43552d08888b411a20ec7479d215f5ce5) Reviewed-on: http://gerrit.cloudera.org:8080/2343 Tested-by: Anuj Phadke <[email protected]> --- M fe/src/main/java/com/cloudera/impala/analysis/Analyzer.java M fe/src/main/java/com/cloudera/impala/analysis/TupleIsNullPredicate.java M testdata/workloads/functional-planner/queries/PlannerTest/outer-joins.test 3 files changed, 31 insertions(+), 23 deletions(-) Approvals: Bharath Vissapragada: Looks good to me, approved Anuj Phadke: Verified -- To view, visit http://gerrit.cloudera.org:8080/2343 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: merged Gerrit-Change-Id: I8cd827b460620355db6fd518464418e701a724f1 Gerrit-PatchSet: 2 Gerrit-Project: Impala Gerrit-Branch: cdh5-2.2.0_5.4.x Gerrit-Owner: Anuj Phadke <[email protected]> Gerrit-Reviewer: Anuj Phadke <[email protected]> Gerrit-Reviewer: Bharath Vissapragada <[email protected]> Gerrit-Reviewer: Internal Jenkins
