[
https://issues.apache.org/jira/browse/IMPALA-9356?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17257045#comment-17257045
]
Xianqing He commented on IMPALA-9356:
-------------------------------------
[~baggio000],Hello,are you still working on this. I have fixed it. If you
haven't fix, could I commit it ?
> The predicates that the tuple ids involved are empty migrate to outer-joined
> inline view or real table
> ------------------------------------------------------------------------------------------------------
>
> Key: IMPALA-9356
> URL: https://issues.apache.org/jira/browse/IMPALA-9356
> Project: IMPALA
> Issue Type: Bug
> Components: Frontend
> Affects Versions: Impala 3.3.0
> Reporter: Xianqing He
> Assignee: Yida Wu
> Priority: Minor
> Labels: correctness
>
> {code}
> SELECT COUNT(*)
> FROM (
> SELECT id, upper(string_col) AS upper_val
> FROM functional.alltypestiny
> ) a
> FULL JOIN (
> SELECT id, upper(string_col) AS upper_val
> FROM functional.alltypestiny
> ) b
> ON a.id = b.id
> WHERE rand() = 12
> {code}
> The Plan
> {noformat}
> +------------------------------------------------------------+
> | Explain String |
> +------------------------------------------------------------+
> | Max Per-Host Resource Reservation: Memory=1.95MB Threads=6 |
> | Per-Host Resource Estimates: Memory=86MB |
> | Codegen disabled by planner |
> | |
> | PLAN-ROOT SINK |
> | | |
> | 07:AGGREGATE [FINALIZE] |
> | | output: count:merge(*) |
> | | row-size=8B cardinality=1 |
> | | |
> | 06:EXCHANGE [UNPARTITIONED] |
> | | |
> | 03:AGGREGATE |
> | | output: count(*) |
> | | row-size=8B cardinality=1 |
> | | |
> | 02:HASH JOIN [FULL OUTER JOIN, PARTITIONED] |
> | | hash predicates: id = id |
> | | row-size=8B cardinality=9 |
> | | |
> | |--05:EXCHANGE [HASH(id)] |
> | | | |
> | | 00:SCAN HDFS [functional.alltypestiny] |
> | | HDFS partitions=4/4 files=4 size=460B |
> | | predicates: rand() = 12 |
> | | row-size=4B cardinality=1 |
> | | |
> | 04:EXCHANGE [HASH(id)] |
> | | |
> | 01:SCAN HDFS [functional.alltypestiny] |
> | HDFS partitions=4/4 files=4 size=460B |
> | row-size=4B cardinality=8 |
> +------------------------------------------------------------+
> {noformat}
> The rand() returns a random value between 0 and 1 so "rand() = 12" will
> always be false. All rows should be rejected by the WHERE clause. If "rand()
> = 12" is evaluated in only one side, the other side can still produce rows.
> So the outer join will still have results.
> We can't migrate the predicate that the tuple ids involved are empty to
> outer-joined inline view, Also for real tables have this question.
> {code}
> explain select 1 from functional.alltypestiny t1 full join
> functional.alltypestiny t2 on t1.id = t2.id where rand() = 2
> {code}
> {noformat}
> +------------------------------------------------------------+
> | Explain String |
> +------------------------------------------------------------+
> | Max Per-Host Resource Reservation: Memory=1.95MB Threads=6 |
> | Per-Host Resource Estimates: Memory=66MB |
> | Codegen disabled by planner |
> | |
> | PLAN-ROOT SINK |
> | | |
> | 05:EXCHANGE [UNPARTITIONED] |
> | | |
> | 02:HASH JOIN [FULL OUTER JOIN, PARTITIONED] |
> | | hash predicates: t2.id = t1.id |
> | | row-size=8B cardinality=9 |
> | | |
> | |--04:EXCHANGE [HASH(t1.id)] |
> | | | |
> | | 00:SCAN HDFS [functional.alltypestiny t1] |
> | | HDFS partitions=4/4 files=4 size=460B |
> | | predicates: rand() = 2 |
> | | row-size=4B cardinality=1 |
> | | |
> | 03:EXCHANGE [HASH(t2.id)] |
> | | |
> | 01:SCAN HDFS [functional.alltypestiny t2] |
> | HDFS partitions=4/4 files=4 size=460B |
> | row-size=4B cardinality=8 |
> +------------------------------------------------------------+
> {noformat}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]