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

    https://github.com/apache/spark/pull/22621#discussion_r222510592
  
    --- Diff: 
sql/core/src/main/scala/org/apache/spark/sql/execution/basicPhysicalOperators.scala
 ---
    @@ -453,45 +453,89 @@ case class RangeExec(range: 
org.apache.spark.sql.catalyst.plans.logical.Range)
         val localIdx = ctx.freshName("localIdx")
         val localEnd = ctx.freshName("localEnd")
         val range = ctx.freshName("range")
    -    val shouldStop = if (parent.needStopCheck) {
    -      s"if (shouldStop()) { $number = $value + ${step}L; return; }"
    +
    +    val processingLoop = if (parent.needStopCheck) {
    +      // TODO (cloud-fan): do we really need to do the stop check within 
batch?
    --- End diff --
    
    > mmmh, but localIdx would become localEnd then, right? So the UTs you 
added would fail, or am I missing something?
    
    You can pull my PR and try, the whole stage codegen is a little convoluted. 
`localIndex` is local and always starts with 0, `localEnd` is decided by the 
global `nextIndex`.


---

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

Reply via email to