Skip to content

Add SQL query planning support for simple/nested subqueries #2238

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Closed
Tracked by #474
andygrove opened this issue Apr 14, 2022 · 1 comment
Closed
Tracked by #474

Add SQL query planning support for simple/nested subqueries #2238

andygrove opened this issue Apr 14, 2022 · 1 comment
Labels
enhancement New feature or request

Comments

@andygrove
Copy link
Member

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 a simple nested subquery instead of failing with Unsupported ast node Query.

Example query: SELECT name FROM (SELECT * FROM t2 WHERE id > 1) WHERE id < 4

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 name FROM (SELECT * FROM t2 WHERE id > 1) WHERE id < 4")
df: org.apache.spark.sql.DataFrame = [id: int, name: string]

scala> df.queryExecution.logical 
res5: org.apache.spark.sql.catalyst.plans.logical.LogicalPlan =
'Project ['name]
+- 'Filter ('id < 4)
   +- 'SubqueryAlias __auto_generated_subquery_name
      +- 'Project [*]
         +- 'Filter ('id > 1)
            +- 'UnresolvedRelation [t2], [], 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.

@andygrove
Copy link
Member Author

This was already implemented

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant