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]
