[ 
https://issues.apache.org/jira/browse/IGNITE-28999?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vladislav Pyatkov reassigned IGNITE-28999:
------------------------------------------

    Assignee: Vladislav Pyatkov

> Plugable SQL grama for Calcite SQL engine
> -----------------------------------------
>
>                 Key: IGNITE-28999
>                 URL: https://issues.apache.org/jira/browse/IGNITE-28999
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Vladislav Pyatkov
>            Assignee: Vladislav Pyatkov
>            Priority: Major
>              Labels: calcite, ignite-2, sql
>
> h3.Motivation
> SQL syntax varies across database systems. In some cases, Ignite needs to 
> support non-ANSI SQL syntax or database-specific extensions.
> Apache Calcite allows a custom SQL parser to be generated from an extended 
> grammar. A similar approach can be used in Ignite so that plugins can 
> introduce additional SQL statements or clauses while retaining the standard 
> Calcite syntax and all Ignite-specific SQL extensions.
> h3.Implementation Notes
> Add the ability for an Ignite plugin to provide a custom SQL parser.
> The Ignite-specific grammar files (`config.fmpp` and `parserImpls.ftl`) must 
> be included as resources in the `ignite-calcite` artifact. A plugin can 
> combine these resources with the base Calcite grammar, Ignite grammar, and 
> its own grammar extensions to generate a custom parser at build time.
> The generated parser can then be registered through the plugin-provided 
> Calcite `FrameworkConfig`.
> h3.Definition of Done
> * Plugins can extend the Ignite SQL grammar with additional statements or 
> clauses.
> * A plugin-generated parser retains the standard Calcite and Ignite-specific 
> SQL syntax.
> * The default Ignite SQL parser remains unchanged when no grammar plugin is 
> installed.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to