Martijn Visser created FLINK-40778:
--------------------------------------
Summary: JdbcTablePlanTest.testFilterPushdown fails against Flink
2.4 because of the upper-case AND in the filter digest
Key: FLINK-40778
URL: https://issues.apache.org/jira/browse/FLINK-40778
Project: Flink
Issue Type: Bug
Components: Connectors / JDBC
Affects Versions: jdbc-5.0.0
Reporter: Martijn Visser
Assignee: Martijn Visser
Fix For: jdbc-5.0.0
FLINK-40021 changed how pushed-down filters are joined in the plan digest, from
and(...) to AND(...). That change is only in Flink 2.4. Since FLINK-40723 the
weekly run builds main against 2.4-SNAPSHOT, and
JdbcTablePlanTest.testFilterPushdown now fails there:
Expected:
TableSourceScan(table=[[default_catalog, default_database, jdbc,
filter=[and(OR(=(id, 900001:BIGINT), >=(double_col, -1000.23:DECIMAL(6, 2))),
OR(<>(time_col, 11:11:11), >=(double_col, -1000.23:DECIMAL(6, 2))))],
project=[id, time_col, real_col]]], fields=[id, time_col, real_col])
but was:
TableSourceScan(table=[[default_catalog, default_database, jdbc,
filter=[AND(OR(=(id, 900001:BIGINT), >=(double_col, -1000.23:DECIMAL(6, 2))),
OR(<>(time_col, 11:11:11), >=(double_col, -1000.23:DECIMAL(6, 2))))],
project=[id, time_col, real_col]]], fields=[id, time_col, real_col])
https://github.com/apache/flink-connector-jdbc/actions/runs/35779813059/job/106922160950
Push CI still builds main against 2.1.3, 2.2.1 and 2.3.0, which use the
lower-case digest, so one reference plan can't pass on every version. The test
needs a reference plan for each digest, selected by Flink version.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)