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

Reply via email to