andygrove opened a new issue, #2237:
URL: https://github.com/apache/arrow-datafusion/issues/2237

   **Is your feature request related to a problem or challenge? Please describe 
what you are trying to do.**
   As a user of the DataFusion library for SQL parsing and logical query 
planning, I would like to be able to produce a valid logical plan from a SQL 
query containing an `IN` subquery instead of failing with `Unsupported ast node 
InSubquery`.
   
   Example query: `SELECT * FROM t1 WHERE id IN (SELECT id FROM t2)`
   
   **Describe the solution you'd like**
   The SQL should parse without error and produce a valid logical plan.
   
   For reference, here is an example query and logical plan from Apache Spark:
   
   ```
   scala> val df = spark.sql("SELECT * FROM t1 WHERE id IN (SELECT id FROM t2)")
   df: org.apache.spark.sql.DataFrame = [id: int, name: string]
   
   scala> df.queryExecution.logical 
   res5: org.apache.spark.sql.catalyst.plans.logical.LogicalPlan =
   'Project [*]
   +- 'Filter 'id IN (list#12 [])
      :  +- 'Project ['id]
      :     +- 'UnresolvedRelation [t2], [], false
      +- 'UnresolvedRelation [t1], [], false
   ```
   
   **Describe alternatives you've considered**
   None
   
   **Additional context**
   This does not cover optimization or physical plan. We will need to file 
follow-on issues for those.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to