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

csy 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 2696f08a [AURON #1674] Fix: route UPPER to Spark_StringUpper and add 
tests (#1675)
2696f08a is described below

commit 2696f08a649d043aa8626214faee351a0306ca64
Author: Thomas <[email protected]>
AuthorDate: Mon Dec 1 11:53:16 2025 +0800

    [AURON #1674] Fix: route UPPER to Spark_StringUpper and add tests (#1675)
---
 .../datafusion-ext-functions/src/spark_strings.rs  |  2 +-
 .../org.apache.auron/AuronFunctionSuite.scala      | 22 ++++++++++++++++++++++
 .../apache/spark/sql/auron/NativeConverters.scala  |  2 +-
 3 files changed, 24 insertions(+), 2 deletions(-)

diff --git a/native-engine/datafusion-ext-functions/src/spark_strings.rs 
b/native-engine/datafusion-ext-functions/src/spark_strings.rs
index 83f526f9..cbbff685 100644
--- a/native-engine/datafusion-ext-functions/src/spark_strings.rs
+++ b/native-engine/datafusion-ext-functions/src/spark_strings.rs
@@ -52,7 +52,7 @@ pub fn string_upper(args: &[ColumnarValue]) -> 
Result<ColumnarValue> {
         ColumnarValue::Scalar(ScalarValue::Utf8(Some(str))) => 
Ok(ColumnarValue::Scalar(
             ScalarValue::Utf8(Some(str.to_uppercase())),
         )),
-        _ => df_execution_err!("string_lower only supports literal utf8"),
+        _ => df_execution_err!("string_upper only supports literal utf8"),
     }
 }
 
diff --git 
a/spark-extension-shims-spark/src/test/scala/org.apache.auron/AuronFunctionSuite.scala
 
b/spark-extension-shims-spark/src/test/scala/org.apache.auron/AuronFunctionSuite.scala
index 21fbf1cd..2b28ed78 100644
--- 
a/spark-extension-shims-spark/src/test/scala/org.apache.auron/AuronFunctionSuite.scala
+++ 
b/spark-extension-shims-spark/src/test/scala/org.apache.auron/AuronFunctionSuite.scala
@@ -443,4 +443,26 @@ class AuronFunctionSuite extends AuronQueryTest with 
BaseAuronSQLSuite {
       checkSparkAnswerAndOperator(functions)
     }
   }
+
+  test("upper and lower functions") {
+    withSQLConf() {
+      withTable("t1") {
+        sql(s"CREATE TABLE t1(id INT, name STRING) USING parquet")
+        sql(s"""
+             |INSERT INTO t1 VALUES
+             | (1, 'fooBar'),
+             | (2, 'foo Bar foo-bar FOO-BAR foO-barR'),
+             | (3, 'straße'),
+             | (4, 'CAFÉ'),
+             | (5, '世界'),
+             | (6, '世 界'),
+             | (7, ''),
+             | (8, NULL)
+            """.stripMargin)
+
+        checkSparkAnswerAndOperator(
+          s"SELECT id, name, UPPER(name) AS up, LOWER(name) AS low FROM t1")
+      }
+    }
+  }
 }
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 d322105b..4490cee1 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
@@ -866,7 +866,7 @@ object NativeConverters extends Logging {
         buildExtScalarFunction("Spark_StringLower", e.children, e.dataType)
       case e: Upper
           if 
sparkAuronConfig.getBoolean(SparkAuronConfiguration.CASE_CONVERT_FUNCTIONS_ENABLE)
 =>
-        buildExtScalarFunction("Spark_StringLower", e.children, e.dataType)
+        buildExtScalarFunction("Spark_StringUpper", e.children, e.dataType)
 
       case e: StringTrim =>
         buildScalarFunction(pb.ScalarFunction.Trim, e.srcStr +: 
e.trimStr.toSeq, e.dataType)

Reply via email to