Xianqing He created IMPALA-11536:
------------------------------------
Summary: Invalid push down predicates in outer join simplification
Key: IMPALA-11536
URL: https://issues.apache.org/jira/browse/IMPALA-11536
Project: IMPALA
Issue Type: Bug
Components: Frontend
Affects Versions: Impala 4.1.0, Impala 4.0.0
Reporter: Xianqing He
Assignee: Xianqing He
Fix For: Impala 4.2.0
When set ENABLE_OUTER_JOIN_TO_INNER_TRANSFORMATION = true;
It may invalid push down the predicate that is not null rejecting in outer
join simplification.
e.g.
{code:java}
explain SELECT COALESCE(jointbl.test_id, testtbl.id, dimtbl.id) AS id,
test_zip,testtbl.zip FROM functional.jointbl
FULL OUTER JOIN
functional.testtbl
ON jointbl.test_id = testtbl.id
FULL OUTER JOIN
functional.dimtbl
ON coalesce(jointbl.test_id,
testtbl.id) = dimtbl.id
WHERE
`jointbl`.`test_zip` = 94611 and coalesce(`testtbl`.`zip`, 0) = 0
Max Per-Host Resource
Reservation: Memory=7.89MB Threads=6
Per-Host Resource Estimates: Memory=72MB
WARNING: The following tables are missing relevant table and/or column
statistics. functional.testtbl
""
PLAN-ROOT SINK
|
07:EXCHANGE [UNPARTITIONED]
|
04:HASH JOIN [LEFT OUTER JOIN, BROADCAST]
| hash predicates: coalesce(jointbl.test_id, testtbl.id) = dimtbl.id
| row-size=32B cardinality=6
|
|--06:EXCHANGE
[BROADCAST]
| |
| 02:SCAN HDFS [functional.dimtbl]
| HDFS partitions=1/1
files=1 size=171B
| row-size=8B cardinality=10
|
03:HASH JOIN [LEFT OUTER JOIN, BROADCAST]
| hash predicates: jointbl.test_id = testtbl.id
| row-size=24B
cardinality=6
|
|--05:EXCHANGE [BROADCAST]
| |
| 01:SCAN HDFS [functional.testtbl]
| HDFS
partitions=1/1 files=0 size=0B
| predicates: coalesce(testtbl.zip, 0)
= 0
| row-size=12B cardinality=0
|
00:SCAN HDFS [functional.jointbl]
HDFS
partitions=1/1 files=1 size=433B
predicates: jointbl.test_zip = 94611
row-size=12B cardinality=6{code}
We can't push down the predicate 'coalesce(testtbl.zip, 0) = 0' to ScanNode
since it is not null rejecting
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
