<!DOCTYPE HTML>
<html lang="en-US">
<head>
  <meta charset="UTF-8">
  <title>News</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/2020/03/05/release-1.22.0/">Release 1.22.0</option>
      <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>
    <a href="/news/2020/03/05/release-1.22.0/">
      Release 1.22.0
    </a>
  </h2>
  <span class="post-category">
    <span class="label">
      release
    </span>
  </span>
  <div class="post-meta">
    <span class="post-date">
      05 Mar 2020
    </span>
    
    
    
    <a href="https://github.com/danny0405" class="post-author">
      <img src="https://github.com/danny0405.png"
           class="avatar" alt="danny0405 avatar"
           width="24" height="24">
      danny0405
    </a>
  </div>
  <div class="post-content">
    <!--

-->

<p>The <a href="">Apache Calcite PMC</a>
is pleased to announce
<a href="/docs/history.html#v1-22-0">Apache Calcite release 1.22.0</a>.</p>

<p>This release comes five months after 1.21.0. It includes more than 250 resolved issues, comprising a large number of new features as well as general improvements and bug-fixes. Among others, it is worth highlighting the following.</p>

<ul>
  <li>Supports SQL hints for different kind of relational expressions (<a href="https://issues.apache.org/jira/browse/CALCITE-482">CALCITE-482</a>)</li>
  <li>A new Redis adaptor (<a href="https://issues.apache.org/jira/browse/CALCITE-3510">CALCITE-3510</a>)</li>
  <li>More Oracle and MySQL functions are supported, i.e. Oracle <code class="highlighter-rouge">XML</code> function (<a href="https://issues.apache.org/jira/browse/CALCITE-3579">CALCITE-3579</a>, <a href="https://issues.apache.org/jira/browse/CALCITE-3580">CALCITE-3580</a>), MySQL math functions (<a href="https://issues.apache.org/jira/browse/CALCITE-3684">CALCITE-3684</a>, <a href="https://issues.apache.org/jira/browse/CALCITE-3695">CALCITE-3695</a>, <a href="https://issues.apache.org/jira/browse/CALCITE-3707">CALCITE-3707</a>)</li>
</ul>

<p>We have also fixed some important bugs:</p>
<ul>
  <li>The metadata cache is fixed for rare cases that <code class="highlighter-rouge">RelSet</code>s are merging (<a href="https://issues.apache.org/jira/browse/CALCITE-2018">CALCITE-2018</a>)</li>
  <li>The <code class="highlighter-rouge">GROUP_ID</code> now returns correct results (<a href="https://issues.apache.org/jira/browse/CALCITE-1824">CALCITE-1824</a>)</li>
  <li><code class="highlighter-rouge">CORRELATE</code> row count estimation has been fixed, it is always 1 before (<a href="https://issues.apache.org/jira/browse/CALCITE-3711">CALCITE-3711</a>)</li>
  <li>The modulus precision inference of <code class="highlighter-rouge">DECIMAL</code>s has been fixed (<a href="https://issues.apache.org/jira/browse/CALCITE-3435">CALCITE-3435</a>)</li>
</ul>

    
    <p>See the <a href="/docs/history.html#rel/v1.22.0">release notes</a>;
      <a href="/downloads#source-releases">download</a> the release.</p>
    
  </div>
</article>


  
<article>
  <h2>
    <a href="/news/2019/09/11/release-1.21.0/">
      Release 1.21.0
    </a>
  </h2>
  <span class="post-category">
    <span class="label">
      release
    </span>
  </span>
  <div class="post-meta">
    <span class="post-date">
      11 Sep 2019
    </span>
    
    
    
    <a href="https://people.apache.org/~zabetak/" class="post-author">
      <img src="https://github.com/zabetak.png"
           class="avatar" alt="zabetak avatar"
           width="24" height="24">
      zabetak
    </a>
  </div>
  <div class="post-content">
    <!--

-->

<p>The <a href="">Apache Calcite PMC</a>
is pleased to announce
<a href="/docs/history.html#v1-21-0">Apache Calcite release 1.21.0</a>.</p>

<p>This release comes two months after 1.20.0. It includes more than 100 resolved
issues, comprising a large number of new features as well as general improvements
and bug-fixes.</p>

<p>It is worth highlighting that Calcite now:</p>
<ul>
  <li>supports implicit type coercion in various contexts
(<a href="https://issues.apache.org/jira/browse/CALCITE-2302">CALCITE-2302</a>);</li>
  <li>allows transformations of Pig Latin scripts into algebraic plans
(<a href="https://issues.apache.org/jira/browse/CALCITE-3122">CALCITE-3122</a>);</li>
  <li>provides an implementation for the main features of <code class="highlighter-rouge">MATCH_RECOGNIZE</code> in the
<code class="highlighter-rouge">Enumerable</code> convention
(<a href="https://issues.apache.org/jira/browse/CALCITE-1935">CALCITE-1935</a>);</li>
  <li>supports correlated <code class="highlighter-rouge">ANY</code>/<code class="highlighter-rouge">SOME</code>/<code class="highlighter-rouge">ALL</code> sub-queries
(<a href="https://issues.apache.org/jira/browse/CALCITE-3031">CALCITE-3031</a>);</li>
  <li>introduces anonymous types based on <code class="highlighter-rouge">ROW</code>, <code class="highlighter-rouge">ARRAY</code>, and nested collection
(<a href="https://issues.apache.org/jira/browse/CALCITE-3233">CALCITE-3233</a>,
<a href="https://issues.apache.org/jira/browse/CALCITE-3231">CALCITE-3231</a>,
<a href="https://issues.apache.org/jira/browse/CALCITE-3250">CALCITE-3250</a>);</li>
  <li>brings new join algorithms for the <code class="highlighter-rouge">Enumerable</code> convention
(<a href="https://issues.apache.org/jira/browse/CALCITE-2979">CALCITE-2979</a>,
<a href="https://issues.apache.org/jira/browse/CALCITE-2973">CALCITE-2973</a>,
<a href="https://issues.apache.org/jira/browse/CALCITE-3284">CALCITE-3284</a>).</li>
</ul>

    
    <p>See the <a href="/docs/history.html#v1-21-0">release notes</a>;
      <a href="/downloads#source-releases">download</a> the release.</p>
    
  </div>
</article>


  
<article>
  <h2>
    <a href="/news/2019/06/24/release-1.20.0/">
      Release 1.20.0
    </a>
  </h2>
  <span class="post-category">
    <span class="label">
      release
    </span>
  </span>
  <div class="post-meta">
    <span class="post-date">
      24 Jun 2019
    </span>
    
    
    
    <a href="https://michael.mior.ca/" class="post-author">
      <img src="https://github.com/michaelmior.png"
           class="avatar" alt="mmior avatar"
           width="24" height="24">
      mmior
    </a>
  </div>
  <div class="post-content">
    <!--

-->

<p>The <a href="">Apache Calcite PMC</a>
is pleased to announce
<a href="/docs/history.html#v1-20-0">Apache Calcite release 1.20.0</a>.</p>

<p>This release comes three months after 1.19.0. It includes more than 130 resolved issues, comprising of a few new features as well as general improvements and bug-fixes.
It includes support for anti-joins, recursive queries, new functions, a new adapter, and many more bug fixes and improvements.</p>

    
    <p>See the <a href="/docs/history.html#v1-20-0">release notes</a>;
      <a href="/downloads#source-releases">download</a> the release.</p>
    
  </div>
</article>


  
<article>
  <h2>
    <a href="/news/2019/03/25/release-1.19.0/">
      Release 1.19.0
    </a>
  </h2>
  <span class="post-category">
    <span class="label">
      release
    </span>
  </span>
  <div class="post-meta">
    <span class="post-date">
      25 Mar 2019
    </span>
    
    
    
    <a href="https://github.com/risdenk" class="post-author">
      <img src="https://github.com/risdenk.png"
           class="avatar" alt="krisden avatar"
           width="24" height="24">
      krisden
    </a>
  </div>
  <div class="post-content">
    <!--

-->

<p>The <a href="">Apache Calcite PMC</a>
is pleased to announce
<a href="/docs/history.html#v1-19-0">Apache Calcite release 1.19.0</a>.</p>

<p>This release comes three months after 1.18.0. It includes more than 80 resolved issues, comprising of a few new features as well as general improvements and bug-fixes. Among others, there have been significant improvements in JSON query support.</p>

    
    <p>See the <a href="/docs/history.html#v1-19-0">release notes</a>;
      <a href="/downloads#source-releases">download</a> the release.</p>
    
  </div>
</article>


  
<article>
  <h2>
    <a href="/news/2018/12/21/release-1.18.0/">
      Release 1.18.0
    </a>
  </h2>
  <span class="post-category">
    <span class="label">
      release
    </span>
  </span>
  <div class="post-meta">
    <span class="post-date">
      21 Dec 2018
    </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-18-0">Apache Calcite release 1.18.0</a>.</p>

<p>With over 200 commits from 36 contributors, this is the largest
Calcite release ever. To the SQL dialect, we added
<a href="https://issues.apache.org/jira/browse/CALCITE-2266">JSON functions</a>,
<a href="https://issues.apache.org/jira/browse/CALCITE-2402">linear regression functions</a>,
and the
<a href="https://issues.apache.org/jira/browse/CALCITE-2224">WITHIN GROUP</a>
clause for aggregate functions; there is a new
<a href="https://issues.apache.org/jira/browse/CALCITE-1870">utility to recommend lattices based on past queries</a>,
and improvements to expression simplification, the SQL advisor,
and the Elasticsearch and Apache Geode adapters.</p>

    
    <p>See the <a href="/docs/history.html#v1-18-0">release notes</a>;
      <a href="/downloads#source-releases">download</a> the release.</p>
    
  </div>
</article>


  
<article>
  <h2>
    <a href="/news/2018/07/20/release-1.17.0/">
      Release 1.17.0
    </a>
  </h2>
  <span class="post-category">
    <span class="label">
      release
    </span>
  </span>
  <div class="post-meta">
    <span class="post-date">
      20 Jul 2018
    </span>
    
    
    
    <a href="https://github.com/vvysotskyi" class="post-author">
      <img src="https://github.com/vvysotskyi.png"
           class="avatar" alt="volodymyr avatar"
           width="24" height="24">
      volodymyr
    </a>
  </div>
  <div class="post-content">
    <!--

-->

<p>The <a href="">Apache Calcite PMC</a>
is pleased to announce
<a href="/docs/history.html#v1-17-0">Apache Calcite release 1.17.0</a>.</p>

<p>This release comes four months after 1.16.0. It includes more than 90 resolved
issues, comprising a large number of new features as well as general improvements
and bug-fixes. Among others:</p>

<ul>
  <li>Implemented <a href="https://issues.apache.org/jira/browse/CALCITE-2280">Babel SQL parser</a>
that accepts all SQL dialects.</li>
  <li>Allowed <a href="https://issues.apache.org/jira/browse/CALCITE-2261">JDK 8 language level</a> for core module.</li>
  <li>Calcite has been upgraded to use <a href="https://issues.apache.org/jira/browse/CALCITE-2365">Avatica 1.12.0</a></li>
</ul>

    
    <p>See the <a href="/docs/history.html#v1-17-0">release notes</a>;
      <a href="/downloads#source-releases">download</a> the release.</p>
    
  </div>
</article>


  
<article>
  <h2>
    <a href="/news/2018/03/19/release-1.16.0/">
      Release 1.16.0
    </a>
  </h2>
  <span class="post-category">
    <span class="label">
      release
    </span>
  </span>
  <div class="post-meta">
    <span class="post-date">
      19 Mar 2018
    </span>
    
    
    
    <a href="https://github.com/jcamachor" class="post-author">
      <img src="https://github.com/jcamachor.png"
           class="avatar" alt="jcamacho avatar"
           width="24" height="24">
      jcamacho
    </a>
  </div>
  <div class="post-content">
    <!--

-->

<p>The <a href="">Apache Calcite PMC</a>
is pleased to announce
<a href="/docs/history.html#v1-16-0">Apache Calcite release 1.16.0</a>.</p>

<p>This release comes three months after 1.15.0. It includes more than 80 resolved
issues, comprising a large number of new features as well as general improvements
and bug-fixes to Calcite core. Among others:</p>

<ul>
  <li>Calcite has been upgraded to use
<a href="https://issues.apache.org/jira/browse/CALCITE-2182">Avatica 1.11.0</a>,
which was recently released.</li>
  <li>Moreover, a new adapter to
<a href="https://issues.apache.org/jira/browse/CALCITE-2059">read data from Apache Geode</a>
was added in this release. In addition, more progress has been made for the existing adapters,
e.g., the Druid adapter can generate
<a href="https://issues.apache.org/jira/browse/CALCITE-2077"><code class="highlighter-rouge">SCAN</code> queries rather than <code class="highlighter-rouge">SELECT</code> queries</a>
for more efficient execution and it can push
<a href="https://issues.apache.org/jira/browse/CALCITE-2170">more work to Druid using its new expressions capabilities</a>,
and the JDBC adapter now <a href="https://issues.apache.org/jira/browse/CALCITE-2128">supports the SQL dialect used by Jethro Data</a>.</li>
  <li>Finally, this release
<a href="https://issues.apache.org/jira/browse/CALCITE-2027">drops support for JDK 1.7</a> and
support for <a href="https://issues.apache.org/jira/browse/CALCITE-2191">Guava versions earlier than 19</a>.</li>
</ul>

    
    <p>See the <a href="/docs/history.html#v1-16-0">release notes</a>;
      <a href="/downloads#source-releases">download</a> the release.</p>
    
  </div>
</article>


  
<article>
  <h2>
    <a href="/news/2017/12/11/release-1.15.0/">
      Release 1.15.0
    </a>
  </h2>
  <span class="post-category">
    <span class="label">
      release
    </span>
  </span>
  <div class="post-meta">
    <span class="post-date">
      11 Dec 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-15-0">Apache Calcite release 1.15.0</a>.
In this release, three months after 1.14.0, 50 issues are fixed by 22
contributors. Among more modest improvements and bug-fixes, here are
some features of note:</p>

<ul>
  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-707">CALCITE-707</a>]
adds <em>DDL commands</em> to Calcite for the first time, including <em>CREATE and DROP
commands for schemas, tables, foreign tables, views, and materialized views</em>.
We know that DDL syntax is a matter of taste, so we added the extensions to a
<em>new “server” module</em>, leaving the “core” parser unchanged;</li>
  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2061">CALCITE-2061</a>]
allows <em>dynamic parameters</em> in the <code class="highlighter-rouge">LIMIT</code> and <code class="highlighter-rouge">OFFSET</code> and clauses;</li>
  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1913">CALCITE-1913</a>]
refactors the JDBC adapter to make it easier to <em>plug in a new SQL dialect</em>;</li>
  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1616">CALCITE-1616</a>]
adds a <em>data profiler</em>, an algorithm that efficiently analyzes large data sets
with many columns, estimating the number of distinct values in columns and
groups of columns, and finding functional dependencies. The improved
statistics are used by the algorithm that designs summary tables for a
lattice.</li>
</ul>

<p>Calcite now supports JDK 10 and Guava 23.0. (It continues to run on
JDK 7, 8 and 9, and on versions of Guava as early as 14.0.1. The default
version of Guava remains 19.0, the latest version compatible with JDK 7
and the Cassandra adapter’s dependencies.)</p>

<p>This is the <a href="https://issues.apache.org/jira/browse/CALCITE-2027">last
release that will support JDK 7</a>.</p>

    
    <p>See the <a href="/docs/history.html#v1-15-0">release notes</a>;
      <a href="/downloads#source-releases">download</a> the release.</p>
    
  </div>
</article>


  
<article>
  <h2>
    <a href="/news/2017/10/02/release-1.14.0/">
      Release 1.14.0
    </a>
  </h2>
  <span class="post-category">
    <span class="label">
      release
    </span>
  </span>
  <div class="post-meta">
    <span class="post-date">
      02 Oct 2017
    </span>
    
    
    
    <a href="https://michael.mior.ca/" class="post-author">
      <img src="https://github.com/michaelmior.png"
           class="avatar" alt="mmior avatar"
           width="24" height="24">
      mmior
    </a>
  </div>
  <div class="post-content">
    <!--

-->

<p>The <a href="">Apache Calcite PMC</a>
is pleased to announce
<a href="/docs/history.html#v1-14-0">Apache Calcite release 1.14.0</a>.</p>

<p>This release comes three months after 1.13.0. It includes 68 resolved issues with many improvements and bug fixes.
This release brings some big new features.
The <code class="highlighter-rouge">GEOMETRY</code> data type was added along with 35 associated functions as the start of support for Simple Feature Access.
There are also two new adapters.</p>

<p>Firstly, the Elasticsearch 5 adapter which now exists in parallel with the previous Elasticsearch 2 adapter.
Additionally there is now an <a href="/docs/os_adapter.html">OS adapter</a> which exposes operating system metrics as relational tables.
<code class="highlighter-rouge">ThetaSketch</code> and <code class="highlighter-rouge">HyperUnique</code> support has also been added to the Druid adapter.
Several minor improvements are added as well including improved <code class="highlighter-rouge">MATCH_RECOGNIZE</code> support, quantified comparison predicates, and <code class="highlighter-rouge">ARRAY</code> and <code class="highlighter-rouge">MULTISET</code> support for UDFs.</p>

    
    <p>See the <a href="/docs/history.html#v1-14-0">release notes</a>;
      <a href="/downloads#source-releases">download</a> the release.</p>
    
  </div>
</article>


  
<article>
  <h2>
    <a href="/news/2017/06/26/release-1.13.0/">
      Release 1.13.0
    </a>
  </h2>
  <span class="post-category">
    <span class="label">
      release
    </span>
  </span>
  <div class="post-meta">
    <span class="post-date">
      26 Jun 2017
    </span>
    
    
    
    <a href="https://github.com/jcamachor" class="post-author">
      <img src="https://github.com/jcamachor.png"
           class="avatar" alt="jcamacho avatar"
           width="24" height="24">
      jcamacho
    </a>
  </div>
  <div class="post-content">
    <!--

-->

<p>The <a href="">Apache Calcite PMC</a>
is pleased to announce
<a href="/docs/history.html#v1-13-0">Apache Calcite release 1.13.0</a>.</p>

<p>This release comes three months after 1.12.0. It includes more than 75 resolved issues, comprising
a large number of new features as well as general improvements and bug-fixes.</p>

<p>First, Calcite has been upgraded to use
<a href="https://issues.apache.org/jira/browse/CALCITE-1807">Avatica 1.10.0</a>,
which was recently released.</p>

<p>Moreover, Calcite core includes improvements which aim at making it more powerful, stable and robust.
In addition to numerous bux-fixes, we have implemented a
<a href="https://issues.apache.org/jira/browse/CALCITE-1731">new materialized view rewriting algorithm</a>
and <a href="https://issues.apache.org/jira/browse/CALCITE-1682">new metadata providers</a> which
should prove useful for data processing systems relying on Calcite.</p>

<p>In this release, we have also completed the work to
<a href="https://issues.apache.org/jira/browse/CALCITE-1570">support the <code class="highlighter-rouge">MATCH_RECOGNIZE</code> clause</a>
used in complex-event processing (CEP).</p>

<p>In addition, more progress has been made for the different adapters.
For instance, the Druid adapter now relies on
<a href="https://issues.apache.org/jira/browse/CALCITE-1771">Druid 0.10.0</a> and
it can generate more efficient plans where most of the computation can be pushed to Druid,
e.g., <a href="https://issues.apache.org/jira/browse/CALCITE-1707">using extraction functions</a>.</p>

    
    <p>See the <a href="/docs/history.html#v1-13-0">release notes</a>;
      <a href="/downloads#source-releases">download</a> the release.</p>
    
  </div>
</article>


  
<article>
  <h2>
    <a href="/news/2017/03/31/new-avatica-repository/">
      New Avatica Repository
    </a>
  </h2>
  <span class="post-category">
    <span class="label">
      
    </span>
  </span>
  <div class="post-meta">
    <span class="post-date">
      31 Mar 2017
    </span>
    
    
    
    <a href="https://github.com/joshelser" class="post-author">
      <img src="https://github.com/joshelser.png"
           class="avatar" alt="elserj avatar"
           width="24" height="24">
      elserj
    </a>
  </div>
  <div class="post-content">
    <!--

-->

<p>The <a href="">Apache Calcite PMC</a>
is pleased to announce further growth of its sub-project, Avatica.</p>

<p>Avatica has been slowly growing inside of Calcite for many years (dating back
to Optiq-0.4.x!). The team has taken the next step to hoist the Avatica code
out of the Calcite repository into its own. The team felt like this was the
next logical step given the maturity of the project.</p>

<p>The previous “/avatica” directory in the Calcite repository has been removed, so
further contributions should be submitted agains the new repository. The de-facto
repository can be found at the ASF’s <a href="https://gitbox.apache.org/repos/asf/calcite-avatica.git">Git hosting</a>,
with a mirrored-copy also available on Github at <a href="https://github.com/apache/calcite-avatica">apache/calcite-avatica</a>.</p>

    
  </div>
</article>


  
<article>
  <h2>
    <a href="/news/2017/03/24/release-1.12.0/">
      Release 1.12.0
    </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="https://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>


  
<article>
  <h2>
    <a href="/news/2017/01/09/release-1.11.0/">
      Release 1.11.0
    </a>
  </h2>
  <span class="post-category">
    <span class="label">
      release
    </span>
  </span>
  <div class="post-meta">
    <span class="post-date">
      09 Jan 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-11-0">Apache Calcite release 1.11.0</a>.</p>

<p>Nearly three months after the previous release, there is a
<a href="/docs/history.html#v1-11-0">long list of improvements and bug-fixes</a>,
many of them making planner rules smarter. The following are some of
the more important ones.</p>

<p>Several adapters have improvements:</p>

<ul>
  <li>The JDBC adapter can now push down DML (<code class="highlighter-rouge">INSERT</code>, <code class="highlighter-rouge">UPDATE</code>, <code class="highlighter-rouge">DELETE</code>),
windowed aggregates (<code class="highlighter-rouge">OVER</code>), <code class="highlighter-rouge">IS NULL</code> and <code class="highlighter-rouge">IS NOT NULL</code> operators.</li>
  <li>The Cassandra adapter now supports authentication.</li>
  <li>Several key bug-fixes in the Druid adapter.</li>
</ul>

<p>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.</p>

<p>New SQL syntax:</p>

<ul>
  <li><code class="highlighter-rouge">CROSS APPLY</code> and <code class="highlighter-rouge">OUTER APPLY</code>;</li>
  <li><code class="highlighter-rouge">MINUS</code> as a synonym for <code class="highlighter-rouge">EXCEPT</code>;</li>
  <li>an <code class="highlighter-rouge">AS JSON</code> option for the <code class="highlighter-rouge">EXPLAIN</code> command;</li>
  <li>compound identifiers in the target list of <code class="highlighter-rouge">INSERT</code>, allowing you to
insert into individual fields of record-valued columns (or column
families if you are using the Apache Phoenix adapter).</li>
</ul>

<p>A variety of new and extended built-in functions: <code class="highlighter-rouge">CONVERT</code>, <code class="highlighter-rouge">LTRIM</code>,
<code class="highlighter-rouge">RTRIM</code>, 3-parameter <code class="highlighter-rouge">LOCATE</code> and <code class="highlighter-rouge">POSITION</code>, <code class="highlighter-rouge">RAND</code>, <code class="highlighter-rouge">RAND_INTEGER</code>,
and <code class="highlighter-rouge">SUBSTRING</code> applied to binary types.</p>

<p>There are minor but potentially breaking API changes in
[<a href="https://issues.apache.org/jira/browse/CALCITE-1519">CALCITE-1519</a>]
(interface <code class="highlighter-rouge">SubqueryConverter</code> becomes <code class="highlighter-rouge">SubQueryConverter</code> and some
similar changes in the case of classes and methods) and
[<a href="https://issues.apache.org/jira/browse/CALCITE-1530">CALCITE-1530</a>]
(rename <code class="highlighter-rouge">Shuttle</code> to <code class="highlighter-rouge">Visitor</code>, and create a new class <code class="highlighter-rouge">Visitor&lt;R&gt;</code>).
See the cases for more details.</p>

    
    <p>See the <a href="/docs/history.html#v1-11-0">release notes</a>;
      <a href="/downloads#source-releases">download</a> the release.</p>
    
  </div>
</article>


  
<article>
  <h2>
    <a href="/news/2016/10/12/release-1.10.0/">
      Release 1.10.0
    </a>
  </h2>
  <span class="post-category">
    <span class="label">
      release
    </span>
  </span>
  <div class="post-meta">
    <span class="post-date">
      12 Oct 2016
    </span>
    
    
    
    <a href="https://github.com/jcamachor" class="post-author">
      <img src="https://github.com/jcamachor.png"
           class="avatar" alt="jcamacho avatar"
           width="24" height="24">
      jcamacho
    </a>
  </div>
  <div class="post-content">
    <!--

-->

<p>The <a href="">Apache Calcite PMC</a>
is pleased to announce
<a href="/docs/history.html#v1-10-0">Apache Calcite release 1.10.0</a>.</p>

<p>This release comes shortly after 1.9.0. It includes mainly bug fixes for the core and
Druid adapter. For the latest, we fixed an
<a href="https://issues.apache.org/jira/browse/CALCITE-1403">important issue</a> that
prevented us from handling consistently time dimensions in different time zones.</p>

    
    <p>See the <a href="/docs/history.html#v1-10-0">release notes</a>;
      <a href="/downloads#source-releases">download</a> the release.</p>
    
  </div>
</article>


  
<article>
  <h2>
    <a href="/news/2016/09/22/release-1.9.0/">
      Release 1.9.0
    </a>
  </h2>
  <span class="post-category">
    <span class="label">
      release
    </span>
  </span>
  <div class="post-meta">
    <span class="post-date">
      22 Sep 2016
    </span>
    
    
    
    <a href="https://github.com/jcamachor" class="post-author">
      <img src="https://github.com/jcamachor.png"
           class="avatar" alt="jcamacho avatar"
           width="24" height="24">
      jcamacho
    </a>
  </div>
  <div class="post-content">
    <!--

-->

<p>The <a href="">Apache Calcite PMC</a>
is pleased to announce
<a href="/docs/history.html#v1-9-0">Apache Calcite release 1.9.0</a>.</p>

<p>This release includes extensions and fixes for the Druid adapter. New features were
added, such as the capability to
<a href="https://issues.apache.org/jira/browse/CALCITE-1357">recognize and translate Timeseries and TopN Druid queries</a>.
Moreover, this release contains multiple bug fixes over the initial implementation of the
adapter. It is worth mentioning that most of these fixes were contributed by Druid developers,
which demonstrates the good reception of the adapter by that community.</p>

<p>We have added new SQL features too, e.g.,
<a href="https://issues.apache.org/jira/browse/CALCITE-1309">support for <code class="highlighter-rouge">LATERAL TABLE</code></a>.
There are multiple interesting extensions to the planner rules that should contribute to
obtain better plans, such as
<a href="https://issues.apache.org/jira/browse/CALCITE-1288">avoiding doing the same join twice</a>
in the presence of <code class="highlighter-rouge">COUNT DISTINCT</code>, or being able to
<a href="https://issues.apache.org/jira/browse/CALCITE-1220">simplify the expressions</a>
in the plan further. In addition, we implemented a rule to
<a href="https://issues.apache.org/jira/browse/CALCITE-1334">convert predicates on <code class="highlighter-rouge">EXTRACT</code> function calls into date ranges</a>.
The rule is not specific to Druid; however, in principle, it will be useful to identify
filter conditions on the time dimension of Druid data sources.</p>

<p>Finally, the release includes more than thirty bug-fixes, minor enhancements and internal
changes to planner rules and APIs.</p>

    
    <p>See the <a href="/docs/history.html#v1-9-0">release notes</a>;
      <a href="/downloads#source-releases">download</a> the release.</p>
    
  </div>
</article>


  
<article>
  <h2>
    <a href="/news/2016/06/13/release-1.8.0/">
      Release 1.8.0
    </a>
  </h2>
  <span class="post-category">
    <span class="label">
      release
    </span>
  </span>
  <div class="post-meta">
    <span class="post-date">
      13 Jun 2016
    </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-8-0">Apache Calcite release 1.8.0</a>.</p>

<p>This release adds adapters for
<a href="https://issues.apache.org/jira/browse/CALCITE-1253">Elasticsearch</a> and
<a href="https://issues.apache.org/jira/browse/CALCITE-1121">Druid</a>.
It is also now easier to
<a href="https://issues.apache.org/jira/browse/CALCITE-1259">make a JDBC connection based upon a single adapter</a>.</p>

<p>There are several new SQL features: <code class="highlighter-rouge">UNNEST</code> with
<a href="https://issues.apache.org/jira/browse/CALCITE-855">multiple arguments</a>,
<a href="https://issues.apache.org/jira/browse/CALCITE-1250">MAP arguments</a>
and <a href="https://issues.apache.org/jira/browse/CALCITE-1225">with a JOIN</a>;
a <a href="https://issues.apache.org/jira/browse/CALCITE-1168">DESCRIBE</a> statement;
and a <a href="https://issues.apache.org/jira/browse/CALCITE-1115">TRANSLATE</a>
function like the one in Oracle and PostgreSQL.</p>

<p>We also added support for
<a href="https://issues.apache.org/jira/browse/CALCITE-1120">SELECT without FROM</a>
(equivalent to the <code class="highlighter-rouge">VALUES</code> clause, and widely used in MySQL and PostgreSQL),
and added a
<a href="/docs/adapter.html#jdbc-connect-string-parameters">conformance</a>
parameter to allow you to selectively enable this and other SQL features.</p>

<p>And, as usual, there are a couple of dozen bug-fixes and enhancements to
planner rules and APIs.</p>

    
    <p>See the <a href="/docs/history.html#v1-8-0">release notes</a>;
      <a href="/downloads#source-releases">download</a> the release.</p>
    
  </div>
</article>


  
<article>
  <h2>
    <a href="/news/2016/03/22/cassandra-adapter/">
      Cassandra Adapter
    </a>
  </h2>
  <span class="post-category">
    <span class="label">
      new features
    </span>
  </span>
  <div class="post-meta">
    <span class="post-date">
      22 Mar 2016
    </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>A new Apache Calcite adapter allows you to access
<a href="https://cassandra.apache.org/">Apache Cassandra</a> via industry-standard SQL.</p>

<p>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 <a href="https://cassandra.apache.org/doc/cql/CQL.html">CQL</a>.
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.</p>

<p>Read more about the adapter <a href="/docs/cassandra.html">here</a>.</p>

<p>The Cassandra adapter is available as part of
<a href="/docs/history.html#v1-7-0">Apache Calcite version 1.7.0</a>,
which has just been released. Calcite also has
<a href="/docs/adapter.html">adapters</a>
for CSV and JSON files, and JDBC data source, MongoDB, Spark and Splunk.</p>

    
  </div>
</article>


  
<article>
  <h2>
    <a href="/news/2016/03/22/release-1.7.0/">
      Release 1.7.0
    </a>
  </h2>
  <span class="post-category">
    <span class="label">
      release
    </span>
  </span>
  <div class="post-meta">
    <span class="post-date">
      22 Mar 2016
    </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>Apache Calcite 1.7.0 is the first release since
<a href="/avatica/news/2016/03/03/separate-project/">Avatica became an independent project</a>.
Calcite now depends on <a href="/avatica/">Avatica</a> in the
same way as it does other libraries, via a Maven dependency. To see
Avatica-related changes, see the
<a href="/avatica/docs/history.html#v1-7-1">release notes for Avatica 1.7.1</a>.</p>

<p>We have <a href="https://issues.apache.org/jira/browse/CALCITE-1080">added</a>
an <a href="/docs/cassandra.html">adapter</a> for
<a href="https://cassandra.apache.org/">Apache Cassandra</a>.
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 <a href="https://cassandra.apache.org/doc/cql/CQL.html">CQL</a>.
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.</p>

<p>This release adds an
<a href="https://issues.apache.org/jira/browse/CALCITE-1066">Oracle-compatibility mode</a>.
If you add <code class="highlighter-rouge">fun=oracle</code> to your JDBC connect string, you get all of
the standard operators and functions plus Oracle-specific functions
<code class="highlighter-rouge">DECODE</code>, <code class="highlighter-rouge">NVL</code>, <code class="highlighter-rouge">LTRIM</code>, <code class="highlighter-rouge">RTRIM</code>, <code class="highlighter-rouge">GREATEST</code> and <code class="highlighter-rouge">LEAST</code>. We look
forward to adding more functions, and compatibility modes for other
databases, in future releases.</p>

<p>We’ve replaced our use of JUL (<code class="highlighter-rouge">java.util.logging</code>)
with <a href="https://slf4j.org/">SLF4J</a>. 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
[<a href="https://issues.apache.org/jira/browse/CALCITE-669">CALCITE-669</a>].</p>

<p>For users experienced with configuring JUL in Calcite previously, there are some
differences as some the JUL logging levels do not exist in SLF4J: <code class="highlighter-rouge">FINE</code>,
<code class="highlighter-rouge">FINER</code>, and <code class="highlighter-rouge">FINEST</code>, specifically. To deal with this, <code class="highlighter-rouge">FINE</code> was mapped
to SLF4J’s <code class="highlighter-rouge">DEBUG</code> level, while <code class="highlighter-rouge">FINER</code> and <code class="highlighter-rouge">FINEST</code> were mapped to SLF4J’s <code class="highlighter-rouge">TRACE</code>.</p>

    
    <p>See the <a href="/docs/history.html#v1-7-0">release notes</a>;
      <a href="/downloads#source-releases">download</a> the release.</p>
    
  </div>
</article>


  
<article>
  <h2>
    <a href="/news/2016/02/17/streaming-sql-talk/">
      Streaming SQL in Samza
    </a>
  </h2>
  <span class="post-category">
    <span class="label">
      talks
    </span>
  </span>
  <div class="post-meta">
    <span class="post-date">
      17 Feb 2016
    </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>Julian Hyde gave a talk at the <a href="https://samza.apache.org/">Apache Samza</a>
meetup in Mountain View, CA.</p>

<p>His talk asked the questions:</p>

<ul>
  <li>What is <a href="https://github.com/milinda/samza-sql">SamzaSQL</a>,
and what might I use it for?</li>
  <li>Does this mean that Samza is turning into a database?</li>
  <li>What is a query optimizer, and what can it do for my streaming queries?</li>
</ul>

<p>The talk is available in
[<a href="https://www.slideshare.net/julianhyde/streaming-sql">slides</a>]
and
[<a href="https://www.ustream.tv/recorded/83322450#to00:55:48">video</a>].</p>

    
  </div>
</article>


  
<article>
  <h2>
    <a href="/news/2016/02/17/elser-pmc/">
      Calcite appoints Josh Elser to PMC
    </a>
  </h2>
  <span class="post-category">
    <span class="label">
      team
    </span>
  </span>
  <div class="post-meta">
    <span class="post-date">
      17 Feb 2016
    </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 Apache Calcite project management committee (PMC) today announced the
appointment of <a href="https://mail-archives.apache.org/mod_mbox/calcite-dev/201602.mbox/%3C12AA8D09-BBF8-470B-8933-5B672162546C%40apache.org%3E">Josh Elser</a>
to the committee.</p>

<p>Josh has only been a committer for a few months, but has become a prominent
member of the Calcite project, and has taken leadership in several areas,
not least in discussing <a href="https://mail-archives.apache.org/mod_mbox/calcite-dev/201601.mbox/%3C56ABCCFF.3010205%40gmail.com%3E">the future of Avatica</a>.</p>

    
  </div>
</article>


  
<article>
  <h2>
    <a href="/news/2016/01/22/release-1.6.0/">
      Release 1.6.0
    </a>
  </h2>
  <span class="post-category">
    <span class="label">
      release
    </span>
  </span>
  <div class="post-meta">
    <span class="post-date">
      22 Jan 2016
    </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>As usual in this release, there are new SQL features, improvements to
planning rules and Avatica, and lots of bug fixes. We’ll spotlight a
couple of features make it easier to handle complex queries.</p>

<p>[<a href="https://issues.apache.org/jira/browse/CALCITE-816">CALCITE-816</a>]
allows you to represent sub-queries (<code class="highlighter-rouge">EXISTS</code>, <code class="highlighter-rouge">IN</code> and scalar) as
<a href="/javadocAggregate/org/apache/calcite/rex/RexSubQuery.html">RexSubQuery</a>,
a kind of expression in the relational algebra. Until
now, the sql-to-rel converter was burdened with expanding sub-queries,
and people creating relational algebra directly (or via
<a href="/javadocAggregate/org/apache/calcite/tools/RelBuilder.html">RelBuilder</a>)
could only create ‘flat’ relational expressions. Now we have planner
rules to expand and de-correlate sub-queries.</p>

<p>Metadata is the fuel that powers query planning. It includes
traditional query-planning statistics such as cost and row-count
estimates, but also information such as which columns form unique
keys, unique and what predicates are known to apply to a relational
expression’s output rows. From the predicates we can deduce which
columns are constant, and following
[<a href="https://issues.apache.org/jira/browse/CALCITE-1023">CALCITE-1023</a>]
we can now remove constant columns from <code class="highlighter-rouge">GROUP BY</code> keys.</p>

<p>Metadata is often computed recursively, and it is hard to safely and
efficiently calculate metadata on a graph of <code class="highlighter-rouge">RelNode</code>s that is large,
frequently cyclic, and constantly changing.
[<a href="https://issues.apache.org/jira/browse/CALCITE-794">CALCITE-794</a>]
introduces a context to each metadata call. That context can detect
cyclic metadata calls and produce a safe answer to the metadata
request. It will also allow us to add finer-grained caching and
further tune the metadata layer.</p>

    
    <p>See the <a href="/docs/history.html#v1-6-0">release notes</a>;
      <a href="/downloads#source-releases">download</a> the release.</p>
    
  </div>
</article>


  
<article>
  <h2>
    <a href="/news/2015/11/10/release-1.5.0/">
      Release 1.5.0
    </a>
  </h2>
  <span class="post-category">
    <span class="label">
      release
    </span>
  </span>
  <div class="post-meta">
    <span class="post-date">
      10 Nov 2015
    </span>
    
    
    
    <a href="https://github.com/jcamachor" class="post-author">
      <img src="https://github.com/jcamachor.png"
           class="avatar" alt="jcamacho avatar"
           width="24" height="24">
      jcamacho
    </a>
  </div>
  <div class="post-content">
    <!--

-->

<p>This is our first release as a top-level Apache project! Thanks to everyone who has contributed to it.</p>

<p>In addition to a large number of bug fixes and minor enhancements, this release includes major improvements to Avatica, planner rules, and RelBuilder.</p>

<p>Further, we built Piglet, a subset of the classic Hadoop language Pig. Pig is particularly interesting because it makes heavy use of nested multi-sets. You can follow this example to implement your own query language, and immediately taking advantage of Calcite’s back-ends and optimizer rules.</p>

    
    <p>See the <a href="/docs/history.html#v1-5-0">release notes</a>;
      <a href="/downloads#source-releases">download</a> the release.</p>
    
  </div>
</article>


  
<article>
  <h2>
    <a href="/news/2015/11/08/new-committers/">
      Calcite adds 2 committers
    </a>
  </h2>
  <span class="post-category">
    <span class="label">
      team
    </span>
  </span>
  <div class="post-meta">
    <span class="post-date">
      08 Nov 2015
    </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 Calcite project management committee today added two new
committers for their work on Calcite. Welcome!</p>

<ul>
  <li><a href="https://mail-archives.apache.org/mod_mbox/incubator-calcite-dev/201511.mbox/%3CCAPSgeEQ4%2Bj8MNjYFaa%3D15QjJV%2BiVDwG6bAhW1muk8Gdo0UAYWg%40mail.gmail.com%3E">Josh Elser</a></li>
  <li><a href="https://mail-archives.apache.org/mod_mbox/incubator-calcite-dev/201511.mbox/%3CCAPSgeEQg7ACNWfPXiPY69PNPqA9ov%2BKGzzrNe7t7mMyOEV7hYQ%40mail.gmail.com%3E">Maryann Xue</a></li>
</ul>

    
  </div>
</article>


  
<article>
  <h2>
    <a href="/news/2015/10/22/calcite-graduates/">
      Calcite Graduates
    </a>
  </h2>
  <span class="post-category">
    <span class="label">
      milestones
    </span>
  </span>
  <div class="post-meta">
    <span class="post-date">
      22 Oct 2015
    </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>On October 21st, 2015 the board of the
<a href="https://www.apache.org">Apache Software Foundation</a>
voted to establish Calcite as a top-level Apache project.</p>

<p><img src="/img/cake.jpg" alt="Calcite's graduation cake" /></p>

<p>Describing itself as “the foundation for your next high-performance
database”, Calcite is a
<a href="/docs/">framework for building data management systems</a>.
Calcite includes a comprehensive implementation of relational algebra
and an extensible cost-based query optimizer. It also includes an
optional SQL parser and JDBC driver.</p>

<p>Calcite joined Apache as an incubator project in May, 2014. To
graduate from the incubator, projects have to prove that they can
create high quality releases, form a diverse community, and operate as
a meritocracy.</p>

<p>Calcite’s committers have delivered eight releases during incubation
(roughly one every two months) including the
<a href="/news/2015/01/31/release-1.0.0-incubating/">milestone 1.0 release in January, 2015</a>.</p>

<p>The project has become a key component in many high-performance
databases, including the
<a href="https://drill.apache.org">Apache Drill</a>,
<a href="https://hive.apache.org">Apache Hive</a>,
<a href="https://kylin.apache.org">Apache Kylin</a> and
<a href="https://phoenix.apache.org">Apache Phoenix</a> open source projects,
and several commercial products.</p>

<p>Also, in collaboration with <a href="https://samza.apache.org">Apache Samza</a> and
<a href="https://storm.apache.org">Apache Storm</a>, Calcite is developing
<a href="/docs/stream.html">streaming extensions to standard SQL</a>.</p>

<p>The Calcite community met at a hangout on October 27th, 2015, and
celebrated with a graduation cake.</p>

    
  </div>
</article>


  
<article>
  <h2>
    <a href="/news/2015/09/02/release-1.4.0-incubating/">
      Release 1.4.0 Incubating
    </a>
  </h2>
  <span class="post-category">
    <span class="label">
      release
    </span>
  </span>
  <div class="post-meta">
    <span class="post-date">
      02 Sep 2015
    </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>In addition to a large number of bug fixes and minor enhancements,
this release includes improvements to
<a href="https://issues.apache.org/jira/browse/CALCITE-758">lattices</a> and
<a href="https://issues.apache.org/jira/browse/CALCITE-761">materialized views</a>,
and adds a
<a href="https://issues.apache.org/jira/browse/CALCITE-748">builder API</a>
so that you can easily create relational algebra expressions.</p>

<p>Read more about the <a href="/news/2015/06/05/algebra-builder/">builder</a>,
<a href="/docs/algebra.html">relational algebra</a>, and
<a href="/docs/lattice.html">lattices</a>.</p>

    
    <p>See the <a href="/docs/history.html#v1-4-0">release notes</a>;
      <a href="/downloads#source-releases">download</a> the release.</p>
    
  </div>
</article>


  
<article>
  <h2>
    <a href="/news/2015/07/31/xldb-best-lightning-talk/">
      XLDB 2015 best lightning talk
    </a>
  </h2>
  <span class="post-category">
    <span class="label">
      talks
    </span>
  </span>
  <div class="post-meta">
    <span class="post-date">
      31 Jul 2015
    </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>Julian Hyde’s talk Apache Calcite: One planner fits all won
<a href="https://www.xldb.org/archives/2015/05/best-lightning-talks-selected/">Best Lightning Talk</a>
at the XLDB-2015 conference (with Eric Tschetter’s talk “Sketchy
Approximations”).</p>

<p>XLDB is an annual conference that brings together experts from
science, industry and academia to find practical solutions to problems
involving extremely large data sets.</p>

<p>As a result of winning Best Lightning Talk, Julian will get a 30
minute keynote speaking slot at XLDB-2016.</p>

<p>The talk is available in
<a href="https://www.slideshare.net/julianhyde/apache-calcite-one-planner-fits-all">slides</a>
and <a href="https://www.youtube.com/watch?v=5_MyORYjq3w">video</a>.</p>

    
  </div>
</article>


  
<article>
  <h2>
    <a href="/news/2015/06/05/algebra-builder/">
      Algebra builder
    </a>
  </h2>
  <span class="post-category">
    <span class="label">
      new features
    </span>
  </span>
  <div class="post-meta">
    <span class="post-date">
      05 Jun 2015
    </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>Calcite’s foundation is a comprehensive implementation of relational
algebra (together with transformation rules, cost model, and metadata)
but to create algebra expressions you had to master a complex API.</p>

<p>We’re solving this problem by introducing an
<a href="/javadocAggregate/org/apache/calcite/tools/RelBuilder.html">algebra builder</a>,
a single class with all the methods you need to build any relational
expression.</p>

<p>For example,</p>

<figure class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">final</span> <span class="n">FrameworkConfig</span> <span class="n">config</span><span class="o">;</span>
<span class="kd">final</span> <span class="n">RelBuilder</span> <span class="n">builder</span> <span class="o">=</span> <span class="n">RelBuilder</span><span class="o">.</span><span class="na">create</span><span class="o">(</span><span class="n">config</span><span class="o">);</span>
<span class="kd">final</span> <span class="n">RelNode</span> <span class="n">node</span> <span class="o">=</span> <span class="n">builder</span>
  <span class="o">.</span><span class="na">scan</span><span class="o">(</span><span class="s">"EMP"</span><span class="o">)</span>
  <span class="o">.</span><span class="na">aggregate</span><span class="o">(</span><span class="n">builder</span><span class="o">.</span><span class="na">groupKey</span><span class="o">(</span><span class="s">"DEPTNO"</span><span class="o">),</span>
      <span class="n">builder</span><span class="o">.</span><span class="na">count</span><span class="o">(</span><span class="kc">false</span><span class="o">,</span> <span class="s">"C"</span><span class="o">),</span>
      <span class="n">builder</span><span class="o">.</span><span class="na">sum</span><span class="o">(</span><span class="kc">false</span><span class="o">,</span> <span class="s">"S"</span><span class="o">,</span> <span class="n">builder</span><span class="o">.</span><span class="na">field</span><span class="o">(</span><span class="s">"SAL"</span><span class="o">)))</span>
  <span class="o">.</span><span class="na">filter</span><span class="o">(</span>
      <span class="n">builder</span><span class="o">.</span><span class="na">call</span><span class="o">(</span><span class="n">SqlStdOperatorTable</span><span class="o">.</span><span class="na">GREATER_THAN</span><span class="o">,</span>
          <span class="n">builder</span><span class="o">.</span><span class="na">field</span><span class="o">(</span><span class="s">"C"</span><span class="o">),</span>
          <span class="n">builder</span><span class="o">.</span><span class="na">literal</span><span class="o">(</span><span class="mi">10</span><span class="o">)))</span>
  <span class="o">.</span><span class="na">build</span><span class="o">();</span>
<span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="n">RelOptUtil</span><span class="o">.</span><span class="na">toString</span><span class="o">(</span><span class="n">node</span><span class="o">));</span></code></pre></figure>

<p>creates the algebra</p>

<figure class="highlight"><pre><code class="language-text" data-lang="text">LogicalFilter(condition=[&gt;($1, 10)])
  LogicalAggregate(group=[{7}], C=[COUNT()], S=[SUM($5)])
    LogicalTableScan(table=[[scott, EMP]])</code></pre></figure>

<p>which is equivalent to the SQL</p>

<figure class="highlight"><pre><code class="language-sql" data-lang="sql"><span class="k">SELECT</span> <span class="n">deptno</span><span class="p">,</span> <span class="k">count</span><span class="p">(</span><span class="o">*</span><span class="p">)</span> <span class="k">AS</span> <span class="k">c</span><span class="p">,</span> <span class="k">sum</span><span class="p">(</span><span class="n">sal</span><span class="p">)</span> <span class="k">AS</span> <span class="n">s</span>
<span class="k">FROM</span> <span class="n">emp</span>
<span class="k">GROUP</span> <span class="k">BY</span> <span class="n">deptno</span>
<span class="k">HAVING</span> <span class="k">count</span><span class="p">(</span><span class="o">*</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mi">10</span></code></pre></figure>

<p>The <a href="/docs/algebra.html">algebra builder documentation</a> describes the
full API and has lots of examples.</p>

<p>We’re still working on the algebra builder, but plan to release it
with Calcite 1.4 (see
[<a href="https://issues.apache.org/jira/browse/CALCITE-748">CALCITE-748</a>]).</p>

<p>The algebra builder will make some existing tasks easier (such as
writing planner rules), but will also enable new things, such as
writing applications directly on top of Calcite, or implementing
non-SQL query languages. These applications and languages will be able
to take advantage of Calcite’s existing back-ends (including
Hive-on-Tez, Drill, MongoDB, Splunk, Spark, JDBC data sources) and
extensive set of query-optimization rules.</p>

<p>If you have questions or comments, please post to the
<a href="/develop">mailing list</a>.</p>

    
  </div>
</article>


  
<article>
  <h2>
    <a href="/news/2015/05/30/release-1.3.0-incubating/">
      Release 1.3.0 Incubating
    </a>
  </h2>
  <span class="post-category">
    <span class="label">
      release
    </span>
  </span>
  <div class="post-meta">
    <span class="post-date">
      30 May 2015
    </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>Mainly bug-fixes, but this release adds support for
<a href="https://issues.apache.org/jira/browse/CALCITE-505">modifiable views</a>
and
<a href="https://issues.apache.org/jira/browse/CALCITE-704">filtered aggregate functions</a>
and various improvements to Avatica.</p>

    
    <p>See the <a href="/docs/history.html#v1-3-0">release notes</a>;
      <a href="/downloads#source-releases">download</a> the release.</p>
    
  </div>
</article>


  
<article>
  <h2>
    <a href="/news/2015/04/24/new-committers/">
      Calcite adds 5 committers
    </a>
  </h2>
  <span class="post-category">
    <span class="label">
      team
    </span>
  </span>
  <div class="post-meta">
    <span class="post-date">
      24 Apr 2015
    </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 Calcite project management committee today added five new
committers for their work on Calcite. Welcome all!</p>

<ul>
  <li>Aman Sinha</li>
  <li>Jesús Camacho-Rodríguez</li>
  <li>Jinfeng Ni</li>
  <li>John Pullokkaran</li>
  <li>Nick Dimiduk</li>
</ul>

    
  </div>
</article>


  
<article>
  <h2>
    <a href="/news/2015/04/07/release-1.2.0-incubating/">
      Release 1.2.0 Incubating
    </a>
  </h2>
  <span class="post-category">
    <span class="label">
      release
    </span>
  </span>
  <div class="post-meta">
    <span class="post-date">
      07 Apr 2015
    </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>A short release, less than a month after 1.1.</p>

<p>There have been many changes to Avatica, hugely improving its coverage of the
JDBC API and overall robustness. A new provider, <code class="highlighter-rouge">JdbcMeta</code>, allows
you to remote an existing JDBC driver.</p>

<p>[<a href="https://issues.apache.org/jira/browse/CALCITE-606">CALCITE-606</a>]
improves how the planner propagates traits such as collation and
distribution among relational expressions.</p>

<p>[<a href="https://issues.apache.org/jira/browse/CALCITE-613">CALCITE-613</a>]
and [<a href="https://issues.apache.org/jira/browse/CALCITE-307">CALCITE-307</a>]
improve implicit and explicit conversions in SQL.</p>

    
    <p>See the <a href="/docs/history.html#v1-2-0">release notes</a>;
      <a href="/downloads#source-releases">download</a> the release.</p>
    
  </div>
</article>


  
<article>
  <h2>
    <a href="/news/2015/03/13/release-1.1.0-incubating/">
      Release 1.1.0 Incubating
    </a>
  </h2>
  <span class="post-category">
    <span class="label">
      release
    </span>
  </span>
  <div class="post-meta">
    <span class="post-date">
      13 Mar 2015
    </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>This Calcite release makes it possible to exploit physical properties
of relational expressions to produce more efficient plans, introducing
collation and distribution as traits, <code class="highlighter-rouge">Exchange</code> relational operator,
and several new forms of metadata.</p>

<p>We add experimental support for streaming SQL.</p>

<p>This release drops support for JDK 1.6; Calcite now requires 1.7 or
later.</p>

<p>We have introduced static <code class="highlighter-rouge">create</code> methods for many sub-classes of
<code class="highlighter-rouge">RelNode</code>. We strongly suggest that you use these rather than
calling constructors directly.</p>

    
    <p>See the <a href="/docs/history.html#v1-1-0">release notes</a>;
      <a href="/downloads#source-releases">download</a> the release.</p>
    
  </div>
</article>


  
<article>
  <h2>
    <a href="/news/2015/01/31/release-1.0.0-incubating/">
      Release 1.0.0 Incubating
    </a>
  </h2>
  <span class="post-category">
    <span class="label">
      release
    </span>
  </span>
  <div class="post-meta">
    <span class="post-date">
      31 Jan 2015
    </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>Calcite’s first major release.</p>

<p>Since the previous release we have re-organized the into the <code class="highlighter-rouge">org.apache.calcite</code>
namespace. To make migration of your code easier, we have described the
<a href="https://issues.apache.org/jira/secure/attachment/12681620/mapping.txt">mapping from old to new class names</a>
as an attachment to
[<a href="https://issues.apache.org/jira/browse/CALCITE-296">CALCITE-296</a>].</p>

<p>The release adds SQL support for <code class="highlighter-rouge">GROUPING SETS</code>, <code class="highlighter-rouge">EXTEND</code>, <code class="highlighter-rouge">UPSERT</code> and sequences;
a remote JDBC driver;
improvements to the planner engine and built-in planner rules;
improvements to the algorithms that implement the relational algebra,
including an interpreter that can evaluate queries without compilation;
and fixes about 30 bugs.</p>

    
    <p>See the <a href="/docs/history.html#v1-0-0">release notes</a>;
      <a href="/downloads#source-releases">download</a> the release.</p>
    
  </div>
</article>


  
<article>
  <h2>
    <a href="/news/2014/11/05/release-0.9.2-incubating/">
      Release 0.9.2 Incubating
    </a>
  </h2>
  <span class="post-category">
    <span class="label">
      release
    </span>
  </span>
  <div class="post-meta">
    <span class="post-date">
      05 Nov 2014
    </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>A fairly minor release, and last release before we rename all of the
packages and lots of classes, in what we expect to call 1.0. If you
have an existing application, it’s worth upgrading to this first,
before you move on to 1.0.</p>

    
    <p>See the <a href="/docs/history.html#v0-9-2">release notes</a>;
      <a href="/downloads#source-releases">download</a> the release.</p>
    
  </div>
</article>


  
<article>
  <h2>
    <a href="/news/2014/10/02/release-0.9.1-incubating/">
      Release 0.9.1 Incubating
    </a>
  </h2>
  <span class="post-category">
    <span class="label">
      release
    </span>
  </span>
  <div class="post-meta">
    <span class="post-date">
      02 Oct 2014
    </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>This is the first release as Calcite. (The project was previously called Optiq.)</p>

    
    <p>See the <a href="/docs/history.html#v0-9-1">release notes</a>;
      <a href="/downloads#source-releases">download</a> the release.</p>
    
  </div>
</article>


  
<article>
  <h2>
    <a href="/news/2014/08/19/release-0.9.0-incubating/">
      Release 0.9.0 Incubating
    </a>
  </h2>
  <span class="post-category">
    <span class="label">
      release
    </span>
  </span>
  <div class="post-meta">
    <span class="post-date">
      19 Aug 2014
    </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>This is the first release under the Apache incubator process.</p>

    
    <p>See the <a href="/docs/history.html#v0-9-0">release notes</a>;
      <a href="/downloads#source-releases">download</a> the release.</p>
    
  </div>
</article>


  
<article>
  <h2>
    <a href="/news/2014/06/27/release-0.8.0-incubating/">
      Release 0.8.0 Incubating
    </a>
  </h2>
  <span class="post-category">
    <span class="label">
      release
    </span>
  </span>
  <div class="post-meta">
    <span class="post-date">
      27 Jun 2014
    </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>Several new features, including a heuristic rule to plan queries with
a large number of joins, a number of windowed aggregate functions, and
new utility, <code class="highlighter-rouge">SqlRun</code>.</p>

    
    <p>See the <a href="/docs/history.html#v0-8">release notes</a>;
      <a href="/downloads#source-releases">download</a> the release.</p>
    
  </div>
</article>



<p></p>

<h2>Calcite Twitter</h2>

<p>The official <a href="https://twitter.com/ApacheCalcite">@ApacheCalcite</a>
Twitter account pushes announcements about Calcite. If you give a talk about
Calcite, let us know and we'll tweet it out and add it to the news section
of the website.</p>

      </div>

      <div class="unit one-fifth hide-on-mobiles">
  <aside>
    <ul>
      <li class="current">
        <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/2020/03/05/release-1.22.0/">1.22.0</a>
      </li>
      
      <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>
      
    </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;2020
     <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>
