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

Reply via email to