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

richox pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/auron.git


The following commit(s) were added to refs/heads/master by this push:
     new 1fa0489b [AURON #1538] Implement native function of reverse. (#1540)
1fa0489b is described below

commit 1fa0489bfaeaecff23deca640af2184a25b3d92a
Author: slfan1989 <[email protected]>
AuthorDate: Fri Oct 31 11:11:43 2025 +0800

    [AURON #1538] Implement native function of reverse. (#1540)
    
    Signed-off-by: slfan1989 <[email protected]>
---
 .../scala/org/apache/spark/sql/auron/AuronQuerySuite.scala  | 13 +++++++++++++
 .../scala/org/apache/spark/sql/auron/NativeConverters.scala |  2 ++
 2 files changed, 15 insertions(+)

diff --git 
a/spark-extension-shims-spark/src/test/scala/org/apache/spark/sql/auron/AuronQuerySuite.scala
 
b/spark-extension-shims-spark/src/test/scala/org/apache/spark/sql/auron/AuronQuerySuite.scala
index a31eaf7e..26382f11 100644
--- 
a/spark-extension-shims-spark/src/test/scala/org/apache/spark/sql/auron/AuronQuerySuite.scala
+++ 
b/spark-extension-shims-spark/src/test/scala/org/apache/spark/sql/auron/AuronQuerySuite.scala
@@ -304,4 +304,17 @@ class AuronQuerySuite
       checkAnswer(sql(q), Seq(expected))
     }
   }
+
+  test("reverse basic") {
+    Seq(
+      ("select reverse('abc')", Row("cba")),
+      ("select reverse('spark')", Row("kraps")),
+      ("select reverse('hello world')", Row("dlrow olleh")),
+      ("select reverse('12345')", Row("54321")),
+      ("select reverse('a')", Row("a")), // Edge case: single character
+      ("select reverse('')", Row("")), // Edge case: empty string
+      ("select reverse('hello' || ' world')", Row("dlrow olleh"))).foreach { 
case (q, expected) =>
+      checkAnswer(sql(q), Seq(expected))
+    }
+  }
 }
diff --git 
a/spark-extension/src/main/scala/org/apache/spark/sql/auron/NativeConverters.scala
 
b/spark-extension/src/main/scala/org/apache/spark/sql/auron/NativeConverters.scala
index 0566d5f6..3fd82a98 100644
--- 
a/spark-extension/src/main/scala/org/apache/spark/sql/auron/NativeConverters.scala
+++ 
b/spark-extension/src/main/scala/org/apache/spark/sql/auron/NativeConverters.scala
@@ -846,6 +846,8 @@ object NativeConverters extends Logging {
         buildExtScalarFunction("NullIf", left :: right :: Nil, e.dataType)
       case Md5(_1) =>
         buildScalarFunction(pb.ScalarFunction.MD5, 
Seq(unpackBinaryTypeCast(_1)), StringType)
+      case Reverse(_1) =>
+        buildScalarFunction(pb.ScalarFunction.Reverse, 
Seq(unpackBinaryTypeCast(_1)), StringType)
       case Sha2(_1, Literal(224, _)) =>
         buildExtScalarFunction("Sha224", Seq(unpackBinaryTypeCast(_1)), 
StringType)
       case Sha2(_1, Literal(0, _)) =>

Reply via email to