ji chen 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 3: (6 comments) http://gerrit.cloudera.org:8080/#/c/23793/3//COMMIT_MSG Commit Message: http://gerrit.cloudera.org:8080/#/c/23793/3//COMMIT_MSG@15 PS3, Line 15: We also introduce a query option: : PAIMON_PREDICATE_PUSHDOWN_ENABLED to turn on/off : the predicate pushdown, by default it is is enabled. > Since we have not officially support Paimon, can we make predicate push dow It is enabled by default, do you mean disable it by default? 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); > This is happen before or after expression rewrite? I checked some complex sql, I think it is after expression rewrite. http://gerrit.cloudera.org:8080/#/c/23793/3/fe/src/main/java/org/apache/impala/planner/PaimonScanNode.java@316 PS3, Line 316: 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( : predicateExtractor.getPartitionExprs_(), detailLevel) : + "\n"); : } > Add FE/Planner tests to show these new lines. 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@60 PS3, Line 60: public static final List<String> SUPPORT_FILTERS = Arrays.asList("=", "EqualNullSafe", : ">", ">=", "<", ">=", "In", "IsNull", "IsNotNull", "And", "Or", "Not"); > Looks like this can be private. Done http://gerrit.cloudera.org:8080/#/c/23793/3/fe/src/main/java/org/apache/impala/planner/paimon/ImpalaExprConverter.java@222 PS3, Line 222: yyyy-MM-dd HH:mm:ss.SSSSSS > Paimon does not support nanoseconds? It is supported, will cover the nanoseconds case. http://gerrit.cloudera.org:8080/#/c/23793/3/tests/query_test/test_paimon.py File tests/query_test/test_paimon.py: http://gerrit.cloudera.org:8080/#/c/23793/3/tests/query_test/test_paimon.py@60 PS3, Line 60: unique_database > I think you can drop unique_database since paimon-ppd-profile.test does not Done -- 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: 3 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: Thu, 18 Dec 2025 12:49:01 +0000 Gerrit-HasComments: Yes
