Hello, Igniters! As you may already know there is the new Ignite SQL engine based on Apache Calcite currently under development.
Reasons to move from H2-based engine and motivation for creating the new one in details described in IEP-37 [1]. You can find all related to the new engine source code changes in the "sql-calcite" branch [2]. Calcite-based SQL engine is not production-ready yet and has a lot of known issues. In the future, the new engine should be fully independent of "ignite-indexing" and H2, but now it relies on schema management and indexes implemented in the "ignite-indexing" module and can't work without the old engine. Despite all of the above mentioned, in the current state, it has its own parsing, planning and execution flow and is almost as functional as the H2-based SQL engine. Some users are already interested in the Calcite-based engine and asking about the development status and release dates. Calcite-based SQL engine will be the only SQL engine in Ignite 3.0. Perhaps even in 2.x we can get rid of the H2-based engine at some time in the future. There is some syntax difference between Calcite and H2 (Calcite is closer to SQL standards than H2) and a totally new execution flow. After the release of this feature, users can try their queries and determine if any adaptation for them is required. With the new planning and execution flow, perhaps, some queries will be executed more effectively, users can redirect such queries to the new engine. I think we can provide an opportunity to users to try the new engine and release it as an experimental feature with the next Apache Ignite version (2.13). What do you think?