Github user mgaido91 commented on the issue:

    https://github.com/apache/spark/pull/20772
  
    @kiszk the logic is not changed, but the previous implementation is wrong. 
Let's go through an example to show more clearly this. Let's assume we have a 
long nullable variable. Substituting the values, the previous code becomes:
    ```
    scala> 1 + "long" match {
         |  case "int" | "long" => 2
         |  case _ => 1
         | }
    res0: Int = 1
    ```
    Instead it should return 3, as the new code does. This is because `1 + 
"long"` is executed before the match.... So previously this returned always 1.
    
    Is it clear now?


---

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

Reply via email to