You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Konstantin Orlov (Jira)" <ji...@apache.org> on 2021/10/27 10:56:00 UTC

[jira] [Updated] (IGNITE-15832) Calcite. SQL Extension API

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

Konstantin Orlov updated IGNITE-15832:
--------------------------------------
    Labels: calcite calcite3-required ignite-3  (was: )

> Calcite. SQL Extension API
> --------------------------
>
>                 Key: IGNITE-15832
>                 URL: https://issues.apache.org/jira/browse/IGNITE-15832
>             Project: Ignite
>          Issue Type: Task
>            Reporter: Konstantin Orlov
>            Assignee: Konstantin Orlov
>            Priority: Major
>              Labels: calcite, calcite3-required, ignite-3
>
> h3. Motivation
> The current SQL engine is powerful enough to handle distributed queries of arbitrary complexity. But to unleash its full potential, we need to provide users with ability to run SQL queries against custom storages (like queries against CSV file).
> h3. Proposal
> In order to achieve the goal we need to provide API classes and do a number of integration points in current codebase. The suggested API interface should look like this:
> {code:java}
> public interface SqlExtensionPlugin {
>     String name();
>     void init(
>         SchemaUpdateListener schemaUpdateListener
>     );
>     Set<? extends RelOptRule> getOptimizerRules(PlannerPhase phase);
>     <Row> NodeImplementor<Row> implementor();
>     ColocationGroup colocationGroup(RelNode node);
>     interface NodeImplementor<Row> {
>         <T extends RelNode> Node<Row> implement(ExecutionContext<Row> ctx, T node);
>     }
>     interface SchemaUpdateListener {
>         void onSchemaUpdated(Schema schema);
>     }
> }
> {code}
> Details of integration point are covered in subtask.
> There is a [POC|https://github.com/apache/ignite-3/compare/main...gridgain:sql-ext-wip] that could be referenced during implementation of current task



--
This message was sent by Atlassian Jira
(v8.3.4#803005)