In 2½ months, 29 contributors have resolved 95 issues. Here are some of the highlights.
Calcite now supports JDK 9 and Guava 21.0. (It continues to run on JDK 7 and 8, and on versions of Guava as early as 14.0.1. The default version of Guava remains 19.0, due to the Cassandra adapter’s dependencies, and the fact that Guava 21.0 requires JDK 8 or later.)
There are two new adapters:
- The File adapter
can read files of various formats (such as CSV, JSON, zipped files,
and HTML) over various protocols (including file and HTTP). If
reading HTML files, it can extract data from nested
- The Pig adapter provides a SQL interface to Apache Pig.
And there are continuing improvements in performance and stability of the Druid adapter. (The Druid project now embeds Calcite to provide SQL support, and there has been cross-fertilization between the projects.)
To err is human, as the saying goes. If you mis-type the name of a schema, table or column in a SQL statement, Calcite now helps you correct it. The error message indicates whether it was whether it was the schema, table or column that was not found; if the mistake was just due to an upper- or lower-case letter, it suggests the correct name.
New SQL syntax and functions:
SESSIONfunctions in the
GROUP BYclause allow you to aggregate over window types (especially useful for streaming queries);
- Experimental support for the
MATCH_RECOGNIZEclause for Complex-Event Processing (CEP);
USERfunctions to comply with the ODBC/JDBC standard. Also,
EXTRACTnow allows the corresponding time-unit arguments.