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

yuanzhou pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-gluten.git


The following commit(s) were added to refs/heads/main by this push:
     new ff3e5a0aea [VL] Enable get_array_struct_fields function (#10313)
ff3e5a0aea is described below

commit ff3e5a0aea9ebd123f889d5adfc23c4d94f53be0
Author: Zhen Li <[email protected]>
AuthorDate: Sat Aug 16 00:54:44 2025 +0800

    [VL] Enable get_array_struct_fields function (#10313)
---
 .../functions/ScalarFunctionsValidateSuite.scala    | 21 +++++++++++++++++++++
 .../substrait/SubstraitToVeloxPlanValidator.cc      |  2 +-
 2 files changed, 22 insertions(+), 1 deletion(-)

diff --git 
a/backends-velox/src/test/scala/org/apache/gluten/functions/ScalarFunctionsValidateSuite.scala
 
b/backends-velox/src/test/scala/org/apache/gluten/functions/ScalarFunctionsValidateSuite.scala
index 81259f7595..1d376f5e23 100644
--- 
a/backends-velox/src/test/scala/org/apache/gluten/functions/ScalarFunctionsValidateSuite.scala
+++ 
b/backends-velox/src/test/scala/org/apache/gluten/functions/ScalarFunctionsValidateSuite.scala
@@ -1228,4 +1228,25 @@ abstract class ScalarFunctionsValidateSuite extends 
FunctionsValidateSuite {
         }
     }
   }
+
+  test("get_array_struct_fields") {
+    withTempPath {
+      path =>
+        val df = Seq(
+          Seq((100, "foo"), (200, "bar"), (300, null)),
+          Seq((400, "baz"), (500, "qux"))
+        ).toDF("items")
+        df.write.mode("overwrite").parquet(path.getCanonicalPath)
+        
spark.read.parquet(path.getCanonicalPath).createOrReplaceTempView("view")
+
+        runQueryAndCompare("""
+                             |SELECT
+                             |  items._1 AS item_ids,
+                             |  items._2 AS item_values
+                             |FROM view
+        """.stripMargin) {
+          checkGlutenOperatorMatch[ProjectExecTransformer]
+        }
+    }
+  }
 }
diff --git a/cpp/velox/substrait/SubstraitToVeloxPlanValidator.cc 
b/cpp/velox/substrait/SubstraitToVeloxPlanValidator.cc
index ebc0a0675b..2bc083fd20 100644
--- a/cpp/velox/substrait/SubstraitToVeloxPlanValidator.cc
+++ b/cpp/velox/substrait/SubstraitToVeloxPlanValidator.cc
@@ -59,7 +59,7 @@ const std::unordered_set<std::string> kRegexFunctions = {
     "rlike"};
 
 const std::unordered_set<std::string> kBlackList =
-    {"split_part", "sequence", "approx_percentile", "get_array_struct_fields", 
"map_from_arrays"};
+    {"split_part", "sequence", "approx_percentile", "map_from_arrays"};
 } // namespace
 
 bool SubstraitToVeloxPlanValidator::parseVeloxType(


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to