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

subtletrueMERGEsubtletrueOPEN TO TAKE
TaskContributorsReadiness Estimated TimeCurrent state
Support of Indexes

Status
colourGreen
titleDONE

initial support of DML (SELECT, INSERT)

Status
colourGreen
titleDONE

Expressions interpreter (minimum realization for support aggregate function)

Status
title
subtletrue
OPEN TO TAKE

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

Status
colourGreen
titleDONE

UNION/UNION ALL commands

Status
colourGreen
titleDONE

INTERSECT/MINUS

Status
subtletrue
titleOPEN TO TAKE

support of IN/EXCEPT 

Status

colour

Green
title

OPEN TO TAKE

DONE

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

Status

colour

Green
title

DONE


Phase 2: Base performance optimization and extend SQL possibilities

Hash ?support of DDLType system (just review, seems it may be used as is + write many tests)
TaskContributorsReadiness Estimated TimeCurrent state
Schema management

Status
colourGreen
titleDONE

Sort based aggregates, index spools


Status
colourGreen
titleDONE

Index Nested Loop Join/Merge Join

Status
colourGreen
titleDONE

Statistics/cost model (simple statistics)

Konstantin Orlov 


Status
subtle
colourGreen
titleDONE

Hash index spools/ Hash join

true
Status
colourYellowGreen
titleIN PROGRESS

Schema management

DONE

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

Status
colourGreen
titleDONE

Type system including support of date/time data types.


Status
subtletrue
colourYellow
titleIN PROGRESS

MERGE

Status
subtletrue
titleOPEN TO TAKE

Planner hints (ENFORCE JOIN ORDER, Alg of join)

Status
subtletrue
titleOPEN TO TAKE

Planner hints (the potentially concrete plan of executing)

Status
subtletrue
titleOPEN TO TAKE

Documentation

Status
subtletrue
titleOPEN TO TAKE













Phase 3: Usability and performance

Expressions interpreter extended
TaskContributorsReadiness Estimated TimeCurrent state
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 optimisationoptimization, 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 hintsEvgeny Stanilovsky

Status
subtletrue
titlecolourOPEN TO TAKE

H2 syntax support

Yellow
titleIN PROGRESS
Status
subtletrue
titleOPEN 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 prunningPartition 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

















...