[
https://issues.apache.org/jira/browse/IMPALA-11536?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Xianqing He updated IMPALA-11536:
---------------------------------
Description:
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.
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;
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
We can't push down the predicate 'coalesce(testtbl.zip, 0) = 0' to ScanNode
since it is not null rejecting
was:
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
> 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.0.0, Impala 4.1.0
> Reporter: Xianqing He
> Assignee: Xianqing He
> Priority: Major
> 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.
> 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;
>
> 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
> 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]