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]

Reply via email to