You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues-all@impala.apache.org by "Zoltán Borók-Nagy (Jira)" <ji...@apache.org> on 2026/09/25 09:49:00 UTC
[jira] [Assigned] (IMPALA-15430) Enable ENABLE_OUTER_JOIN_TO_INNER_TRANSFORMATION by default
[ https://issues.apache.org/jira/browse/IMPALA-15430?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Zoltán Borók-Nagy reassigned IMPALA-15430:
------------------------------------------
Assignee: Zoltán Borók-Nagy
> Enable ENABLE_OUTER_JOIN_TO_INNER_TRANSFORMATION by default
> -----------------------------------------------------------
>
> Key: IMPALA-15430
> URL: https://issues.apache.org/jira/browse/IMPALA-15430
> Project: IMPALA
> Issue Type: Improvement
> Components: Frontend
> Reporter: Zoltán Borók-Nagy
> Assignee: Zoltán Borók-Nagy
> Priority: Major
> Labels: performance
>
> IMPALA-5022 (2020) added outer join simplification. When a WHERE predicate rejects NULLs
> coming from the nullable side of an outer join, the join is turned into an inner join, or
> into a narrower outer join. The option has been off by default since then
> (common/thrift/Query.thrift:540):
> {code}
> 114: optional bool enable_outer_join_to_inner_transformation = false;
> {code}
> Without it, queries such as TPC-DS q93 keep the large fact table on the preserved side of
> a LEFT OUTER JOIN, so no runtime filter can reach its scan:
> {code:sql}
> ... FROM store_sales LEFT OUTER JOIN store_returns
> ON (sr_item_sk = ss_item_sk AND sr_ticket_number = ss_ticket_number),
> reason
> WHERE sr_reason_sk = r_reason_sk AND r_reason_desc = 'reason 28'
> {code}
> In the checked-in plan (PlannerTest/tpcds/tpcds-q93.test), the store_sales scan reads all
> 2.88M rows and has no runtime filters. {{sr_reason_sk = r_reason_sk}} rejects NULLs, so
> the rewrite turns the join into an inner join. store_returns, already filtered by the
> reason join, can then send filters to store_sales.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-all-unsubscribe@impala.apache.org
For additional commands, e-mail: issues-all-help@impala.apache.org