Internal Jenkins has submitted this change and it was merged. Change subject: IMPALA-3232: Allow not-exists uncorrelated subqueries ......................................................................
IMPALA-3232: Allow not-exists uncorrelated subqueries Before this patch, correlated exists and not exists subqueries were rewritten as as left semi and anti joins respectively. Uncorrelated exists subqueries were rewritten as cross joins, and uncorrelated not-exists subqueries were not supported at all. This patch takes advantage of the nested loop join that was recently introduced, which allows us to rewrite both correlated and uncorrelated exists subqueries as left semi joins and both correlated and uncorrelated not-exists subqueries as anti joins. Change-Id: I52ae12f116d026190f3a2a7575cda855317d11e8 Reviewed-on: http://gerrit.cloudera.org:8080/2792 Reviewed-by: Taras Bobrovytsky <[email protected]> Tested-by: Internal Jenkins --- M fe/src/main/java/com/cloudera/impala/analysis/StmtRewriter.java M fe/src/test/java/com/cloudera/impala/analysis/AnalyzeStmtsTest.java M fe/src/test/java/com/cloudera/impala/analysis/AnalyzeSubqueriesTest.java M testdata/workloads/functional-planner/queries/PlannerTest/analytic-fns.test M testdata/workloads/functional-planner/queries/PlannerTest/subquery-rewrite.test M testdata/workloads/functional-query/queries/QueryTest/subquery.test 6 files changed, 113 insertions(+), 34 deletions(-) Approvals: Taras Bobrovytsky: Looks good to me, approved Internal Jenkins: Verified -- To view, visit http://gerrit.cloudera.org:8080/2792 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: merged Gerrit-Change-Id: I52ae12f116d026190f3a2a7575cda855317d11e8 Gerrit-PatchSet: 6 Gerrit-Project: Impala Gerrit-Branch: cdh5-trunk Gerrit-Owner: Taras Bobrovytsky <[email protected]> Gerrit-Reviewer: Alex Behm <[email protected]> Gerrit-Reviewer: Dimitris Tsirogiannis <[email protected]> Gerrit-Reviewer: Internal Jenkins Gerrit-Reviewer: Taras Bobrovytsky <[email protected]>
