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>"

Reply via email to