Riza Suminto has posted comments on this change. ( http://gerrit.cloudera.org:8080/23793 )
Change subject: IMPALA-14092 Part3: Enable predicate pushdown for paimon table. ...................................................................... Patch Set 4: (9 comments) http://gerrit.cloudera.org:8080/#/c/23793/4/common/thrift/ImpalaService.thrift File common/thrift/ImpalaService.thrift: http://gerrit.cloudera.org:8080/#/c/23793/4/common/thrift/ImpalaService.thrift@1077 PS4, Line 1077: // Enables predicate pushdown for Paimon scan plan nodes. If disabled, expressions : // evaluated by Paimon are not pushed down the scanner node. : PAIMON_PREDICATE_PUSHDOWN_ENABLED = 199 I still think this query option is not necessary, and Paimon scanner should always do predicate pushdown if it can. http://gerrit.cloudera.org:8080/#/c/23793/3/fe/src/main/java/org/apache/impala/planner/PaimonScanNode.java File fe/src/main/java/org/apache/impala/planner/PaimonScanNode.java: http://gerrit.cloudera.org:8080/#/c/23793/3/fe/src/main/java/org/apache/impala/planner/PaimonScanNode.java@107 PS3, Line 107: applyPaimonPredicatePushDownIfAvailable(analyzer); > I checked some complex sql, I think it is after expression rewrite. Ack http://gerrit.cloudera.org:8080/#/c/23793/3/fe/src/main/java/org/apache/impala/planner/PaimonScanNode.java@316 PS3, Line 316: + "predicates: " + Expr.getExplainString(conjuncts_, detailLevel) + "\n"); : } : if (!predicateExtractor.getPushedPredicates().isEmpty()) { : result.append(detailPrefix + "paimon predicates: " : + Expr.getExplainString(predicateExtractor.getPushedExprs(), detailLevel) : + "\n"); : } : if (!predicateExtractor.getPartitionPredicates().isEmpty()) { : result.append(detailPrefix + "paimon partition predicates: " : + Expr.getExplainString( : > Done Done http://gerrit.cloudera.org:8080/#/c/23793/3/fe/src/main/java/org/apache/impala/planner/paimon/ImpalaExprConverter.java File fe/src/main/java/org/apache/impala/planner/paimon/ImpalaExprConverter.java: http://gerrit.cloudera.org:8080/#/c/23793/3/fe/src/main/java/org/apache/impala/planner/paimon/ImpalaExprConverter.java@58 PS3, Line 58: import java.sql.Timestamp; : import java.time.LocalDateTime; > Done Done http://gerrit.cloudera.org:8080/#/c/23793/3/fe/src/main/java/org/apache/impala/planner/paimon/ImpalaExprConverter.java@60 PS3, Line 60: import java.time.format.DateTimeFormatter; : import java.util.Arrays; > Done Done http://gerrit.cloudera.org:8080/#/c/23793/3/fe/src/main/java/org/apache/impala/planner/paimon/ImpalaExprConverter.java@222 PS3, Line 222: aType(type).getPrimitiveTy > It is supported, will cover the nanoseconds case. Done http://gerrit.cloudera.org:8080/#/c/23793/4/testdata/workloads/functional-query/queries/QueryTest/paimon-ppd-profile.test File testdata/workloads/functional-query/queries/QueryTest/paimon-ppd-profile.test: http://gerrit.cloudera.org:8080/#/c/23793/4/testdata/workloads/functional-query/queries/QueryTest/paimon-ppd-profile.test@6 PS4, Line 6: ---- RUNTIME_PROFILE nit: Please validate the predicate from the query plan as well. http://gerrit.cloudera.org:8080/#/c/23793/4/tests/query_test/test_paimon.py File tests/query_test/test_paimon.py: http://gerrit.cloudera.org:8080/#/c/23793/4/tests/query_test/test_paimon.py@60 PS4, Line 60: test_paimon_ppd Spell this out: test_paimon_predicate_push_down http://gerrit.cloudera.org:8080/#/c/23793/4/tests/query_test/test_paimon.py@61 PS4, Line 61: paimon-ppd-profile Spell this out: paimon-predicate-push-down -- To view, visit http://gerrit.cloudera.org:8080/23793 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Iee07fa35de8381121a20b2976d6424626d705483 Gerrit-Change-Number: 23793 Gerrit-PatchSet: 4 Gerrit-Owner: ji chen <[email protected]> Gerrit-Reviewer: Impala Public Jenkins <[email protected]> Gerrit-Reviewer: Riza Suminto <[email protected]> Gerrit-Reviewer: Zoltan Borok-Nagy <[email protected]> Gerrit-Reviewer: ji chen <[email protected]> Gerrit-Comment-Date: Fri, 02 Jan 2026 18:12:29 +0000 Gerrit-HasComments: Yes
