Github user cloud-fan commented on a diff in the pull request:
https://github.com/apache/spark/pull/13663#discussion_r67225615
--- Diff:
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/complexTypeCreator.scala
---
@@ -60,18 +60,24 @@ case class CreateArray(children: Seq[Expression])
extends Expression {
ctx.INPUT_ROW,
children.zipWithIndex.map { case (e, i) =>
val eval = e.genCode(ctx)
- eval.code + s"""
- if (${eval.isNull}) {
--- End diff --
it's not easy, for example:
```
boolean isNull = false || false;
if (isNull) ...
```
this should be optimized, but is very hard for our string based codegen
framework.
I think it makes more sense to leave them for javac or JIT, again, the
readability of generated java code doesn't matter.
BTW, it's a good idea to avoid `zeroOutNullBytes`, if we can figure out a
simple and clear way to do it.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]