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
The following commit(s) were added to refs/heads/master by this push:
new fc2a9ec5cae [FLINK-39385][table] `TIMESTAMPDIFF` fails for `TIME`
fc2a9ec5cae is described below
commit fc2a9ec5caea77ebd137c6eb44c0ba9e6a71bf48
Author: Sergey Nuyanzin <[email protected]>
AuthorDate: Thu Apr 2 09:39:43 2026 +0200
[FLINK-39385][table] `TIMESTAMPDIFF` fails for `TIME`
---
.../apache/flink/table/planner/codegen/calls/ScalarOperatorGens.scala | 4 +++-
.../apache/flink/table/planner/expressions/TemporalTypesTest.scala | 2 ++
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git
a/flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/planner/codegen/calls/ScalarOperatorGens.scala
b/flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/planner/codegen/calls/ScalarOperatorGens.scala
index 0373d2a0df0..dff256101ac 100644
---
a/flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/planner/codegen/calls/ScalarOperatorGens.scala
+++
b/flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/planner/codegen/calls/ScalarOperatorGens.scala
@@ -40,7 +40,7 @@ import org.apache.flink.table.types.logical.LogicalTypeRoot._
import org.apache.flink.table.types.logical.utils.LogicalTypeChecks
import
org.apache.flink.table.types.logical.utils.LogicalTypeChecks.{getFieldTypes,
getPrecision, getScale}
import
org.apache.flink.table.types.logical.utils.LogicalTypeMerging.findCommonType
-import org.apache.flink.table.utils.DateTimeUtils.MILLIS_PER_DAY
+import org.apache.flink.table.utils.DateTimeUtils.{MILLIS_PER_DAY,
MILLIS_PER_SECOND}
import org.apache.flink.table.utils.EncodingUtils
import org.apache.flink.types.ColumnList
import org.apache.flink.util.Preconditions.checkArgument
@@ -271,6 +271,8 @@ object ScalarOperatorGens {
case (DATE, TIMESTAMP_WITHOUT_TIME_ZONE) =>
val rightTerm = s"$rr.getMillisecond()"
s"($ll * ${MILLIS_PER_DAY}L) $op $rightTerm"
+ case (TIME_WITHOUT_TIME_ZONE, TIME_WITHOUT_TIME_ZONE) =>
+ s"($ll $op $rr)"
}
}
}
diff --git
a/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/planner/expressions/TemporalTypesTest.scala
b/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/planner/expressions/TemporalTypesTest.scala
index 15fb9017205..4c23ce89c81 100644
---
a/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/planner/expressions/TemporalTypesTest.scala
+++
b/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/planner/expressions/TemporalTypesTest.scala
@@ -1327,6 +1327,8 @@ class TemporalTypesTest extends ExpressionTestBase {
testSqlApi("TIMESTAMPDIFF(MONTH, TIME '00:00:00', TIMESTAMP '2021-02-04
12:00:00')", "613")
testSqlApi("TIMESTAMPDIFF(MONTH, DATE '2021-01-04', TIME '00:00:00')",
"-612")
testSqlApi("TIMESTAMPDIFF(MONTH, TIME '00:00:00', DATE '2021-02-04')",
"613")
+ testSqlApi("TIMESTAMPDIFF(SECOND, TIME'10:10:10', TIME'11:11:11')",
"3661");
+ testSqlApi("TIMESTAMPDIFF(MINUTE, TIME'08:00:00', TIME'11:11:00')", "191");
}
@Test