The Apache Calcite team is pleased to announce the release of Apache Calcite 1.11.0.
Calcite is a dynamic data management framework. Its cost-based optimizer converts queries, represented in relational algebra, into executable plans. Calcite supports many front-end languages and back-end data engines, and includes an SQL parser and, as a sub-project, the Avatica JDBC driver. Nearly three months after the previous release, there is a long list of improvements and bug-fixes, many of them making planner rules smarter. The following are some of the more important ones. Several adapters have improvements: * The JDBC adapter can now push down DML (INSERT, UPDATE, DELETE), windowed aggregates (OVER), IS NULL and IS NOT NULL operators. * The Cassandra adapter now supports authentication. * Several key bug-fixes in the Druid adapter. For correlated and uncorrelated sub-queries, we generate more efficient plans (for example, in some correlated queries we no longer require a sub-query to generate the values of the correlating variable), can now handle multiple correlations, and have also fixed a few correctness bugs. New SQL features: * CROSS APPLY and OUTER APPLY; * MINUS as a synonym for EXCEPT; * an "AS JSON" option for the EXPLAIN command; * compound identifiers in the target list of INSERT, allowing you to insert into individual fields of record-valued columns (or column families if you are using the Apache Phoenix adapter); * a variety of new and extended built-in functions: CONVERT, LTRIM, RTRIM, 3-parameter LOCATE and POSITION, RAND, RAND_INTEGER, and SUBSTRING applied to binary types. There are minor but potentially breaking API changes in [CALCITE-1519] (interface SubqueryConverter becomes SubQueryConverter and some similar changes in the case of classes and methods) and [CALCITE-1530] (rename Shuttle to Visitor, and create a new class Visitor<R>). See the cases for more details. You can start using it in Maven by simply updating your dependency to: <dependency> <groupId>org.apache.calcite</groupId> <artifactId>calcite-core</artifactId> <version>1.11.0</version> </dependency> If you'd like to download the source release, you can find it here: http://www.apache.org/dyn/closer.cgi/calcite/apache-calcite-1.11.0/ You can read more about the release (including release notes) here: http://calcite.apache.org/news/2017/01/09/release-1.11.0/ We welcome your help and feedback. For more information on how to report problems, and to get involved, visit the project website at: http://calcite.apache.org/ Thanks to everyone involved! Julian Hyde, on behalf of the Apache Calcite Team