Github user mgaido91 commented on the issue:

    https://github.com/apache/spark/pull/21403
  
    yes @cloud-fan , you're 100% right, we want to treat `(...)` differently 
when it is in front of IN.
    
    Here you are the previous example in Postgres:
    ```
    mgaido=# select 1 from (select (1, 'a') as col1) tab1 where col1 in (select 
1, 'a');
    ERROR:  subquery has too many columns
    LINE 1: ... 1 from (select (1, 'a') as col1) tab1 where col1 in (select...
    
    mgaido=# select 1 from (select 1 as col1, 'a' as col2) tab1 where (col1, 
col2) in (select 1, 'a');
     ?column? 
    ----------
            1
    (1 row)
    ```
    
    In Oracle/MySQL you cannot create structs using `(...)` but you have to 
define a custom data type for structs, so this situation is prevented to happen.


---

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

Reply via email to