Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyIGNITE-12248

Phase 1: Simple SQL are work

TaskContributorsReadiness Estimated TimeCurrent state
Support of Indexes

Status
colourGreen
titleDONE

initial support of DML

Status
colourGreen
titleDONE

Expressions interpreter (minimum realization for support aggregate function
(SELECT, INSERT)

Status
colourGreen
titleDONE

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

Status
colourGreen
titleDONE

UNION/UNION ALL
/INTERSECT/MINUS
commands

Status
colourGreen
titleDONE

support of IN/
EXEPT 
EXCEPT 

Status

subtle

colour

true

Green
title

OPEN TO TAKEMERGE

DONE

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

Status

subtle

colour

true

Green
title

OPEN TO TAKE

DONE


Phase 2: Base performance optimization and extend SQL possibilities

TaskContributorsReadiness Estimated TimeCurrent state
Schema management

Status
colourGreen
titleDONE

Sort based aggregates, index spools


Status
colourGreen
titleDONE

Index Nested Loop Join/
Hash
Merge Join

Status
colourGreen
titleDONE

Statistics/cost model (simple statistics)

Status

colourGreen
titleDONE

Hash index spools/ Hash join

Status
colourGreen
titleDONE

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

Status

subtletrue

colour

Yellow

Green
title

IN PROGRESSSchema management

DONE

Type system including support of date/time data types.


Status
subtletrue
colourYellow
titleIN PROGRESS

support of DDL
MERGE

Status
subtletrue
titleOPEN TO TAKE

Planner hints (ENFORCE JOIN ORDER, Alg of join)

Status
subtletrue
titleOPEN 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
subtletrue
titleOPEN TO TAKE

Documentation

Status
subtletrue
titleOPEN TO TAKE













Phase 3: Usability and performance

TaskContributorsReadiness Estimated TimeCurrent state
Expressions interpreter extended
Statistics/cost model (advanced statistics)

Status
subtletrue
colourYellow
titleIN PROGRESS

support of DDL (user, grants, ....)


Status
subtletrue
titleOPEN TO TAKE
Statistics/cost model (simple statistics)
Expressions interpreter

Status
subtletrue
titleOPEN TO TAKE

Views

Status
subtletrue
titleOPEN TO TAKE

Tracing, statistics, cancellation, views

Status
subtletrue
titleOPEN TO TAKE

Memory
managment
management and offloading

Status
subtletrue
titleOPEN TO TAKE

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

Status
subtletrue
titleOPEN TO TAKE

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

Status
subtletrue
titleOPEN TO TAKE

Planner hints
Evgeny Stanilovsky

Status
subtletrue

title

colour

OPEN TO TAKEH2 syntax support

Yellow
titleIN PROGRESS

StatussubtletruetitleOPEN TO TAKE

VolcanoPlanner overhaul

Status
subtletrue
titleOPEN TO TAKE

Distributed joins/aggregation/subqueries
algorithms

Status
subtletrue
titleOPEN TO TAKE

Join/aggregation
algorithms

Status
subtletrue
titleOPEN TO TAKE

Partition
prunning
pruning

Status
subtletrue
titleOPEN TO TAKE

Explain/ExplainAnalyze

Status
subtletrue
titleOPEN TO TAKE

Query compilation

Status
subtletrue
titleOPEN TO TAKE

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

Status
subtletrue
titleOPEN TO TAKE

Documentation

Status
subtletrue
titleOPEN TO TAKE