Github user kiszk commented on a diff in the pull request:
https://github.com/apache/spark/pull/20035#discussion_r158029035
--- Diff:
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/generators.scala
---
@@ -214,11 +214,15 @@ case class Stack(children: Seq[Expression]) extends
Generator {
// Create the collection.
val wrapperClass = classOf[mutable.WrappedArray[_]].getName
- ctx.addMutableState(
+ val wrappedArray = ctx.addMutableState(
s"$wrapperClass<InternalRow>",
- ev.value,
- v => s"$v = $wrapperClass$$.MODULE$$.make($rowData);", useFreshName
= false)
- ev.copy(code = code, isNull = "false")
+ "stackWrappedArray",
+ v => s"$v = $wrapperClass$$.MODULE$$.make($rowData);")
+ ev.copy(code =
+ s"""
+ |$code
+ |$wrapperClass<InternalRow> ${ev.value} = $wrappedArray;
+ """.stripMargin, isNull = "false")
--- End diff --
This change does not use `inline = true` for correct code generation.
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]