Apache Calcite 1.7.0 is the first release since
Avatica became an independent project.
Calcite now depends on Avatica in the
same way as it does other libraries, via a Maven dependency. To see
Avatica-related changes, see the
release notes for Avatica 1.7.1.
We have added
an adapter for
Apache Cassandra.
You can map a Cassandra keyspace into Calcite as a schema, Cassandra
CQL tables as tables, and execute SQL queries on them, which Calcite
converts into CQL.
Cassandra can define and maintain materialized views but the adapter
goes further: it can transparently rewrite a query to use a
materialized view even if the view is not mentioned in the query.
This release adds an
Oracle-compatibility mode.
If you add fun=oracle
to your JDBC connect string, you get all of
the standard operators and functions plus Oracle-specific functions
DECODE
, NVL
, LTRIM
, RTRIM
, GREATEST
and LEAST
. We look
forward to adding more functions, and compatibility modes for other
databases, in future releases.
We’ve replaced our use of JUL (java.util.logging
)
with SLF4J. SLF4J provides an API which Calcite can use
independent of the logging implementation. This ultimately provides additional
flexibility to users, allowing them to configure Calcite’s logging within their
own chosen logging framework. This work was done in
[CALCITE-669].
For users experienced with configuring JUL in Calcite previously, there are some
differences as some the JUL logging levels do not exist in SLF4J: FINE
,
FINER
, and FINEST
, specifically. To deal with this, FINE
was mapped
to SLF4J’s DEBUG
level, while FINER
and FINEST
were mapped to SLF4J’s TRACE
.
See the release notes;
download the release.