You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Vladislav Pyatkov (Jira)" <ji...@apache.org> on 2026/08/19 16:06:00 UTC

[jira] [Created] (IGNITE-28999) Plugable SQL grama for Calcite SQL engine

Vladislav Pyatkov created IGNITE-28999:
------------------------------------------

             Summary: 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


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)