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
