Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
Impala 3.1.0, Impala 3.2.0, Impala 4.0.0, Impala 3.4.0
-
ghx-label-3
Description
Query: explain select * from ( select case when id is not null and some_nulls is null then true else null end a from (select straight_join t1.id, t2.some_nulls from functional.nullrows t1 left join functional.nullrows t2 on t1.id=t2.id) t)t where a is not null Max Per-Host Resource Reservation: Memory=1.95MB Threads=3 Per-Host Resource Estimates: Memory=66MB Codegen disabled by planner "" PLAN-ROOT SINK | 02:HASH JOIN [LEFT OUTER JOIN] | hash predicates: t1.id = t2.id | other predicates: CASE WHEN t1.id IS NOT NULL AND t2.some_nulls IS NULL THEN TRUE ELSE NULL END IS NOT NULL | row-size=39B cardinality=26 | |--01:SCAN HDFS [functional.nullrows t2] | partitions=1/1 files=1 size=541B | predicates: CASE WHEN t2.id IS NOT NULL AND t2.some_nulls IS NULL THEN TRUE ELSE NULL END IS NOT NULL | row-size=26B cardinality=3 | 00:SCAN HDFS [functional.nullrows t1] partitions=1/1 files=1 size=541B row-size=13B cardinality=26
It is incorrect to propagate this inferred predicates into a plan subtree that is on the nullable side of an outer join.
Attachments
Issue Links
- relates to
-
IMPALA-9162 Incorrect redundant predicate applied to outer join
- Resolved