Github user mgaido91 commented on the issue:

    https://github.com/apache/spark/pull/22029
  
    > It looks to me that this is another instance of special handling (a, b, 
..), like #21403
    
    Yes, we might say so. The problem is specific to how `=` is implemented for 
struct when one or more of their fields are null: we return `false` instead of 
`null`. But other DBs are not consistent on struct equality comparison (most of 
them don't allow such a comparison either), so it is hard to argue that we 
should change that behavior.
    
    > `(a, b) in (struct_col1, struct_col2, ...)` is different from 
`input_struct_col in (struct_col1, struct_col2, ...)`, right?
    
    So yes, that would be different when there are nulls as one would evaluate 
to `false`, the other to `null`.


---

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

Reply via email to