This is an automated email from the ASF dual-hosted git repository.

yuanzhou pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-gluten.git


The following commit(s) were added to refs/heads/main by this push:
     new f74d31cc50 [GLUTEN-7589][VL] Support date_trunc function (#7611)
f74d31cc50 is described below

commit f74d31cc5045d582b57a1bb04fff8b0dffd78a6a
Author: Mingliang Zhu <[email protected]>
AuthorDate: Sat Apr 19 03:48:00 2025 +0800

    [GLUTEN-7589][VL] Support date_trunc function (#7611)
    
    Support date_trunc function
    
    Fixes: #7589
---
 .../execution/ScalarFunctionsValidateSuite.scala   | 28 ++++++++++++++++++++++
 .../DateTimeExpressionsTransformer.scala           |  3 +--
 2 files changed, 29 insertions(+), 2 deletions(-)

diff --git 
a/backends-velox/src/test/scala/org/apache/gluten/execution/ScalarFunctionsValidateSuite.scala
 
b/backends-velox/src/test/scala/org/apache/gluten/execution/ScalarFunctionsValidateSuite.scala
index b9ccf8b6c0..38c1802720 100644
--- 
a/backends-velox/src/test/scala/org/apache/gluten/execution/ScalarFunctionsValidateSuite.scala
+++ 
b/backends-velox/src/test/scala/org/apache/gluten/execution/ScalarFunctionsValidateSuite.scala
@@ -1725,4 +1725,32 @@ abstract class ScalarFunctionsValidateSuite extends 
FunctionsValidateSuite {
         }
     }
   }
+
+  test("date_trunc") {
+    withTable("t") {
+      sql("create table t (c0 TIMESTAMP) using parquet")
+      sql("insert into t values(Timestamp('2015-07-22 10:01:40.123456'))")
+      runQueryAndCompare("""
+                           |SELECT
+                           |  date_trunc('yy',c0) as t1,
+                           |  date_trunc('yyyy', c0) as t2,
+                           |  date_trunc('year', c0) as t3,
+                           |  date_trunc('quarter', c0) as t4,
+                           |  date_trunc('mon', c0) as t5,
+                           |  date_trunc('month', c0) as t6,
+                           |  date_trunc('mm', c0) as t7,
+                           |  date_trunc('week', c0) as t8,
+                           |  date_trunc('dd', c0) as t9,
+                           |  date_trunc('day', c0) as t10,
+                           |  date_trunc('hour', c0) as t11,
+                           |  date_trunc('minute', c0) as t12,
+                           |  date_trunc('second', c0) as t13,
+                           |  date_trunc('millisecond', c0) as t14,
+                           |  date_trunc('microsecond', c0) as t15
+                           |FROM t
+                           |""".stripMargin) {
+        checkGlutenOperatorMatch[ProjectExecTransformer]
+      }
+    }
+  }
 }
diff --git 
a/gluten-substrait/src/main/scala/org/apache/gluten/expression/DateTimeExpressionsTransformer.scala
 
b/gluten-substrait/src/main/scala/org/apache/gluten/expression/DateTimeExpressionsTransformer.scala
index 505ca33ea7..39dec5d3fd 100644
--- 
a/gluten-substrait/src/main/scala/org/apache/gluten/expression/DateTimeExpressionsTransformer.scala
+++ 
b/gluten-substrait/src/main/scala/org/apache/gluten/expression/DateTimeExpressionsTransformer.scala
@@ -44,8 +44,7 @@ case class TruncTimestampTransformer(
     original: TruncTimestamp)
   extends ExpressionTransformer {
   override def children: Seq[ExpressionTransformer] = {
-    val timeZoneId = original.timeZoneId.map(timeZoneId => 
LiteralTransformer(timeZoneId))
-    Seq(format, timestamp) ++ timeZoneId
+    Seq(format, timestamp)
   }
 }
 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to