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: [email protected]
For additional commands, e-mail: [email protected]