haruki-830 opened a new pull request, #4484: URL: https://github.com/apache/flink-cdc/pull/4484
#### Summary This commit adds an explicit expression semantics option to YAML Transform. The default `LEGACY` mode preserves existing pipeline behavior, while the opt-in `FLINK_SQL` mode aligns supported predicates with Flink SQL semantics. #### Key Changes 1. Configurable Transform Expression Semantics - Added the `pipeline.transform.expression.semantics` option. - Added `LEGACY` as the default value to preserve backward compatibility. - Added `FLINK_SQL` as an opt-in mode for Flink SQL-compatible expression evaluation. - Propagated the configured semantics through the composer and Transform runtime. 2. Flink SQL-Compatible Predicate Semantics - Added SQL three-valued logic for `=`, `<>`, `<`, `<=`, `>`, and `>=`. - Added SQL-compatible `BETWEEN` / `NOT BETWEEN` and `IN` / `NOT IN` behavior. - Represents SQL `UNKNOWN` as a nullable `Boolean`. - Changed two-argument `LIKE` / `NOT LIKE` to use SQL `%` and `_` wildcards with whole-string matching. - Keeps rows in Transform filters only when the result is `TRUE`, while projections preserve `UNKNOWN` as `NULL`. 3. Test Coverage and Documentation - Added runtime unit tests for both legacy and Flink SQL semantics. - Added YAML Transform specs covering comparison, `BETWEEN`, `IN`, `LIKE`, and row-level filtering with `UNKNOWN`. - Added YAML configuration parsing coverage for the new option and its default value. - Documented the configuration and behavioral differences in both English and Chinese. #### JIRA Reference [https://issues.apache.org/jira/browse/FLINK-40203](url) -- 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]
