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]