diff --git a/backends-velox/src/main/scala/org/apache/gluten/backendsapi/velox/VeloxBackend.scala b/backends-velox/src/main/scala/org/apache/gluten/backendsapi/velox/VeloxBackend.scala index 990991c71660..6b5e188f026b 100644 --- a/backends-velox/src/main/scala/org/apache/gluten/backendsapi/velox/VeloxBackend.scala +++ b/backends-velox/src/main/scala/org/apache/gluten/backendsapi/velox/VeloxBackend.scala @@ -347,10 +347,10 @@ object VeloxBackendSettings extends BackendSettingsApi { orderSpec.foreach( order => order.dataType match { - case ByteType | ShortType | IntegerType | LongType | DateType => + case ByteType | ShortType | IntegerType | LongType => case _ => throw new GlutenNotSupportException( - "Only integral type & date type are" + + "Only integral type is" + " supported for sort key when literal bound type is used!") }) case _ => diff --git a/backends-velox/src/test/scala/org/apache/gluten/execution/TestOperator.scala b/backends-velox/src/test/scala/org/apache/gluten/execution/TestOperator.scala index dcae4920d01c..9c1e0112bbf8 100644 --- a/backends-velox/src/test/scala/org/apache/gluten/execution/TestOperator.scala +++ b/backends-velox/src/test/scala/org/apache/gluten/execution/TestOperator.scala @@ -300,6 +300,13 @@ class TestOperator extends VeloxWholeStageTransformerSuite with AdaptiveSparkPla Seq("sort", "streaming").foreach { windowType => withSQLConf("spark.gluten.sql.columnar.backend.velox.window.type" -> windowType) { + runQueryAndCompare( + "select max(l_partkey) over" + + " (partition by l_suppkey order by l_commitdate" + + " RANGE BETWEEN 1 PRECEDING AND CURRENT ROW) from lineitem ") { + checkSparkOperatorMatch[WindowExec] + } + runQueryAndCompare( "select max(l_partkey) over" + " (partition by l_suppkey order by l_orderkey" + diff --git a/gluten-core/src/main/scala/org/apache/gluten/utils/PullOutProjectHelper.scala b/gluten-core/src/main/scala/org/apache/gluten/utils/PullOutProjectHelper.scala index 12055f9e9721..8e83a0ab6c19 100644 --- a/gluten-core/src/main/scala/org/apache/gluten/utils/PullOutProjectHelper.scala +++ b/gluten-core/src/main/scala/org/apache/gluten/utils/PullOutProjectHelper.scala @@ -22,7 +22,7 @@ import org.apache.gluten.exception.{GlutenException, GlutenNotSupportException} import org.apache.spark.sql.catalyst.expressions._ import org.apache.spark.sql.catalyst.expressions.aggregate.{AggregateExpression, AggregateFunction} import org.apache.spark.sql.execution.aggregate._ -import org.apache.spark.sql.types.{ByteType, DateType, IntegerType, LongType, ShortType} +import org.apache.spark.sql.types.{ByteType, IntegerType, LongType, ShortType} import java.util.concurrent.atomic.AtomicInteger @@ -178,8 +178,8 @@ trait PullOutProjectHelper { protected def supportPreComputeRangeFrame(sortOrders: Seq[SortOrder]): Boolean = { sortOrders.forall { _.dataType match { - case ByteType | ShortType | IntegerType | LongType | DateType => true - // Only integral type & date type are supported for sort key with Range Frame + case ByteType | ShortType | IntegerType | LongType => true + // Only integral type are supported for sort key with Range Frame. case _ => false } }