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 a9c40d34d95dbb74aed030b7d417a53bd5527ac1 Author: Sergey Nuyanzin <[email protected]> AuthorDate: Wed May 13 14:12:18 2026 +0200 [hotfix] Disable CAST with FORMAT as not supported yet --- .../src/main/java/org/apache/calcite/sql/fun/SqlCastFunction.java | 4 ++++ .../org/apache/flink/table/planner/plan/stream/sql/CalcTest.scala | 8 ++++++++ 2 files changed, 12 insertions(+) diff --git a/flink-table/flink-table-planner/src/main/java/org/apache/calcite/sql/fun/SqlCastFunction.java b/flink-table/flink-table-planner/src/main/java/org/apache/calcite/sql/fun/SqlCastFunction.java index ca6277dd205..7b6112f9672 100644 --- a/flink-table/flink-table-planner/src/main/java/org/apache/calcite/sql/fun/SqlCastFunction.java +++ b/flink-table/flink-table-planner/src/main/java/org/apache/calcite/sql/fun/SqlCastFunction.java @@ -16,6 +16,7 @@ */ package org.apache.calcite.sql.fun; +import org.apache.flink.table.api.ValidationException; import org.apache.flink.table.planner.calcite.FlinkTypeFactory; import org.apache.flink.table.planner.plan.schema.BitmapRelDataType; import org.apache.flink.table.types.logical.utils.LogicalTypeCasts; @@ -236,6 +237,9 @@ public class SqlCastFunction extends SqlFunction { if (SqlUtil.isNullLiteral(left, false) || left instanceof SqlDynamicParam) { return true; } + if (!SqlUtil.isNull(format)) { + throw new ValidationException("CAST with FORMAT is not yet supported"); + } RelDataType validatedNodeType = callBinding.getValidator().getValidatedNodeType(left); RelDataType returnType = SqlTypeUtil.deriveType(callBinding, right); if (!canCastFrom(returnType, validatedNodeType)) { diff --git a/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/planner/plan/stream/sql/CalcTest.scala b/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/planner/plan/stream/sql/CalcTest.scala index d6c47d48459..18c8c3118ed 100644 --- a/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/planner/plan/stream/sql/CalcTest.scala +++ b/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/planner/plan/stream/sql/CalcTest.scala @@ -270,6 +270,14 @@ class CalcTest extends TableTestBase { util.verifyExecPlan(sqlQuery) } + @Test + def testCastWithFormat(): Unit = { + val sqlQuery = "SELECT CAST('2017-12-11' AS INTEGER FORMAT 'YYYY')" + assertThatExceptionOfType(classOf[ValidationException]) + .isThrownBy(() => util.verifyExecPlan(sqlQuery)) + .withMessageContaining("CAST with FORMAT is not yet supported") + } + @Test def testCastOfTestToSameType(): Unit = { val rowDataType = "ROW<`data` ROW<`nested` ROW<`trId` STRING NOT NULL>>NOT NULL>"
