Github user kiszk commented on a diff in the pull request:

    https://github.com/apache/spark/pull/19720#discussion_r150875807
  
    --- Diff: 
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/nullExpressions.scala
 ---
    @@ -72,14 +72,10 @@ case class Coalesce(children: Seq[Expression]) extends 
Expression {
       }
     
       override def doGenCode(ctx: CodegenContext, ev: ExprCode): ExprCode = {
    -    val first = children(0)
    -    val rest = children.drop(1)
    -    val firstEval = first.genCode(ctx)
    -    ev.copy(code = s"""
    -      ${firstEval.code}
    -      boolean ${ev.isNull} = ${firstEval.isNull};
    -      ${ctx.javaType(dataType)} ${ev.value} = ${firstEval.value};""" +
    -      rest.map { e =>
    +    ctx.addMutableState("boolean", ev.isNull, "")
    --- End diff --
    
    Can we ensure `ev.isNull` always has a variable name? In other words, 
`ev.isNull` never has `true` or `false`.


---

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

Reply via email to