The [Apache Calcite PMC]({{ site.baseurl }}) is pleased to announce [Apache Calcite release 1.11.0]({{ site.baseurl }}/docs/history.html#v1-11-0).
Nearly three months after the previous release, there is a [long list of improvements and bug-fixes]({{ site.baseurl }}/docs/history.html#v1-11-0), many of them making planner rules smarter. The following are some of the more important ones.
Several adapters have improvements:
INSERT
, UPDATE
, DELETE
), windowed aggregates (OVER
), IS NULL
and IS NOT NULL
operators.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 syntax:
CROSS APPLY
and OUTER APPLY
;MINUS
as a synonym for EXCEPT
;AS JSON
option for the EXPLAIN
command;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.