Csaba Ringhofer has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/18731 )

Change subject: IMPALA-11424: Support pushdown non-equi join predicate from 
OUTER/INNER JOIN to SCANNODE
......................................................................


Patch Set 11:

(7 comments)

http://gerrit.cloudera.org:8080/#/c/18731/11//COMMIT_MSG
Commit Message:

http://gerrit.cloudera.org:8080/#/c/18731/11//COMMIT_MSG@13
PS11, Line 13:  1. Only support LEFT_OUTER_JOIN, RIGHT_OUTER_JOIN, INNER_JOIN;
Is there a specific reason for not supporting cross joins?


http://gerrit.cloudera.org:8080/#/c/18731/11/common/thrift/Query.thrift
File common/thrift/Query.thrift:

http://gerrit.cloudera.org:8080/#/c/18731/11/common/thrift/Query.thrift@600
PS11, Line 600:   // Whether to enable pushdown under non-equi predicates, 
default is false
missing line


http://gerrit.cloudera.org:8080/#/c/18731/11/common/thrift/Query.thrift@600
PS11, Line 600:   // Whether to enable pushdown under non-equi predicates, 
default is false
              :   149: optional bool enable_none_equal_predicate_push_down = 
false;
What is the reason for keeping it as default false? My understanding is that 
the change does not affect the results of the queries, so it is not a breaking 
change.


http://gerrit.cloudera.org:8080/#/c/18731/11/fe/src/main/java/org/apache/impala/analysis/Expr.java
File fe/src/main/java/org/apache/impala/analysis/Expr.java:

http://gerrit.cloudera.org:8080/#/c/18731/11/fe/src/main/java/org/apache/impala/analysis/Expr.java@1933
PS11, Line 1933: weight
What does removing weight means here?


http://gerrit.cloudera.org:8080/#/c/18731/11/testdata/workloads/functional-planner/queries/PlannerTest/none-equal-predicate-push-down.test
File 
testdata/workloads/functional-planner/queries/PlannerTest/none-equal-predicate-push-down.test:

http://gerrit.cloudera.org:8080/#/c/18731/11/testdata/workloads/functional-planner/queries/PlannerTest/none-equal-predicate-push-down.test@5
PS11, Line 5: testtbl
I think that it would be better to use a non-empty table like 
functional.alltypesagg. A future optimization may remove empty tables from the 
plan.

Also, it would useful to have a test with Parquet/ORC/Kudu to check if the 
derived predicate is used for stat/dictionary filtering.


http://gerrit.cloudera.org:8080/#/c/18731/11/testdata/workloads/functional-planner/queries/PlannerTest/none-equal-predicate-push-down.test@7
PS11, Line 7: 2
I only see numbers in the tests - does this optimization work with other types 
too, e.g. string, timestamps?


http://gerrit.cloudera.org:8080/#/c/18731/11/tests/query_test/test_none_equi_predicate_pushdown.py
File tests/query_test/test_none_equi_predicate_pushdown.py:

http://gerrit.cloudera.org:8080/#/c/18731/11/tests/query_test/test_none_equi_predicate_pushdown.py@32
PS11, Line 32: ENABLE_NONE_EQUAL_PREDICATE_PUSH_DOWN
Can you also run to same test case with 
ENABLE_NONE_EQUAL_PREDICATE_PUSH_DOWN=false? It would ensure that it doesn't 
change the results.



--
To view, visit http://gerrit.cloudera.org:8080/18731
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ie3ce23cbd7522a209c830504f329b972d67bc263
Gerrit-Change-Number: 18731
Gerrit-PatchSet: 11
Gerrit-Owner: Baike Xia <[email protected]>
Gerrit-Reviewer: Aman Sinha <[email protected]>
Gerrit-Reviewer: Baike Xia <[email protected]>
Gerrit-Reviewer: Csaba Ringhofer <[email protected]>
Gerrit-Reviewer: Impala Public Jenkins <[email protected]>
Gerrit-Reviewer: Quanlong Huang <[email protected]>
Gerrit-Comment-Date: Thu, 20 Oct 2022 19:21:18 +0000
Gerrit-HasComments: Yes

Reply via email to