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