Skip to content

Commit 7f3ec8a

Browse files
committed
fix: Fallback reverse function with array input
1 parent 0d2c5fc commit 7f3ec8a

2 files changed

Lines changed: 13 additions & 0 deletions

File tree

spark/src/main/scala/org/apache/comet/serde/QueryPlanSerde.scala

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -915,6 +915,9 @@ object QueryPlanSerde extends Logging with CometExprShim {
915915
case l @ Length(child) if child.dataType == BinaryType =>
916916
withInfo(l, "Length on BinaryType is not supported")
917917
None
918+
case r @ Reverse(child) if child.dataType.isInstanceOf[ArrayType] =>
919+
withInfo(r, "Reverse on ArrayType is not supported")
920+
None
918921
case expr =>
919922
QueryPlanSerde.exprSerdeMap.get(expr.getClass) match {
920923
case Some(handler) =>

spark/src/test/scala/org/apache/comet/CometArrayExpressionSuite.scala

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -708,4 +708,14 @@ class CometArrayExpressionSuite extends CometTestBase with AdaptiveSparkPlanHelp
708708
}
709709
}
710710
}
711+
712+
test("test reverse function") {
713+
withTable("t1") {
714+
sql(
715+
"create table t1 using parquet as select sequence(id, id) as c1 from range(10)")
716+
// FIXME: Change checkSparkAnswer to checkSparkAnswerAndOperator after resolving
717+
// https://github.com/apache/datafusion-comet/issues/2476
718+
checkSparkAnswer("select reverse(c1) AS x FROM t1 ORDER BY c1")
719+
}
720+
}
711721
}

0 commit comments

Comments
 (0)