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 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
Jira |
---|
server | ASF JIRA |
---|
serverId | 5aa69414-a9e9-3523-82ec-879b028fb15b |
---|
key | IGNITE-12248 |
---|
|
Phase 1: Simple SQL are work
Task | Contributors | Readiness Estimated Time | Current state |
---|
Support of Indexes | |
| |
initial support of DML (SELECT, INSERT) | |
| |
Aggregate functions (sum, min, max, avg, ...), enables GROUP BY/DISTINCT commands | |
| |
UNION/UNION ALL commands | |
| | INTERSECT/MINUS | Status |
---|
subtle | true |
---|
title | OPEN TO TAKE | support of IN/EXCEPT | |
| | subtle | true | OPEN TO TAKE | MERGE |
Type system (just review, seems it may be used as-is + write many tests) + support of date/time data types. |
|
| | subtle | true | OPEN TO TAKE |
Phase 2: Base performance optimization and extend SQL possibilities
Task | Contributors | Readiness Estimated Time | Current state |
---|
Schema management |
|
| |
Sort based aggregates, index spools | |
| |
Index Nested Loop Join/ | Hash Merge Join | | |
| |
Statistics/cost model (simple statistics) | |
| |
Hash index spools/ Hash join | |
| Status | true |
---|
colour | YellowGreen |
---|
title | IN PROGRESS |
---|
|
| Schema management | |
Initial support of DDL (create/drop for table and index) | |
| |
Type system including support of date/time data types. | ? |
| | Status |
---|
subtle | true |
---|
colour | Yellow |
---|
title | IN PROGRESS |
---|
|
| support of DDL |
MERGE |
|
| Status |
---|
subtle | true |
---|
title | OPEN TO TAKE |
---|
|
|
Planner hints (ENFORCE JOIN ORDER, Alg of join) |
|
| Status |
---|
subtle | true |
---|
title | OPEN TO TAKE |
---|
|
| Type system (just review, seems it may be used as is + write many tests)
Planner hints (the potentially concrete plan of executing) |
|
| Status |
---|
subtle | true |
---|
title | OPEN TO TAKE |
---|
|
|
Documentation |
|
| Status |
---|
subtle | true |
---|
title | OPEN TO TAKE |
---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Phase 3: Usability and performance
Task | Contributors | Readiness Estimated Time | Current state | Expressions interpreter
---|
Statistics/cost model (advanced statistics) | |
| Status |
---|
subtle | true |
---|
colour | Yellow |
---|
title | IN PROGRESS |
---|
|
|
support of DDL (user, grants, ....) |
|
| Status |
---|
subtle | true |
---|
title | OPEN TO TAKE |
---|
|
|
Statistics/cost model (simple statistics)Expressions interpreter |
|
| Status |
---|
subtle | true |
---|
title | OPEN TO TAKE |
---|
|
|
Views |
|
| Status |
---|
subtle | true |
---|
title | OPEN TO TAKE |
---|
|
|
Tracing, statistics, cancellation, views |
|
| Status |
---|
subtle | true |
---|
title | OPEN TO TAKE |
---|
|
|
Memory managment management and offloading |
|
| Status |
---|
subtle | true |
---|
title | OPEN TO TAKE |
---|
|
|
Expressions interpreter (kind of optimisationoptimization, may be omitted at the first step here a type system is used) |
|
| Status |
---|
subtle | true |
---|
title | OPEN TO TAKE |
---|
|
|
Correlated queries support (may be omitted at the first step) | Status |
---|
subtle | true |
---|
title | OPEN TO TAKE |
---|
|
| Planner hints | Evgeny Stanilovsky |
| Status |
---|
subtle | true |
---|
title | OPEN TO TAKE |
---|
|
| H2 syntax support | colour | Yellow |
---|
title | IN PROGRESS |
---|
| Status |
---|
subtle | true |
---|
title | OPEN TO TAKE |
---|
|
|
VolcanoPlanner overhaul |
|
| Status |
---|
subtle | true |
---|
title | OPEN TO TAKE |
---|
|
|
Distributed joins/aggregation/subqueries algorithms |
|
| Status |
---|
subtle | true |
---|
title | OPEN TO TAKE |
---|
|
| Join/aggregation algorithms | Status |
---|
subtle | true |
---|
title | OPEN TO TAKE |
---|
|
|
Partition prunningPartition pruning |
|
| Status |
---|
subtle | true |
---|
title | OPEN TO TAKE |
---|
|
|
Explain/ExplainAnalyze |
|
| Status |
---|
subtle | true |
---|
title | OPEN TO TAKE |
---|
|
|
Query compilation |
|
| Status |
---|
subtle | true |
---|
title | OPEN TO TAKE |
---|
|
|
JDBC/ODBC/Thin, other clients (including partition awareness) |
|
| Status |
---|
subtle | true |
---|
title | OPEN TO TAKE |
---|
|
|
Documentation |
|
| Status |
---|
subtle | true |
---|
title | OPEN TO TAKE |
---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
...