Github user cloud-fan commented on a diff in the pull request: https://github.com/apache/spark/pull/19598#discussion_r148931334 --- Diff: sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/complexTypeExtractors.scala --- @@ -186,6 +186,7 @@ case class GetArrayStructFields( val values = ctx.freshName("values") val j = ctx.freshName("j") val row = ctx.freshName("row") + val nullCheckElement = if (!field.nullable) "false" else s"$row.isNullAt($ordinal)" --- End diff -- how about ``` val nullSafeEval = if (field.nullable) { s""" if ($row.isNullAt($ordinal)) { $values[$j] = null; } else """ } else "" ... ... $nullSafeEval { $values[$j] = ${ctx.getValue(row, field.dataType, ordinal.toString)}; } ```
--- --------------------------------------------------------------------- To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org