Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

[FEATURE]Replace PPL AST + ANTLR code with dependency #3170

Open
YANG-DB opened this issue Nov 27, 2024 · 2 comments
Open

[FEATURE]Replace PPL AST + ANTLR code with dependency #3170

YANG-DB opened this issue Nov 27, 2024 · 2 comments
Labels
enhancement New feature or request untriaged

Comments

@YANG-DB
Copy link
Member

YANG-DB commented Nov 27, 2024

Is your feature request related to a problem?
This Issue is part of the campaign to consolidate PPL into a single grammar location enables simpler and consistent way to evolve the language and moves the responsibility of updating the downstream engine on the engine implementing the spec rather than the grammar & language maintainers..

What solution would you like?
The following tasks:

  • add piped-processing-language repo artifacts as a dependency
  • remove PPL (SQL) ANTLR
  • remove PPL (SQL) Docs
  • remove AST (SQL) Docs
  • create an additional AST translation layer to add an additional specific engine (OpenSearch) depended Logical step before submitting the Logical plan to be executed - This part need furthermore discussions

Do you have any additional context?

@normanj-bitquill
Copy link
Contributor

Is this what you envision for the additional AST translation layer?

  • In opensearch-project-sql, the AST tree produced by parsing the query is translated to a logical plan (that will be submitted to the OpenSearch server)
  • In opensearch-spark, the AST tree produced by parsing the query is translated to a logical plan for Spark. This logical plan is later translated to a physical plan.

@YANG-DB
Copy link
Member Author

YANG-DB commented Nov 28, 2024

Is this what you envision for the additional AST translation layer?

  • In opensearch-project-sql, the AST tree produced by parsing the query is translated to a logical plan (that will be submitted to the OpenSearch server)
  • In opensearch-spark, the AST tree produced by parsing the query is translated to a logical plan for Spark. This logical plan is later translated to a physical plan.

I was thinking of a similar flow that calcite has for adding the additional dialect layer that knows the specification of each engine and changes the logical plan to be able to be pushed down to the execution layer itself.

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

No branches or pull requests

2 participants