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 JIRA task but just a kind of work which could be mapped to many JIRA tickets.
Task | Contributors | Readiness Estimated Time | Current state |
---|---|---|---|
Support of Indexes | DONE | ||
initial support of DML | DONE | ||
Expressions interpreter (minimum realization for support aggregate function) | DONE | ||
Aggregate functions (sum, min, max, avg, ...), enables GROUP BY/DISTINCT commands | DONE | ||
UNION/UNION ALL commands | DONE | ||
INTERSECT/MINUS | OPEN TO TAKE | ||
support of IN/EXEPT | OPEN TO TAKE | ||
MERGE | OPEN TO TAKE | ||
Task | Contributors | Readiness Estimated Time | Current state |
---|---|---|---|
Index Nested Loop Join/Hash Join | IN PROGRESS | ||
Schema management | ? | IN PROGRESS | |
support of DDL | OPEN TO TAKE | ||
Type system (just review, seems it may be used as is + write many tests) | OPEN TO TAKE |
Task | Contributors | Readiness Estimated Time | Current state |
---|---|---|---|
Expressions interpreter extended | OPEN TO TAKE | ||
Statistics/cost model (simple statistics) | 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 | ||
Planner hints | 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 | ||