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