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

commit 421ec89821888756253ec0a52192a410b31c3d9b
Author: Sergey Nuyanzin <[email protected]>
AuthorDate: Sun Feb 22 19:33:59 2026 +0100

    [FLINK-38624][table] Replace deprecated `RexBuilder#makeAbstractCast`
---
 .../flink/table/planner/calcite/RelTimeIndicatorConverter.java       | 3 ++-
 .../org/apache/flink/table/planner/connectors/DynamicSinkUtils.java  | 3 ++-
 .../apache/flink/table/planner/connectors/DynamicSourceUtils.java    | 2 +-
 .../planner/expressions/converter/converters/CastConverter.java      | 4 +++-
 .../planner/plan/rules/logical/LogicalWindowAggregateRuleBase.scala  | 5 +++--
 5 files changed, 11 insertions(+), 6 deletions(-)

diff --git 
a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/calcite/RelTimeIndicatorConverter.java
 
b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/calcite/RelTimeIndicatorConverter.java
index 168d4df4fb0..68fb063e3eb 100644
--- 
a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/calcite/RelTimeIndicatorConverter.java
+++ 
b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/calcite/RelTimeIndicatorConverter.java
@@ -705,7 +705,8 @@ public final class RelTimeIndicatorConverter extends 
RelHomogeneousShuttle {
             // cast rowTime indicator to regular timestamp
             return rexBuilder.makeAbstractCast(
                     timestamp(expr.getType().isNullable(), 
isTimestampLtzType(expr.getType())),
-                    expr);
+                    expr,
+                    false);
         } else if (isProctimeIndicatorType(expr.getType())) {
             // generate procTime access
             return 
rexBuilder.makeCall(FlinkSqlOperatorTable.PROCTIME_MATERIALIZE, expr);
diff --git 
a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/connectors/DynamicSinkUtils.java
 
b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/connectors/DynamicSinkUtils.java
index eb2a6b15d01..b2cc0b8e825 100644
--- 
a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/connectors/DynamicSinkUtils.java
+++ 
b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/connectors/DynamicSinkUtils.java
@@ -1008,7 +1008,8 @@ public final class DynamicSinkUtils {
                                                             
adjustByVirtualColumns(columns, pos);
                                                     return 
rexBuilder.makeAbstractCast(
                                                             
expectedRelDataType,
-                                                            
relBuilder.field(posAdjusted));
+                                                            
relBuilder.field(posAdjusted),
+                                                            false);
                                                 }))
                         .collect(Collectors.toList());
 
diff --git 
a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/connectors/DynamicSourceUtils.java
 
b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/connectors/DynamicSourceUtils.java
index b575f0916a0..d293342abb4 100644
--- 
a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/connectors/DynamicSourceUtils.java
+++ 
b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/connectors/DynamicSourceUtils.java
@@ -368,7 +368,7 @@ public final class DynamicSourceUtils {
                                         final MetadataColumn metadataColumn = 
(MetadataColumn) c;
                                         String columnName = 
metadataColumn.getName();
                                         return rexBuilder.makeAbstractCast(
-                                                relDataType, 
relBuilder.field(columnName));
+                                                relDataType, 
relBuilder.field(columnName), false);
                                     } else {
                                         return relBuilder.field(c.getName());
                                     }
diff --git 
a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/expressions/converter/converters/CastConverter.java
 
b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/expressions/converter/converters/CastConverter.java
index e091fa1d02e..384a4f12908 100644
--- 
a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/expressions/converter/converters/CastConverter.java
+++ 
b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/expressions/converter/converters/CastConverter.java
@@ -41,6 +41,8 @@ class CastConverter extends CustomizedConverter {
                         .createFieldTypeFromLogicalType(
                                 
targetType.getOutputDataType().getLogicalType());
 
-        return 
context.getRelBuilder().getRexBuilder().makeAbstractCast(targetRelDataType, 
child);
+        return context.getRelBuilder()
+                .getRexBuilder()
+                .makeAbstractCast(targetRelDataType, child, false);
     }
 }
diff --git 
a/flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/planner/plan/rules/logical/LogicalWindowAggregateRuleBase.scala
 
b/flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/planner/plan/rules/logical/LogicalWindowAggregateRuleBase.scala
index 92715a0bd30..d4659d6d48e 100644
--- 
a/flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/planner/plan/rules/logical/LogicalWindowAggregateRuleBase.scala
+++ 
b/flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/planner/plan/rules/logical/LogicalWindowAggregateRuleBase.scala
@@ -120,7 +120,8 @@ abstract class LogicalWindowAggregateRuleBase(description: 
String)
       ) {
         builder.getRexBuilder.makeAbstractCast(
           
builder.getRexBuilder.matchNullability(outAggGroupExpression0.getType, 
windowExpr),
-          outAggGroupExpression0)
+          outAggGroupExpression0,
+          false)
       } else {
         outAggGroupExpression0
       }
@@ -327,7 +328,7 @@ abstract class LogicalWindowAggregateRuleBase(description: 
String)
     if (isTimeIndicatorType(windowExpression.getType)) {
       // It's safe to simply cast the literal to time indicator type, because 
the window
       // expression column in group key would be projected out in the 
successor Project node.
-      rexBuilder.makeAbstractCast(windowExpression.getType, zeroLiteral)
+      rexBuilder.makeAbstractCast(windowExpression.getType, zeroLiteral, false)
     } else {
       zeroLiteral
     }

Reply via email to