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]>

Reply via email to