File tree Expand file tree Collapse file tree
backends-velox/src/main/scala/org/apache/gluten/execution Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -298,19 +298,8 @@ object ColumnarPartialProjectExec {
298298 }
299299
300300 /**
301- * A generic Catalyst expression that Gluten/Velox cannot offload to native, i.e. its class is not
302- * registered in [[ExpressionMappings.expressionsMap ]]. Such expressions would otherwise reach
303- * expression conversion and fail at runtime. By recognizing them here, partial project can pull
304- * them out to a row-based ArrowProjection alias.
305- *
306- * We only treat an expression as "unmapped" when it is safe to evaluate in row-based projection:
307- * - deterministic (non-deterministic expressions are not safe to move around)
308- * - not a [[ScalaUDF ]] or Hive UDF (handled by dedicated UDF fallback/offload logic)
309- * - not [[Unevaluable ]] (cannot be evaluated in a row-based projection at all)
310- * - not a [[LambdaFunction ]] (higher-order function body, handled by its parent)
311- * Leaf/structural nodes (Literal / attribute references / NamedExpression such as Alias) are
312- * excluded so that recursion can descend to the real unmapped sub-expression instead of pulling
313- * out the whole wrapper.
301+ * Returns true for generic catalyst expressions that Velox cannot offload and should be pulled
302+ * into ColumnarPartialProject, excluding ScalaUDF/HiveUDF and non-row-evaluable wrappers.
314303 */
315304 private def isUnmappedGlutenExpr (expr : Expression ): Boolean = expr match {
316305 case _ : ScalaUDF => false
You can’t perform that action at this time.
0 commit comments