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

yao 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 a8f3f0c8fa [GLUTEN-11016][VL] Validate regex pattern of spilt function 
(#11017)
a8f3f0c8fa is described below

commit a8f3f0c8fa0684f978c768da1b4b9f305817ad98
Author: Zhen Wang <[email protected]>
AuthorDate: Wed Nov 5 11:00:42 2025 +0800

    [GLUTEN-11016][VL] Validate regex pattern of spilt function (#11017)
    
    * [GLUTEN-11016][VL] Validate regex pattern of spilt function
    
    * test
---
 .../test/scala/org/apache/gluten/execution/FallbackSuite.scala    | 8 ++++++++
 cpp/velox/substrait/SubstraitToVeloxPlanValidator.cc              | 3 ++-
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git 
a/backends-velox/src/test/scala/org/apache/gluten/execution/FallbackSuite.scala 
b/backends-velox/src/test/scala/org/apache/gluten/execution/FallbackSuite.scala
index c357e488b6..70ef9e19ec 100644
--- 
a/backends-velox/src/test/scala/org/apache/gluten/execution/FallbackSuite.scala
+++ 
b/backends-velox/src/test/scala/org/apache/gluten/execution/FallbackSuite.scala
@@ -304,4 +304,12 @@ class FallbackSuite extends 
VeloxWholeStageTransformerSuite with AdaptiveSparkPl
         }
     }
   }
+
+  test("fallback on spilt with unsupported regex") {
+    runQueryAndCompare("SELECT split(cast(c1 as string), 
'(?<=\\\\}),(?=\\\\{)') from tmp1") {
+      df =>
+        val columnarToRow = 
collectColumnarToRow(df.queryExecution.executedPlan)
+        assert(columnarToRow == 1)
+    }
+  }
 }
diff --git a/cpp/velox/substrait/SubstraitToVeloxPlanValidator.cc 
b/cpp/velox/substrait/SubstraitToVeloxPlanValidator.cc
index ad6c0e15a8..ae66c7e5f0 100644
--- a/cpp/velox/substrait/SubstraitToVeloxPlanValidator.cc
+++ b/cpp/velox/substrait/SubstraitToVeloxPlanValidator.cc
@@ -56,7 +56,8 @@ const std::unordered_set<std::string> kRegexFunctions = {
     "regexp_extract",
     "regexp_extract_all",
     "regexp_replace",
-    "rlike"};
+    "rlike",
+    "split"};
 
 const std::unordered_set<std::string> kBlackList =
     {"split_part", "sequence", "approx_percentile", "map_from_arrays"};


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

Reply via email to