Github user mgaido91 commented on a diff in the pull request: https://github.com/apache/spark/pull/19728#discussion_r150567337 --- Diff: sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/stringExpressions.scala --- @@ -126,18 +143,41 @@ case class ConcatWs(children: Seq[Expression]) // All children are strings. In that case we can construct a fixed size array. val evals = children.map(_.genCode(ctx)) - val inputs = evals.map { eval => - s"${eval.isNull} ? (UTF8String) null : ${eval.value}" - }.mkString(", ") - - ev.copy(evals.map(_.code).mkString("\n") + s""" - UTF8String ${ev.value} = UTF8String.concatWs($inputs); + val argNums = evals.length --- End diff -- this should be `evals.length -1`, or even better, I'd suggest to declare two variables: `sep` and `strings` (or the name you prefer) to hold `head` and `tail`. This would help readability too IMHO.
--- --------------------------------------------------------------------- To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org