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 c0e336a5 [AURON #1579] Fix and strengthen nvl2 unit test (previous
test was fundamentally wrong) (#1635)
c0e336a5 is described below
commit c0e336a5bb19e47705e9acf2055183d2c284b423
Author: Thomas <[email protected]>
AuthorDate: Sat Nov 22 22:26:35 2025 +0800
[AURON #1579] Fix and strengthen nvl2 unit test (previous test was
fundamentally wrong) (#1635)
---
.../spark/sql/auron/AuronFunctionSuite.scala | 31 +++++++++++++---------
1 file changed, 19 insertions(+), 12 deletions(-)
diff --git
a/spark-extension-shims-spark/src/test/scala/org/apache/spark/sql/auron/AuronFunctionSuite.scala
b/spark-extension-shims-spark/src/test/scala/org/apache/spark/sql/auron/AuronFunctionSuite.scala
index 5e09dc78..7fbb5d3d 100644
---
a/spark-extension-shims-spark/src/test/scala/org/apache/spark/sql/auron/AuronFunctionSuite.scala
+++
b/spark-extension-shims-spark/src/test/scala/org/apache/spark/sql/auron/AuronFunctionSuite.scala
@@ -18,6 +18,8 @@ package org.apache.spark.sql.auron
import java.text.SimpleDateFormat
+import scala.collection.mutable.ArrayBuffer
+
import org.apache.spark.sql.Row
import org.apache.spark.sql.execution.adaptive.AdaptiveSparkPlanHelper
@@ -522,18 +524,23 @@ class AuronFunctionSuite
test("test function nvl2") {
withTable("t1") {
- sql(
- "create table t1 using parquet as select 'base'" +
- " as base, 3 as exponent")
- val functions =
- """
- |select
- | nvl2(null, base, exponent), nvl2(4, base, exponent)
- |from t1
- """.stripMargin
-
- val df = sql(functions)
- checkAnswer(df, Seq(Row("base", 3)))
+ sql(s"""CREATE TABLE t1 USING PARQUET AS SELECT
+ |'X' AS str_val,
+ |100 AS int_val,
+ |array(1,2,3) AS arr_val,
+ |CAST(NULL AS STRING) AS null_str,
+ |CAST(NULL AS INT) AS null_int
+ |""".stripMargin)
+
+ val df = sql(s"""SELECT
+ |nvl2(null_int, int_val, 999) AS int_only,
+ |nvl2(1, str_val, int_val) AS has_str,
+ |nvl2(null_int, int_val, str_val) AS str_in_false,
+ |nvl2(1, arr_val, array(888)) AS has_array,
+ |nvl2(null_int, null_str, null_str) AS all_null
+ |FROM t1""".stripMargin)
+
+ checkAnswer(df, Row(999, "X", "X", ArrayBuffer(1, 2, 3), null))
}
}