Github user maropu commented on a diff in the pull request:
https://github.com/apache/spark/pull/22355#discussion_r215659345
--- Diff:
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/Projection.scala
---
@@ -178,15 +236,7 @@ object UnsafeProjection
exprs: Seq[Expression],
inputSchema: Seq[Attribute],
subexpressionEliminationEnabled: Boolean): UnsafeProjection = {
- val unsafeExprs = toUnsafeExprs(toBoundExprs(exprs, inputSchema))
- try {
- GenerateUnsafeProjection.generate(unsafeExprs,
subexpressionEliminationEnabled)
- } catch {
- case NonFatal(_) =>
- // We should have already seen the error message in `CodeGenerator`
- logWarning("Expr codegen error and falling back to interpreter
mode")
- InterpretedUnsafeProjection.createProjection(unsafeExprs)
- }
+ createObject(toUnsafeExprs(toBoundExprs(exprs, inputSchema)),
subexpressionEliminationEnabled)
--- End diff --
Removed the duplicated fallback logic here and reused the logic of
`CodeGeneratorWithInterpretedFallback`.
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]