From 83d8fafcc1d1d030e591bbf30255c32ee953808d Mon Sep 17 00:00:00 2001 From: Ankita Victor-Levi Date: Fri, 13 Mar 2026 16:43:35 +0530 Subject: [PATCH 1/2] Fix Some(null) in ExpressionConverter --- .../expression/ExpressionConverter.scala | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) 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 cc8d204cd53c..f0665ffcf0a2 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 @@ -284,21 +284,21 @@ object ExpressionConverter extends SQLConfHelper with Logging { expr: Expression, attributeSeq: Seq[Attribute], expressionsMap: Map[Class[_], String]): Option[ExpressionTransformer] = { - Option { - expr match { - case pythonUDF: PythonUDF => - replacePythonUDFWithExpressionTransformer(pythonUDF, attributeSeq, expressionsMap) - case scalaUDF: ScalaUDF => - replaceScalaUDFWithExpressionTransformer(scalaUDF, attributeSeq, expressionsMap) - case _ if HiveUDFTransformer.isHiveUDF(expr) => - BackendsApiManager.getSparkPlanExecApiInstance.genHiveUDFTransformer(expr, attributeSeq) - case staticInvoke: StaticInvoke => - replaceStaticInvokeWithExpressionTransformer(staticInvoke, attributeSeq, expressionsMap) - case invoke: Invoke => - replaceInvokeWithExpressionTransformer(invoke, attributeSeq, expressionsMap) - case _ => - null - } + expr match { + case pythonUDF: PythonUDF => + Some(replacePythonUDFWithExpressionTransformer(pythonUDF, attributeSeq, expressionsMap)) + case scalaUDF: ScalaUDF => + Some(replaceScalaUDFWithExpressionTransformer(scalaUDF, attributeSeq, expressionsMap)) + case _ if HiveUDFTransformer.isHiveUDF(expr) => + Some( + BackendsApiManager.getSparkPlanExecApiInstance.genHiveUDFTransformer(expr, attributeSeq)) + case staticInvoke: StaticInvoke => + Some( + replaceStaticInvokeWithExpressionTransformer(staticInvoke, attributeSeq, expressionsMap)) + case invoke: Invoke => + Some(replaceInvokeWithExpressionTransformer(invoke, attributeSeq, expressionsMap)) + case _ => + None } } From aa525678fb31d4d4fc9f19b82186d1b91ccf9f7e Mon Sep 17 00:00:00 2001 From: Ankita Victor-Levi Date: Tue, 17 Mar 2026 12:22:22 +0530 Subject: [PATCH 2/2] Address PR comments --- .../apache/gluten/expression/ExpressionConverter.scala | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) 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 f0665ffcf0a2..ab2cbbea71d4 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 @@ -286,17 +286,17 @@ object ExpressionConverter extends SQLConfHelper with Logging { expressionsMap: Map[Class[_], String]): Option[ExpressionTransformer] = { expr match { case pythonUDF: PythonUDF => - Some(replacePythonUDFWithExpressionTransformer(pythonUDF, attributeSeq, expressionsMap)) + Option(replacePythonUDFWithExpressionTransformer(pythonUDF, attributeSeq, expressionsMap)) case scalaUDF: ScalaUDF => - Some(replaceScalaUDFWithExpressionTransformer(scalaUDF, attributeSeq, expressionsMap)) + Option(replaceScalaUDFWithExpressionTransformer(scalaUDF, attributeSeq, expressionsMap)) case _ if HiveUDFTransformer.isHiveUDF(expr) => - Some( + Option( BackendsApiManager.getSparkPlanExecApiInstance.genHiveUDFTransformer(expr, attributeSeq)) case staticInvoke: StaticInvoke => - Some( + Option( replaceStaticInvokeWithExpressionTransformer(staticInvoke, attributeSeq, expressionsMap)) case invoke: Invoke => - Some(replaceInvokeWithExpressionTransformer(invoke, attributeSeq, expressionsMap)) + Option(replaceInvokeWithExpressionTransformer(invoke, attributeSeq, expressionsMap)) case _ => None }