This is an automated email from the ASF dual-hosted git repository.
lincoln pushed a commit to branch release-1.20
in repository https://gitbox.apache.org/repos/asf/flink.git
The following commit(s) were added to refs/heads/release-1.20 by this push:
new c2240b605aa [FLINK-38824][table] Fix incorrect default values for
primitive types
c2240b605aa is described below
commit c2240b605aa76698c8e6cadcf65e03fb1ad648f2
Author: dylanhz <[email protected]>
AuthorDate: Wed Dec 24 19:10:34 2025 +0800
[FLINK-38824][table] Fix incorrect default values for primitive types
This closes #27364.
---
.../flink/table/planner/codegen/CodeGenUtils.scala | 4 +++-
.../planner/runtime/stream/sql/CalcITCase.scala | 23 ++++++++++++++++++++++
2 files changed, 26 insertions(+), 1 deletion(-)
diff --git
a/flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/planner/codegen/CodeGenUtils.scala
b/flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/planner/codegen/CodeGenUtils.scala
index ecd5a765ca2..ae0315f4bc0 100644
---
a/flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/planner/codegen/CodeGenUtils.scala
+++
b/flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/planner/codegen/CodeGenUtils.scala
@@ -296,7 +296,9 @@ object CodeGenUtils {
// ordered by type root definition
case CHAR | VARCHAR => s"$BINARY_STRING.EMPTY_UTF8"
case BOOLEAN => "false"
- case TINYINT | SMALLINT | INTEGER | DATE | TIME_WITHOUT_TIME_ZONE |
INTERVAL_YEAR_MONTH => "-1"
+ case TINYINT => "((byte) -1)"
+ case SMALLINT => "((short) -1)"
+ case INTEGER | DATE | TIME_WITHOUT_TIME_ZONE | INTERVAL_YEAR_MONTH => "-1"
case BIGINT | INTERVAL_DAY_TIME => "-1L"
case FLOAT => "-1.0f"
case DOUBLE => "-1.0d"
diff --git
a/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/planner/runtime/stream/sql/CalcITCase.scala
b/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/planner/runtime/stream/sql/CalcITCase.scala
index 076b00411cb..91d34988067 100644
---
a/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/planner/runtime/stream/sql/CalcITCase.scala
+++
b/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/planner/runtime/stream/sql/CalcITCase.scala
@@ -48,6 +48,7 @@ import java.time.Instant
import java.util
import scala.collection.JavaConversions._
+import scala.collection.JavaConverters.asScalaIteratorConverter
class CalcITCase extends StreamingTestBase {
@@ -822,4 +823,26 @@ class CalcITCase extends StreamingTestBase {
val expected = List("16")
assertThat(sink.getAppendResults.sorted).isEqualTo(expected.sorted)
}
+
+ @Test
+ def testPrimitiveDefaultValues(): Unit = {
+ val sql =
+ """
+ |SELECT
+ | a[1]
+ | ,b[1]
+ |FROM (
+ | VALUES (CAST(ARRAY[1,2] AS ARRAY<SMALLINT>), CAST(ARRAY[2,3] AS
ARRAY<TINYINT>))
+ |) t(a, b)
+ |""".stripMargin
+
+ val result = tEnv
+ .executeSql(sql)
+ .collect()
+ .asScala
+ .toList
+ .map(_.toString)
+ val expected = List("1,2")
+ assertThat(result).isEqualTo(expected)
+ }
}