Github user mgaido91 commented on the issue: https://github.com/apache/spark/pull/21403 I am encountering big issues in enforcing the behavior we mentioned. The problem is that we cannot really distinguish the cases: - `... (a, b) in (select ...)` - `... from (select (a, b) as x ...) where x in (select ...)` So the problem is that we don't know if we have a `CreateNamedStruct` exactly there or if the `Optimizer` puts it somehow there. It may be needed to change the parsing logic for this and to revisit the whole `In` structure. I mean, we have to parse not a single value but a list of values in the outer operator. And as well we cannot really distinguish: - `... (a, b) in (select (a, b) from ...)` - `... (a, b) in (select a from (select (a, b) from ...))` This is a bit trickier indeed. What do you think?
--- --------------------------------------------------------------------- To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org