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 8: (3 comments) http://gerrit.cloudera.org:8080/#/c/23793/8/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/8/fe/src/main/java/org/apache/impala/planner/paimon/ImpalaExprConverter.java@67 PS8, Line 67: private static final Pattern LIKE_STARTS_OR_ENDS_WITH_PATTERN = : Pattern.compile("([^%_]*)(?:%+)([^%_]*)"); : private static final Pattern LIKE_ENDSWITH_PATTER = Pattern.compile("(?:%+)([^%_]*)"); : private static final Pattern LIKE_STARTS_WITH_PATTERN = : Pattern.compile("([^%_]*)(?:%+)"); : private static final Pattern LIKE_EQUALS_PATTERN = Pattern.compile("([^%_]*)"); : private static final Pattern LIKE_ENDS_WITH_ESCAPED_WILDCARD_PATTERN = : Pattern.compile(".*\\\\%$"); > Instead of all these regexes, I think it would be cleaner to write custom c ok, will use this for cleaner code. http://gerrit.cloudera.org:8080/#/c/23793/8/fe/src/test/java/org/apache/impala/planner/paimon/PaimonImpalaExprConverterTest.java File fe/src/test/java/org/apache/impala/planner/paimon/PaimonImpalaExprConverterTest.java: http://gerrit.cloudera.org:8080/#/c/23793/8/fe/src/test/java/org/apache/impala/planner/paimon/PaimonImpalaExprConverterTest.java@241 PS8, Line 241: String.format("select * from %s where %s like 'aaa%%bbb'", TBL, col), : PREDICATE_OP.STARTS_ENDS_WITH, "aaa", "bbb"); > Though if for 'aaa%bbb%ccc', we pushdown the followings: sorry for the late reponse, I was working on a very challenging poc, working from day to night, will update code recently. http://gerrit.cloudera.org:8080/#/c/23793/8/fe/src/test/java/org/apache/impala/planner/paimon/PaimonImpalaExprConverterTest.java@281 PS8, Line 281: checkAcceptableLikeExpr( : String.format("select * from %s where %s like 'a\\\\%%b'", TBL, col), : PREDICATE_OP.STARTS_ENDS_WITH, "a\\\\", "b"); > I think the results of these should be verified by e2e tests on actual data ok, will be revised in the next version. -- 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: 8 Gerrit-Owner: ji chen <[email protected]> Gerrit-Reviewer: Impala Public Jenkins <[email protected]> Gerrit-Reviewer: Riza Suminto <[email protected]> Gerrit-Reviewer: Steve Carlin <[email protected]> Gerrit-Reviewer: Zoltan Borok-Nagy <[email protected]> Gerrit-Reviewer: ji chen <[email protected]> Gerrit-Comment-Date: Sun, 15 Mar 2026 06:50:26 +0000 Gerrit-HasComments: Yes
