Skip to content

Commit

Permalink
support GetStructField with scalar function as input
Browse files Browse the repository at this point in the history
  • Loading branch information
WangGuangxin committed Feb 7, 2025
1 parent 6cb0b56 commit 61047df
Showing 1 changed file with 4 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
*/
package org.apache.gluten.expression

import org.apache.gluten.exception.GlutenNotSupportException
import org.apache.gluten.expression.ConverterUtils.FunctionConfig
import org.apache.gluten.expression.ExpressionConverter.replaceWithExpressionTransformer
import org.apache.gluten.substrait.`type`.StructNode
Expand Down Expand Up @@ -56,7 +55,9 @@ case class VeloxGetStructFieldTransformer(
child: ExpressionTransformer,
ordinal: Int,
original: GetStructField)
extends UnaryExpressionTransformer {
extends BinaryExpressionTransformer {
override def left: ExpressionTransformer = child
override def right: ExpressionTransformer = LiteralTransformer(ordinal)
override def doTransform(args: Object): ExpressionNode = {
val childNode = child.doTransform(args)
childNode match {
Expand All @@ -70,8 +71,7 @@ case class VeloxGetStructFieldTransformer(
node.getTypeNode.asInstanceOf[StructNode].getFieldTypes.get(ordinal)
ExpressionBuilder.makeNullLiteral(nodeType)
case _ =>
throw new GlutenNotSupportException(
s"Unsupported child expression of GetStructField: $original.")
super.doTransform(args)
}
}
}
Expand Down

0 comments on commit 61047df

Please sign in to comment.