xqhe has uploaded this change for review. ( http://gerrit.cloudera.org:8080/15047
Change subject: IMPALA-8361: Fix bound predicates optimization doesn't work for InlineView ...................................................................... IMPALA-8361: Fix bound predicates optimization doesn't work for InlineView This is improvement that migrated predicates of the nullable side of the outer join into inline view.We should duplicate it and evaluate after join. For example: EXPLAIN SELECT count(*) FROM functional.alltypessmall a LEFT JOIN (SELECT id, upper(string_col) AS upper_val FROM functional.alltypestiny) b ON a.id=b.id WHERE b.upper_val='1'; +------------------------------------------------------------+ | Explain String | +------------------------------------------------------------+ | Max Per-Host Resource Reservation: Memory=1.95MB Threads=5 | | Per-Host Resource Estimates: Memory=86MB | | Codegen disabled by planner | | | | PLAN-ROOT SINK | | | | | 06:AGGREGATE [FINALIZE] | | | output: count:merge(*) | | | row-size=8B cardinality=1 | | | | | 05:EXCHANGE [UNPARTITIONED] | | | | | 03:AGGREGATE | | | output: count(*) | | | row-size=8B cardinality=1 | | | | | 02:HASH JOIN [LEFT OUTER JOIN, BROADCAST] | | | hash predicates: a.id = id | | | other predicates: upper(string_col) = '1' <-eval after join | | row-size=21B cardinality=100 | | | | | |--04:EXCHANGE [BROADCAST] | | | | | | | 01:SCAN HDFS [functional.alltypestiny] | | | HDFS partitions=4/4 files=4 size=460B | | | predicates: upper(string_col) = '1' <-push down | | | row-size=17B cardinality=4 | | | | | 00:SCAN HDFS [functional.alltypessmall a] | | HDFS partitions=4/4 files=4 size=6.32KB | | row-size=4B cardinality=100 | +------------------------------------------------------------+ Change-Id: I6c23a45aeb5dd1aa06a95c9aa8628ecbe37ef2c1 --- M fe/src/main/java/org/apache/impala/analysis/Analyzer.java M fe/src/main/java/org/apache/impala/planner/SingleNodePlanner.java M testdata/workloads/functional-planner/queries/PlannerTest/inline-view.test 3 files changed, 57 insertions(+), 3 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/47/15047/2 -- To view, visit http://gerrit.cloudera.org:8080/15047 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I6c23a45aeb5dd1aa06a95c9aa8628ecbe37ef2c1 Gerrit-Change-Number: 15047 Gerrit-PatchSet: 2 Gerrit-Owner: xqhe <hexianqing...@126.com>