Gabriel39 opened a new pull request, #67933: URL: https://github.com/apache/doris/pull/67933
### What problem does this PR solve? Problem Summary: Paimon predicate conversion on branch-4.1 strips CAST from column references before building source filters. For a STRING column containing '05', ' 5', and '5', `CAST(code AS INT) = 5` can become the source predicate `code = '5'`, incorrectly pruning matching rows before Doris evaluates the original predicate. Decimal casts that reduce scale have the same risk. Only convert bare column references. Keep CAST predicates in Doris, preserving their value and null semantics. Ordinary column predicates can still be pushed down independently. This follows the conservative CAST policy already used by the connector on master. ### Release note Fix missing rows in Paimon queries with predicates on casted columns on branch-4.1. ### Check List (For Author) - Test: FE planner regression tests for CAST comparisons, IN/NOT IN, null checks, OR, independent AND conjuncts, and ordinary column pushdown. The 11 predicate-converter tests pass after reproducing 8 failures on the original code. FE Checkstyle passes with 0 violations. All 59 tests across PaimonPredicateConverterTest, PaimonScanNodeTest, and PaimonSourceTest pass. No external Paimon cluster was required for these FE tests. - Behavior changed: Yes. CAST column predicates remain in Doris instead of being rewritten into potentially stricter Paimon filters. This may reduce pushdown for otherwise safe casts. - Does this need documentation: No. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
