Aleksandr Efimov has uploaded this change for review. ( http://gerrit.cloudera.org:8080/24597
Change subject: IMPALA-7996: Optimize constant-false outer joins ...................................................................... IMPALA-7996: Optimize constant-false outer joins Constant FALSE or NULL ON conjuncts eliminate equi-join predicates during expression rewriting. The classic planner then chooses a nested-loop join although the join cannot produce a match. For outer joins, add a non-matching constant hash predicate. Replace the non-preserved input of left and right outer joins with EmptySetNode. Keep both inputs for a full outer join so both sets of unmatched rows are returned. Add planner coverage for literal, folded, and NULL predicates. Add query tests with constant inline views to verify that the preserved side is not lost. Change-Id: I6505825fc958720eec12e13d546661834f221b80 Assisted-by: gpt-5 (OpenAI Codex) --- M fe/src/main/java/org/apache/impala/planner/SingleNodePlanner.java M testdata/workloads/functional-planner/queries/PlannerTest/empty.test M testdata/workloads/functional-query/queries/QueryTest/outer-joins.test 3 files changed, 101 insertions(+), 14 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/97/24597/1 -- To view, visit http://gerrit.cloudera.org:8080/24597 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I6505825fc958720eec12e13d546661834f221b80 Gerrit-Change-Number: 24597 Gerrit-PatchSet: 1 Gerrit-Owner: Aleksandr Efimov <[email protected]>
