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 }
