You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 17 Next »

The Ignite community uses the page to keep track of evolution of new Calcite-powered SQL engine. We use the roadmap for better understanding where are we and how close the goal. Please note that the roadmap does not imply any obligations regarding availability and timeline. "Readiness Estimated Time" are subjects to change and represent contributors' best estimate.


At the moment, it seems that it is advisable to split all the work on the new SQL engine into 3 parts.
Please consider Task not a single JIRA task but just a kind of work which could be mapped to many JIRA tickets. 

All related tasks should be linked to  Unable to render Jira issues macro, execution error.

Phase 1: Simple SQL are work

TaskContributorsReadiness Estimated TimeCurrent state
Support of Indexes

DONE

initial support of DML (SELECT, INSERT)

DONE

Aggregate functions (sum, min, max, avg, ...), enables GROUP BY/DISTINCT commands

DONE

UNION/UNION ALL commands

DONE

support of IN/EXCEPT 

`IN PROGRESS

Type system (just review, seems it may be used as is + write many tests) + support of date/time data types.

DONE

Documentation

OPEN TO TAKE









Phase 2: Base performance optimization and extend SQL possibilities

TaskContributorsReadiness Estimated TimeCurrent state
Planner hints (ENFORCE JOIN ORDER, Alg of join)

OPEN TO TAKE

Schema management?

IN PROGRESS

Sort based aggregates, index spools


DONE

Index Nested Loop Join/Merge Join

DONE

Statistics/cost model (simple statistics)

OPEN TO TAKE

Hash join

OPEN TO TAKE

Hash index spools

OPEN TO TAKE

Initial support of DDL (create/drop for table and index)

OPEN TO TAKE

Type system including support of date/time data types.


OPEN TO TAKE

INTERSECT/MINUS

OPEN TO TAKE

MERGE

OPEN TO TAKE

Planner hints (the potentially concrete plan of executing)

OPEN TO TAKE

Documentation

OPEN TO TAKE












Phase 3: Usability and performance

TaskContributorsReadiness Estimated TimeCurrent state
support of DDL


OPEN TO TAKE
Expressions interpreter

OPEN TO TAKE

Views

OPEN TO TAKE

Tracing, statistics, cancellation, views

OPEN TO TAKE

Memory managment and offloading

OPEN TO TAKE

Expressions interpreter (kind of optimisation, may be omitted at the first step here a type system is used)

OPEN TO TAKE

Correlated queries support (may be omitted at the first step)

OPEN TO TAKE

H2 syntax support

OPEN TO TAKE

VolcanoPlanner overhaul

OPEN TO TAKE

Distributed joins/aggregation/subqueries algorithms

OPEN TO TAKE

Join/aggregation algorithms

OPEN TO TAKE

Partition prunning

OPEN TO TAKE

Explain/ExplainAnalyze

OPEN TO TAKE

Query compilation

OPEN TO TAKE

JDBC/ODBC/Thin, other clients (including partition awareness)

OPEN TO TAKE

Documentation

OPEN TO TAKE



















  • No labels