blob: ba89dfe98d73cb0086e2cef0a0a5acd4c16a1a93 [file] [log] [blame]
<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<title>Release 1.12.0</title>
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="generator" content="Jekyll v3.7.3">
<link rel="stylesheet" href="//fonts.googleapis.com/css?family=Lato:300,300italic,400,400italic,700,700italic,900">
<link rel="stylesheet" href="/css/screen.css">
<link rel="icon" type="image/x-icon" href="/favicon.ico">
<!--[if lt IE 9]>
<script src="/js/html5shiv.min.js"></script>
<script src="/js/respond.min.js"></script>
<![endif]-->
</head>
<body class="wrap">
<header role="banner">
<div class="grid">
<div class="unit center-on-mobiles">
<h1>
<a href="/">
<span class="sr-only">Apache Calcite</span>
<img src="/img/logo.svg" alt="Calcite Logo">
</a>
</h1>
</div>
<nav class="main-nav">
<ul>
<li class="">
<a href="/">Home</a>
</li>
<li class="">
<a href="/downloads/">Download</a>
</li>
<li class="">
<a href="/community/">Community</a>
</li>
<li class="">
<a href="/develop/">Develop</a>
</li>
<li class="current">
<a href="/news/">News</a>
</li>
<li class="">
<a href="/docs/">Docs</a>
</li>
</ul>
</nav>
</div>
</header>
<section class="news">
<div class="grid">
<div class="docs-nav-mobile unit whole show-on-mobiles">
<select onchange="if (this.value) window.location.href=this.value">
<option value="">Navigate the blog…</option>
<option value="/news/">Home</option>
<optgroup label="v1.x">
<option value="/news/2019/09/11/release-1.21.0/">Release 1.21.0</option>
<option value="/news/2019/06/24/release-1.20.0/">Release 1.20.0</option>
<option value="/news/2019/03/25/release-1.19.0/">Release 1.19.0</option>
<option value="/news/2018/12/21/release-1.18.0/">Release 1.18.0</option>
<option value="/news/2018/07/20/release-1.17.0/">Release 1.17.0</option>
<option value="/news/2018/03/19/release-1.16.0/">Release 1.16.0</option>
<option value="/news/2017/12/11/release-1.15.0/">Release 1.15.0</option>
<option value="/news/2017/10/02/release-1.14.0/">Release 1.14.0</option>
<option value="/news/2017/06/26/release-1.13.0/">Release 1.13.0</option>
<option value="/news/2017/03/31/new-avatica-repository/">New Avatica Repository</option>
<option value="/news/2017/03/24/release-1.12.0/">Release 1.12.0</option>
<option value="/news/2017/01/09/release-1.11.0/">Release 1.11.0</option>
<option value="/news/2016/10/12/release-1.10.0/">Release 1.10.0</option>
<option value="/news/2016/09/22/release-1.9.0/">Release 1.9.0</option>
<option value="/news/2016/06/13/release-1.8.0/">Release 1.8.0</option>
<option value="/news/2016/03/22/cassandra-adapter/">Cassandra Adapter</option>
<option value="/news/2016/03/22/release-1.7.0/">Release 1.7.0</option>
<option value="/news/2016/02/17/streaming-sql-talk/">Streaming SQL in Samza</option>
<option value="/news/2016/02/17/elser-pmc/">Calcite appoints Josh Elser to PMC</option>
<option value="/news/2016/01/22/release-1.6.0/">Release 1.6.0</option>
<option value="/news/2015/11/10/release-1.5.0/">Release 1.5.0</option>
<option value="/news/2015/11/08/new-committers/">Calcite adds 2 committers</option>
<option value="/news/2015/10/22/calcite-graduates/">Calcite Graduates</option>
<option value="/news/2015/09/02/release-1.4.0-incubating/">Release 1.4.0 Incubating</option>
<option value="/news/2015/07/31/xldb-best-lightning-talk/">XLDB 2015 best lightning talk</option>
<option value="/news/2015/06/05/algebra-builder/">Algebra builder</option>
<option value="/news/2015/05/30/release-1.3.0-incubating/">Release 1.3.0 Incubating</option>
<option value="/news/2015/04/24/new-committers/">Calcite adds 5 committers</option>
<option value="/news/2015/04/07/release-1.2.0-incubating/">Release 1.2.0 Incubating</option>
<option value="/news/2015/03/13/release-1.1.0-incubating/">Release 1.1.0 Incubating</option>
<option value="/news/2015/01/31/release-1.0.0-incubating/">Release 1.0.0 Incubating</option>
<option value="/news/2014/11/05/release-0.9.2-incubating/">Release 0.9.2 Incubating</option>
<option value="/news/2014/10/02/release-0.9.1-incubating/">Release 0.9.1 Incubating</option>
<option value="/news/2014/08/19/release-0.9.0-incubating/">Release 0.9.0 Incubating</option>
<option value="/news/2014/06/27/release-0.8.0-incubating/">Release 0.8.0 Incubating</option>
</optgroup>
</select>
</div>
<div class="unit four-fifths">
<article>
<h2>
Release 1.12.0
<a href="/news/2017/03/24/release-1.12.0/" class="permalink" title="Permalink"></a>
</h2>
<span class="post-category">
<span class="label">
release
</span>
</span>
<div class="post-meta">
<span class="post-date">
24 Mar 2017
</span>
<a href="http://people.apache.org/~jhyde" class="post-author">
<img src="https://github.com/julianhyde.png"
class="avatar" alt="jhyde avatar"
width="24" height="24">
jhyde
</a>
</div>
<div class="post-content">
<!--
-->
<p>The <a href="">Apache Calcite PMC</a>
is pleased to announce
<a href="/docs/history.html#v1-12-0">Apache Calcite release 1.12.0</a>.</p>
<p>In 2½ months,
<a href="/docs/history.html#v1-12-0">29 contributors have resolved 95 issues</a>.
Here are some of the highlights.</p>
<p>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.)</p>
<p>There are two new adapters:</p>
<ul>
<li>The <a href="https://issues.apache.org/jira/browse/CALCITE-884">File adapter</a>
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 <code class="highlighter-rouge">&lt;TABLE&gt;</code>
elements.</li>
<li>The <a href="https://issues.apache.org/jira/browse/CALCITE-1598">Pig adapter</a>
provides a SQL interface to <a href="http://pig.apache.org/">Apache Pig</a>.</li>
</ul>
<p>And there are continuing improvements in performance and stability of
the Druid adapter. (The Druid project now
<a href="https://github.com/druid-io/druid/pull/3682">embeds Calcite to provide SQL support</a>,
and there has been cross-fertilization between the projects.)</p>
<p>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
<a href="https://issues.apache.org/jira/browse/CALCITE-1549">helps you correct it</a>.
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.</p>
<p>New SQL syntax and functions:</p>
<ul>
<li><code class="highlighter-rouge">HOP</code>, <code class="highlighter-rouge">TUMBLE</code> and <code class="highlighter-rouge">SESSION</code> functions in the <code class="highlighter-rouge">GROUP BY</code> clause
allow you to aggregate over window types (especially useful for
streaming queries);</li>
<li>Experimental support for the <code class="highlighter-rouge">MATCH_RECOGNIZE</code> clause for
Complex-Event Processing (CEP);</li>
<li>New <code class="highlighter-rouge">YEAR</code>, <code class="highlighter-rouge">MONTH</code>, <code class="highlighter-rouge">WEEK</code>, <code class="highlighter-rouge">DAYOFYEAR</code>, <code class="highlighter-rouge">DAYOFMONTH</code>, <code class="highlighter-rouge">DAYOFWEEK</code>,
<code class="highlighter-rouge">HOUR</code>, <code class="highlighter-rouge">MINUTE</code>, <code class="highlighter-rouge">SECOND</code>, <code class="highlighter-rouge">DATABASE</code>, <code class="highlighter-rouge">IFNULL</code>, and <code class="highlighter-rouge">USER</code>
functions to comply with the ODBC/JDBC standard. Also, <code class="highlighter-rouge">EXTRACT</code> now
allows the corresponding time-unit arguments.</li>
</ul>
<p>See the <a href="/docs/history.html#v1-12-0">release notes</a>;
<a href="/downloads#source-releases">download</a> the release.</p>
</div>
</article>
</div>
<div class="unit one-fifth hide-on-mobiles">
<aside>
<ul>
<li class="">
<a href="/news/">All News</a>
</li>
<li class="">
<a href="/news/releases/">Calcite Releases</a>
</li>
</ul>
<h4>Recent Releases</h4>
<ul>
<li class="">
<a href="/news/2019/09/11/release-1.21.0/">1.21.0</a>
</li>
<li class="">
<a href="/news/2019/06/24/release-1.20.0/">1.20.0</a>
</li>
<li class="">
<a href="/news/2019/03/25/release-1.19.0/">1.19.0</a>
</li>
<li class="">
<a href="/news/2018/12/21/release-1.18.0/">1.18.0</a>
</li>
<li class="">
<a href="/news/2018/07/20/release-1.17.0/">1.17.0</a>
</li>
</ul>
<h4>Other News</h4>
<ul>
<li class="">
<a href="/news/2017/03/31/new-avatica-repository/">New Avatica Repository</a>
</li>
<li class="">
<a href="/news/2016/03/22/cassandra-adapter/">Cassandra Adapter</a>
</li>
<li class="">
<a href="/news/2016/02/17/streaming-sql-talk/">Streaming SQL in Samza</a>
</li>
<li class="">
<a href="/news/2016/02/17/elser-pmc/">Calcite appoints Josh Elser to PMC</a>
</li>
<li class="">
<a href="/news/2015/11/08/new-committers/">Calcite adds 2 committers</a>
</li>
<li class="">
<a href="/news/2015/10/22/calcite-graduates/">Calcite Graduates</a>
</li>
<li class="">
<a href="/news/2015/07/31/xldb-best-lightning-talk/">XLDB 2015 best lightning talk</a>
</li>
<li class="">
<a href="/news/2015/06/05/algebra-builder/">Algebra builder</a>
</li>
<li class="">
<a href="/news/2015/04/24/new-committers/">Calcite adds 5 committers</a>
</li>
</ul>
</aside>
</div>
<div class="clear"></div>
</div>
</section>
<footer role="contentinfo">
<div id="poweredby">
<a href="http://www.apache.org/">
<span class="sr-only">Apache</span>
<img src="/img/feather.png" width="190" height="77" alt="Apache Logo"></a>
</div>
<div id="copyright">
<p>The contents of this website are Copyright &copy;&nbsp;2019
<a href="https://www.apache.org/">Apache Software Foundation</a>
under the terms of
the <a href="https://www.apache.org/licenses/">
Apache&nbsp;License&nbsp;v2</a>. Apache Calcite and its logo are
trademarks of the Apache Software Foundation.</p>
</div>
</footer>
<script>
var anchorForId = function (id) {
var anchor = document.createElement("a");
anchor.className = "header-link";
anchor.href = "#" + id;
anchor.innerHTML = "<span class=\"sr-only\">Permalink</span><i class=\"fa fa-link\"></i>";
anchor.title = "Permalink";
return anchor;
};
var linkifyAnchors = function (level, containingElement) {
var headers = containingElement.getElementsByTagName("h" + level);
for (var h = 0; h < headers.length; h++) {
var header = headers[h];
if (typeof header.id !== "undefined" && header.id !== "") {
header.appendChild(anchorForId(header.id));
}
}
};
document.onreadystatechange = function () {
if (this.readyState === "complete") {
var contentBlock = document.getElementsByClassName("docs")[0] || document.getElementsByClassName("news")[0];
if (!contentBlock) {
return;
}
for (var level = 1; level <= 6; level++) {
linkifyAnchors(level, contentBlock);
}
}
};
</script>
</body>
</html>