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]