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