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

taiyang-li pushed a commit to branch fake_add_bolt_backend
in repository https://gitbox.apache.org/repos/asf/gluten.git

commit b59a38602fc54841a86074847e7e18449251894e
Author: liyang.127 <[email protected]>
AuthorDate: Sat Jun 27 21:18:02 2026 +0800

    [GLUTEN][CORE] Add backend hook for sequence expressions
---
 .../scala/org/apache/gluten/backendsapi/SparkPlanExecApi.scala    | 8 ++++++++
 .../scala/org/apache/gluten/expression/ExpressionConverter.scala  | 5 +++++
 2 files changed, 13 insertions(+)

diff --git 
a/gluten-substrait/src/main/scala/org/apache/gluten/backendsapi/SparkPlanExecApi.scala
 
b/gluten-substrait/src/main/scala/org/apache/gluten/backendsapi/SparkPlanExecApi.scala
index ee347c183e..6aa2f7f974 100644
--- 
a/gluten-substrait/src/main/scala/org/apache/gluten/backendsapi/SparkPlanExecApi.scala
+++ 
b/gluten-substrait/src/main/scala/org/apache/gluten/backendsapi/SparkPlanExecApi.scala
@@ -286,6 +286,14 @@ trait SparkPlanExecApi {
     throw new GlutenNotSupportException("map_entries is not supported")
   }
 
+  /** Transform sequence to Substrait. */
+  def genSequenceTransformer(
+      substraitExprName: String,
+      children: Seq[ExpressionTransformer],
+      expr: Sequence): ExpressionTransformer = {
+    GenericExpressionTransformer(substraitExprName, children, expr)
+  }
+
   /** Transform array filter to Substrait. */
   def genArrayFilterTransformer(
       substraitExprName: String,
diff --git 
a/gluten-substrait/src/main/scala/org/apache/gluten/expression/ExpressionConverter.scala
 
b/gluten-substrait/src/main/scala/org/apache/gluten/expression/ExpressionConverter.scala
index 7969d30502..bb52801e8e 100644
--- 
a/gluten-substrait/src/main/scala/org/apache/gluten/expression/ExpressionConverter.scala
+++ 
b/gluten-substrait/src/main/scala/org/apache/gluten/expression/ExpressionConverter.scala
@@ -340,6 +340,11 @@ object ExpressionConverter extends SQLConfHelper with 
Logging {
           substraitExprName,
           replaceWithExpressionTransformer0(m.child, attributeSeq, 
expressionsMap),
           m)
+      case s: Sequence =>
+        BackendsApiManager.getSparkPlanExecApiInstance.genSequenceTransformer(
+          substraitExprName,
+          s.children.map(replaceWithExpressionTransformer0(_, attributeSeq, 
expressionsMap)),
+          s)
       case e: Explode =>
         ExplodeTransformer(
           substraitExprName,


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

Reply via email to