Github user cloud-fan commented on a diff in the pull request:
https://github.com/apache/spark/pull/19827#discussion_r153235147
--- Diff:
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/codegen/GenerateUnsafeProjection.scala
---
@@ -167,9 +160,20 @@ object GenerateUnsafeProjection extends
CodeGenerator[Seq[Expression], UnsafePro
}
}
+ val writeFieldsCode = if (isTopLevel && row == null) {
--- End diff --
BTW this is the only place the input can be null, otherwise it's always
safe to replace the old `ctx.splitExpressions(row, ...)` with
```
ctx.splitExpressions(
expressions = ...,
funcName = ...,
arguments = Seq("InternalRow" -> row))
```
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]