This is an automated email from the ASF dual-hosted git repository.
snuyanzin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/flink.git
The following commit(s) were added to refs/heads/master by this push:
new 80188ebf064 [FLINK-40021][table] `AND` for pushdown filters should be
in uppercase
80188ebf064 is described below
commit 80188ebf064601f2844678c0e965e376da4e7cb7
Author: Sergey Nuyanzin <[email protected]>
AuthorDate: Tue Jun 30 13:09:50 2026 +0200
[FLINK-40021][table] `AND` for pushdown filters should be in uppercase
---
.../table/planner/plan/abilities/source/FilterPushDownSpec.java | 2 +-
.../plan/rules/logical/PushFilterInCalcIntoTableSourceRuleTest.xml | 6 +++---
.../plan/rules/logical/PushFilterIntoTableSourceScanRuleTest.xml | 6 +++---
.../flink/table/planner/plan/stream/sql/FilterableSourceTest.xml | 2 +-
4 files changed, 8 insertions(+), 8 deletions(-)
diff --git
a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/plan/abilities/source/FilterPushDownSpec.java
b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/plan/abilities/source/FilterPushDownSpec.java
index 108329cea04..eab8eb4dbe6 100644
---
a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/plan/abilities/source/FilterPushDownSpec.java
+++
b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/plan/abilities/source/FilterPushDownSpec.java
@@ -191,7 +191,7 @@ public final class FilterPushDownSpec extends
SourceAbilitySpecBase {
return String.format(
"filter=[%s]",
expressionStrs.stream()
- .reduce((l, r) -> String.format("and(%s, %s)", l, r))
+ .reduce((l, r) -> String.format("AND(%s, %s)", l, r))
.orElse(""));
}
diff --git
a/flink-table/flink-table-planner/src/test/resources/org/apache/flink/table/planner/plan/rules/logical/PushFilterInCalcIntoTableSourceRuleTest.xml
b/flink-table/flink-table-planner/src/test/resources/org/apache/flink/table/planner/plan/rules/logical/PushFilterInCalcIntoTableSourceRuleTest.xml
index 0e22f4d6cae..146c1c55029 100644
---
a/flink-table/flink-table-planner/src/test/resources/org/apache/flink/table/planner/plan/rules/logical/PushFilterInCalcIntoTableSourceRuleTest.xml
+++
b/flink-table/flink-table-planner/src/test/resources/org/apache/flink/table/planner/plan/rules/logical/PushFilterInCalcIntoTableSourceRuleTest.xml
@@ -212,7 +212,7 @@ LogicalProject(name=[$0], id=[$1], amount=[$2], price=[$3])
</Resource>
<Resource name="optimized rel plan">
<![CDATA[
-FlinkLogicalTableSourceScan(table=[[default_catalog, default_database,
MyTable, filter=[and(>(amount, 2), <(amount, 10))]]], fields=[name, id, amount,
price])
+FlinkLogicalTableSourceScan(table=[[default_catalog, default_database,
MyTable, filter=[AND(>(amount, 2), <(amount, 10))]]], fields=[name, id, amount,
price])
]]>
</Resource>
</TestCase>
@@ -231,7 +231,7 @@ LogicalProject(name=[$0], id=[$1], amount=[$2],
virtualField=[$3], price=[$4])
<Resource name="optimized rel plan">
<![CDATA[
FlinkLogicalCalc(select=[name, id, amount, +(amount, 1) AS virtualField,
price])
-+- FlinkLogicalTableSourceScan(table=[[default_catalog, default_database,
VirtualTable, filter=[and(>(amount, 2), <(amount, 10))]]], fields=[name, id,
amount, price])
++- FlinkLogicalTableSourceScan(table=[[default_catalog, default_database,
VirtualTable, filter=[AND(>(amount, 2), <(amount, 10))]]], fields=[name, id,
amount, price])
]]>
</Resource>
</TestCase>
@@ -248,7 +248,7 @@ LogicalProject(a=[$0], b=[$1])
</Resource>
<Resource name="optimized rel plan">
<![CDATA[
-FlinkLogicalTableSourceScan(table=[[default_catalog, default_database, MTable,
filter=[and(=(LOWER(a), _UTF-16LE'foo':VARCHAR(2147483647) CHARACTER SET
"UTF-16LE"), =(UPPER(b), _UTF-16LE'bar':VARCHAR(2147483647) CHARACTER SET
"UTF-16LE"))]]], fields=[a, b])
+FlinkLogicalTableSourceScan(table=[[default_catalog, default_database, MTable,
filter=[AND(=(LOWER(a), _UTF-16LE'foo':VARCHAR(2147483647) CHARACTER SET
"UTF-16LE"), =(UPPER(b), _UTF-16LE'bar':VARCHAR(2147483647) CHARACTER SET
"UTF-16LE"))]]], fields=[a, b])
]]>
</Resource>
</TestCase>
diff --git
a/flink-table/flink-table-planner/src/test/resources/org/apache/flink/table/planner/plan/rules/logical/PushFilterIntoTableSourceScanRuleTest.xml
b/flink-table/flink-table-planner/src/test/resources/org/apache/flink/table/planner/plan/rules/logical/PushFilterIntoTableSourceScanRuleTest.xml
index 3f68f46432f..c28a91adaa8 100644
---
a/flink-table/flink-table-planner/src/test/resources/org/apache/flink/table/planner/plan/rules/logical/PushFilterIntoTableSourceScanRuleTest.xml
+++
b/flink-table/flink-table-planner/src/test/resources/org/apache/flink/table/planner/plan/rules/logical/PushFilterIntoTableSourceScanRuleTest.xml
@@ -222,7 +222,7 @@ LogicalProject(name=[$0], id=[$1], amount=[$2], price=[$3])
<Resource name="optimized rel plan">
<![CDATA[
LogicalProject(name=[$0], id=[$1], amount=[$2], price=[$3])
-+- LogicalTableScan(table=[[default_catalog, default_database, MyTable,
filter=[and(>(amount, 2), <(amount, 10))]]])
++- LogicalTableScan(table=[[default_catalog, default_database, MyTable,
filter=[AND(>(amount, 2), <(amount, 10))]]])
]]>
</Resource>
</TestCase>
@@ -242,7 +242,7 @@ LogicalProject(name=[$0], id=[$1], amount=[$2],
virtualField=[$3], price=[$4])
<![CDATA[
LogicalProject(name=[$0], id=[$1], amount=[$2], virtualField=[$3], price=[$4])
+- LogicalProject(name=[$0], id=[$1], amount=[$2], virtualField=[+($2, 1)],
price=[$3])
- +- LogicalTableScan(table=[[default_catalog, default_database,
VirtualTable, filter=[and(>(amount, 2), <(amount, 10))]]])
+ +- LogicalTableScan(table=[[default_catalog, default_database,
VirtualTable, filter=[AND(>(amount, 2), <(amount, 10))]]])
]]>
</Resource>
</TestCase>
@@ -260,7 +260,7 @@ LogicalProject(a=[$0], b=[$1])
<Resource name="optimized rel plan">
<![CDATA[
LogicalProject(a=[$0], b=[$1])
-+- LogicalTableScan(table=[[default_catalog, default_database, MTable,
filter=[and(=(LOWER(a), _UTF-16LE'foo':VARCHAR(2147483647) CHARACTER SET
"UTF-16LE"), =(UPPER(b), _UTF-16LE'bar':VARCHAR(2147483647) CHARACTER SET
"UTF-16LE"))]]])
++- LogicalTableScan(table=[[default_catalog, default_database, MTable,
filter=[AND(=(LOWER(a), _UTF-16LE'foo':VARCHAR(2147483647) CHARACTER SET
"UTF-16LE"), =(UPPER(b), _UTF-16LE'bar':VARCHAR(2147483647) CHARACTER SET
"UTF-16LE"))]]])
]]>
</Resource>
</TestCase>
diff --git
a/flink-table/flink-table-planner/src/test/resources/org/apache/flink/table/planner/plan/stream/sql/FilterableSourceTest.xml
b/flink-table/flink-table-planner/src/test/resources/org/apache/flink/table/planner/plan/stream/sql/FilterableSourceTest.xml
index 7f29b56ef83..b0062bc8bba 100644
---
a/flink-table/flink-table-planner/src/test/resources/org/apache/flink/table/planner/plan/stream/sql/FilterableSourceTest.xml
+++
b/flink-table/flink-table-planner/src/test/resources/org/apache/flink/table/planner/plan/stream/sql/FilterableSourceTest.xml
@@ -87,7 +87,7 @@ LogicalProject(name=[$0], event_time=[$1])
</Resource>
<Resource name="optimized exec plan">
<![CDATA[
-TableSourceScan(table=[[default_catalog, default_database, NoWatermark,
filter=[and(=(LOWER(name), _UTF-16LE'foo':VARCHAR(2147483647) CHARACTER SET
"UTF-16LE"), =(UPPER(name), _UTF-16LE'FOO':VARCHAR(2147483647) CHARACTER SET
"UTF-16LE"))]]], fields=[name, event_time])
+TableSourceScan(table=[[default_catalog, default_database, NoWatermark,
filter=[AND(=(LOWER(name), _UTF-16LE'foo':VARCHAR(2147483647) CHARACTER SET
"UTF-16LE"), =(UPPER(name), _UTF-16LE'FOO':VARCHAR(2147483647) CHARACTER SET
"UTF-16LE"))]]], fields=[name, event_time])
]]>
</Resource>
</TestCase>