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

Reply via email to