Xianqing He has posted comments on this change. ( http://gerrit.cloudera.org:8080/16266 )
Change subject: IMPALA-5022 part 1/2: Outer join simplification ...................................................................... Patch Set 16: (3 comments) http://gerrit.cloudera.org:8080/#/c/16266/13/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/13/fe/src/main/java/org/apache/impala/analysis/Analyzer.java@3277 PS13, Line 3277: */ : private boolean isNullableConjunct(Expr e, List<TupleId> tupleIds) { : // A clause like "t1.v1 IS NOT NULL OR t2.v2 IS NOT NULL" and t1 in 'tupleIds' does : // not prove that t1.v1 can't be NULL, because when t2.v2 IS NOT NULL, t1.v1 can be : // null. But a clause like "t1.v1 IS NOT NULL OR t1.v2 IS NOT NULL" proves that the : // t1 row as a whole can't be all-NULL. : Lis > Yes and I agree. My comment was about collecting all of them once into a se I changed to use the set retainAll method, but we should collect all of them once into Set<Set<TupleId>>. E.g t1.id>10 and t2.id<10 or t2.id>50 or t2.name='a', the collecting tuple ids: 1,2 2 2 So the predicate is null-rejecting for t2, but for t1 it is not null-rejecting. I test it and the performance is almost the same. Or maybe I misunderstood your comment. http://gerrit.cloudera.org:8080/#/c/16266/12/fe/src/main/java/org/apache/impala/analysis/FunctionCallExpr.java File fe/src/main/java/org/apache/impala/analysis/FunctionCallExpr.java: http://gerrit.cloudera.org:8080/#/c/16266/12/fe/src/main/java/org/apache/impala/analysis/FunctionCallExpr.java@327 PS12, Line 327: f > It seems to me the list in impala_functions.py is not complete. From https: OK, I see. I changed this as the doc. But I think the 'case' is not FunctionCallExpr and I didn't add it http://gerrit.cloudera.org:8080/#/c/16266/14/testdata/workloads/functional-query/queries/QueryTest/outer-to-inner-joins.test File testdata/workloads/functional-query/queries/QueryTest/outer-to-inner-joins.test: http://gerrit.cloudera.org:8080/#/c/16266/14/testdata/workloads/functional-query/queries/QueryTest/outer-to-inner-joins.test@168 PS14, Line 168: n > Extra spaces. Done -- 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: 16 Gerrit-Owner: Xianqing He <[email protected]> Gerrit-Reviewer: Impala Public Jenkins <[email protected]> Gerrit-Reviewer: Qifan Chen <[email protected]> Gerrit-Reviewer: Shant Hovsepian <[email protected]> Gerrit-Reviewer: Xianqing He <[email protected]> Gerrit-Comment-Date: Sat, 29 Aug 2020 04:21:33 +0000 Gerrit-HasComments: Yes
