Xianqing He has posted comments on this change. ( http://gerrit.cloudera.org:8080/16266 )
Change subject: IMPALA-5022: Outer join simplification ...................................................................... Patch Set 11: (7 comments) http://gerrit.cloudera.org:8080/#/c/16266/10//COMMIT_MSG Commit Message: http://gerrit.cloudera.org:8080/#/c/16266/10//COMMIT_MSG@9 PS10, Line 9: > nit. It may be useful to break long text lines so that each is of 90 charac Done http://gerrit.cloudera.org:8080/#/c/16266/10//COMMIT_MSG@22 PS10, Line 22: = > nit. It may be nice to insert a new line after each example to allow bette Done http://gerrit.cloudera.org:8080/#/c/16266/10//COMMIT_MSG@27 PS10, Line 27: : = A > These are very good examples. Can you add one more for the following? Done http://gerrit.cloudera.org:8080/#/c/16266/10/fe/src/main/java/org/apache/impala/analysis/Analyzer.java File fe/src/main/java/org/apache/impala/analysis/Analyzer.java: http://gerrit.cloudera.org:8080/#/c/16266/10/fe/src/main/java/org/apache/impala/analysis/Analyzer.java@3348 PS10, Line 3348: > nit. an outer join Done http://gerrit.cloudera.org:8080/#/c/16266/10/testdata/workloads/functional-planner/queries/PlannerTest/card-outer-join.test File testdata/workloads/functional-planner/queries/PlannerTest/card-outer-join.test: http://gerrit.cloudera.org:8080/#/c/16266/10/testdata/workloads/functional-planner/queries/PlannerTest/card-outer-join.test@95 PS10, Line 95: t outer join tpch.orders o on c.c_custkey = o.o_custkey : where c.c_name = 'foo' > Seems to me the conversion is not correct (no null-rejecting predicate on t c.c_name = 'foo' proves that the tuple c can't have null values, so we can convert it to an inner join. http://gerrit.cloudera.org:8080/#/c/16266/10/testdata/workloads/functional-planner/queries/PlannerTest/outer-to-inner-joins.test File testdata/workloads/functional-planner/queries/PlannerTest/outer-to-inner-joins.test: http://gerrit.cloudera.org:8080/#/c/16266/10/testdata/workloads/functional-planner/queries/PlannerTest/outer-to-inner-joins.test@52 PS10, Line 52: one of the t2's columns is not null the disjunctive conjunct is true, so this : # is null-rejecting conjunct > Converting it to inner join seems a bug to me, as I did not see a null-reje For t1.int_col + t2.int_col < 10, it maybe true only t2.int_col is not null. At least one of the t2's columns is not null the disjunctive conjunct is true, so this is null-rejecting predicate http://gerrit.cloudera.org:8080/#/c/16266/10/testdata/workloads/functional-planner/queries/PlannerTest/outer-to-inner-joins.test@242 PS10, Line 242: d = t2.id > The ZEROIFNULL test on t2.zip does not provide information on whether t2.id t2.zip can be null but t3.test_zip can't be null. This is null-rejecting predicate for t3. -- To view, visit http://gerrit.cloudera.org:8080/16266 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Iaa7804033fac68e93f33c387dc68ef67f803e93e Gerrit-Change-Number: 16266 Gerrit-PatchSet: 11 Gerrit-Owner: Xianqing He <hexianqing...@126.com> Gerrit-Reviewer: Impala Public Jenkins <impala-public-jenk...@cloudera.com> Gerrit-Reviewer: Qifan Chen <qc...@cloudera.com> Gerrit-Reviewer: Shant Hovsepian <sh...@cloudera.com> Gerrit-Reviewer: Xianqing He <hexianqing...@126.com> Gerrit-Comment-Date: Tue, 25 Aug 2020 08:19:47 +0000 Gerrit-HasComments: Yes