Github user cloud-fan commented on a diff in the pull request:

    https://github.com/apache/spark/pull/20035#discussion_r158071129
  
    --- Diff: 
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/generators.scala
 ---
    @@ -214,11 +213,12 @@ case class Stack(children: Seq[Expression]) extends 
Generator {
     
         // Create the collection.
         val wrapperClass = classOf[mutable.WrappedArray[_]].getName
    -    ctx.addMutableState(
    -      s"$wrapperClass<InternalRow>",
    -      ev.value,
    -      v => s"$v = $wrapperClass$$.MODULE$$.make($rowData);", useFreshName 
= false)
    -    ev.copy(code = code, isNull = "false")
    +    ev.copy(code =
    +      s"""
    +         |InternalRow[] $rowData = new InternalRow[$numRows];
    --- End diff --
    
    this creates a large array every time, and I don't think we have data copy 
issues for generator expressions...


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org
For additional commands, e-mail: reviews-h...@spark.apache.org

Reply via email to