You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@calcite.apache.org by jh...@apache.org on 2015/05/29 13:48:35 UTC

svn commit: r1682430 [3/9] - in /incubator/calcite/site: ./ css/ develop/ docs/ downloads/ fonts/ help/ img/ js/ news/ news/2015/ news/2015/01/ news/2015/01/31/ news/2015/01/31/release-1.0.0-incubating/ news/2015/03/ news/2015/03/13/ news/2015/03/13/re...

Added: incubator/calcite/site/docs/history.html
URL: http://svn.apache.org/viewvc/incubator/calcite/site/docs/history.html?rev=1682430&view=auto
==============================================================================
--- incubator/calcite/site/docs/history.html (added)
+++ incubator/calcite/site/docs/history.html Fri May 29 11:48:34 2015
@@ -0,0 +1,2728 @@
+<!DOCTYPE HTML>
+<html lang="en-US">
+<head>
+  <meta charset="UTF-8">
+  <title>History</title>
+  <meta name="viewport" content="width=device-width,initial-scale=1">
+  <meta name="generator" content="Jekyll v2.4.0">
+  <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">
+  <nav class="mobile-nav show-on-mobiles">
+    <ul>
+  <li class="">
+    <a href="/">Home</a>
+  </li>
+  <li class="current">
+    <a href="/docs/">Documentation</a>
+  </li>
+  <li class="">
+    <a href="/talks/">Talks</a>
+  </li>
+  <li class="">
+    <a href="/news/">News</a>
+  </li>
+  <li class="">
+    <a href="/help/">Help</a>
+  </li>
+  <li class="">
+    <a href="/develop/">Develop</a>
+  </li>
+</ul>
+
+  </nav>
+  <div class="grid">
+    <div class="unit one-third center-on-mobiles">
+      <h1>
+        <a href="/">
+          <span class="sr-only">Apache Calcite</span>
+          <img src="/img/logo.png" width="226" height="140" alt="Calcite Logo">
+        </a>
+      </h1>
+    </div>
+    <nav class="main-nav unit two-thirds hide-on-mobiles">
+      <ul>
+  <li class="">
+    <a href="/">Home</a>
+  </li>
+  <li class="current">
+    <a href="/docs/">Documentation</a>
+  </li>
+  <li class="">
+    <a href="/talks/">Talks</a>
+  </li>
+  <li class="">
+    <a href="/news/">News</a>
+  </li>
+  <li class="">
+    <a href="/help/">Help</a>
+  </li>
+  <li class="">
+    <a href="/develop/">Develop</a>
+  </li>
+</ul>
+
+    </nav>
+  </div>
+</header>
+
+
+    <section class="docs">
+    <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 docs…</option>
+    
+    <optgroup label="Overview">
+      
+
+
+  
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <option value="/docs/index.html">Background</option>
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+
+  
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <option value="/docs/tutorial.html">Tutorial</option>
+    
+  
+
+  
+
+  
+    
+  
+    
+      <option value="/docs/algebra.html">Algebra</option>
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+
+
+    </optgroup>
+    
+    <optgroup label="Advanced">
+      
+
+
+  
+
+  
+    
+      <option value="/docs/adapter.html">Adapters</option>
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+
+  
+
+  
+    
+  
+    
+  
+    
+  
+    
+      <option value="/docs/avatica.html">Avatica</option>
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+
+  
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <option value="/docs/stream.html">Streaming</option>
+    
+  
+    
+  
+
+  
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <option value="/docs/lattice.html">Lattices</option>
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+
+
+    </optgroup>
+    
+    <optgroup label="Reference">
+      
+
+
+  
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <option value="/docs/reference.html">SQL language</option>
+    
+  
+    
+  
+    
+  
+
+  
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <option value="/docs/model.html">JSON models</option>
+    
+  
+    
+  
+    
+  
+    
+  
+
+  
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <option value="/docs/howto.html">HOWTO</option>
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+
+
+    </optgroup>
+    
+    <optgroup label="Meta">
+      
+
+
+  
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <option value="/docs/downloads.html">Downloads</option>
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+
+  
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <option value="/docs/history.html">History</option>
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+
+  
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <option value="/docs/contributing.html">Contributing</option>
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+
+  
+
+  
+    
+  
+    
+  
+    
+      <option value="/docs/api.html">API</option>
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+
+
+    </optgroup>
+    
+  </select>
+</div>
+
+
+      <div class="unit four-fifths">
+        <article>
+          <h1>History</h1>
+          <!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to you under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+<p>For a full list of releases, see
+<a href="https://github.com/apache/incubator-calcite/releases">github</a>.</p>
+
+<h2 id="v1-3-0"><a href="https://github.com/apache/incubator-calcite/releases/tag/calcite-1.3.0-incubating">1.3.0-incubating</a> / 2015-05-21</h2>
+
+<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>New features</p>
+
+<ul>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-505">CALCITE-505</a>]
+Support modifiable view</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-704">CALCITE-704</a>]
+<code>FILTER</code> clause for aggregate functions</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-522">CALCITE-522</a>]
+In remote JDBC driver, transmit static database properties as a map</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-661">CALCITE-661</a>]
+Remote fetch in Calcite JDBC driver</li>
+  <li>Support Date, Time, Timestamp parameters</li>
+</ul>
+
+<p>API changes</p>
+
+<ul>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-722">CALCITE-722</a>]
+Rename markdown files to lower-case</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-697">CALCITE-697</a>]
+Obsolete class <code>RelOptQuery</code></li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-693">CALCITE-693</a>]
+Allow clients to control creation of <code>RelOptCluster</code></li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-691">CALCITE-691</a>]
+Allow projects to supply alternate SQL parser</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-675">CALCITE-675</a>]
+Enable <code>AggregateProjectMergeRule</code> in standard rule set</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-679">CALCITE-679</a>]
+Factory method for <code>SemiJoin</code></li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-674">CALCITE-674</a>]
+Add a <code>SWAP_OUTER</code> static instance to <code>JoinCommuteRule</code> (Maryann Xue)</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-735">CALCITE-735</a>]
+<code>Primitive.DOUBLE.min</code> should be large and negative</li>
+</ul>
+
+<p>Bug-fixes and internal changes
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-688">CALCITE-688</a>]
+  <code>splitCondition</code> does not behave correctly when one side of the condition
+  references columns from different inputs
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-259">CALCITE-259</a>]
+  Using sub-queries in <code>CASE</code> statement against JDBC tables generates invalid
+  Oracle SQL (Yeong Wei)
+* In sample code in README.md, rename optiq to calcite (Ethan)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-720">CALCITE-720</a>]
+  <code>VolcanoPlanner.ambitious</code> comment doc is inconsistent (Santiago M. Mola)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-729">CALCITE-729</a>]
+  <code>IndexOutOfBoundsException</code> in <code>ROLLUP</code> query on JDBC data source
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-733">CALCITE-733</a>]
+  Multiple distinct-<code>COUNT</code> query gives wrong results
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-730">CALCITE-730</a>]
+  <code>ClassCastException</code> in table from <code>CloneSchema</code>
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-728">CALCITE-728</a>]
+  Test suite hangs on Windows
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-723">CALCITE-723</a>]
+  Document lattices
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-515">CALCITE-515</a>]
+  Add Apache headers to markdown files
+* Upgrade quidem
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-716">CALCITE-716</a>]
+  Scalar sub-query and aggregate function in <code>SELECT</code> or <code>HAVING</code> clause gives
+  <code>AssertionError</code>
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-694">CALCITE-694</a>]
+  Scan <code>HAVING</code> clause for sub-queries and <code>IN</code>-lists (Hsuan-Yi Chu)
+* Upgrade hydromatic-resource-maven-plugin
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-710">CALCITE-710</a>]
+  Identical conditions in the <code>WHERE</code> clause cause <code>AssertionError</code> (Sean
+  Hsuan-Yi Chu)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-695">CALCITE-695</a>]
+  Do not add <code>SINGLE_VALUE</code> aggregate function to a sub-query that will never
+  return more than one row (Hsuan-Yi Chu)
+* Add tests for scalar sub-queries, including test cases for
+  [<a href="https://issues.apache.org/jira/browse/CALCITE-709">CALCITE-709</a>]
+  Errors with <code>LIMIT</code> inside scalar sub-query
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-702">CALCITE-702</a>]
+  Add validator test for monotonic expressions
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-699">CALCITE-699</a>]
+  In Avatica, synchronize access to Calendar
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-700">CALCITE-700</a>]
+  Pass time zone into tests
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-698">CALCITE-698</a>]
+  For <code>GROUP BY ()</code>, <code>areColumnsUnique()</code> should return true for any key
+* Disable tests that fail under JDK 1.7 due to
+  [<a href="https://issues.apache.org/jira/browse/CALCITE-687">CALCITE-687</a>]
+* Add “getting started” to HOWTO
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-692">CALCITE-692</a>]
+  Add back sqlline as a dependency
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-677">CALCITE-677</a>]
+  <code>RemoteDriverTest.testTypeHandling</code> fails east of Greenwich
+* Disable test for
+  [<a href="https://issues.apache.org/jira/browse/CALCITE-687">CALCITE-687</a>]
+  Make <code>RemoteDriverTest.testStatementLifecycle</code> thread-safe
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-686">CALCITE-686</a>]
+  <code>SqlNode.unparse</code> produces invalid SQL
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-507">CALCITE-507</a>]
+  Update HOWTO.md with running integration tests
+* Add H2 integration test
+* Add PostgreSQL integration test
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-590">CALCITE-590</a>]
+  Update MongoDB test suite to calcite-test-dataset
+* Add <code>CalciteAssert.assertArrayEqual</code> for more user-friendly asserts
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-585">CALCITE-585</a>]
+  Avatica JDBC methods should throw <code>SQLFeatureNotSupportedException</code> (Ng Jiunn
+  Jye)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-671">CALCITE-671</a>]
+  <code>ByteString</code> does not deserialize properly as a <code>FetchRequest</code> parameter value
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-676">CALCITE-676</a>]
+  <code>AssertionError</code> in <code>GROUPING SETS</code> query
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-678">CALCITE-678</a>]
+  <code>SemiJoinRule</code> mixes up fields when <code>Aggregate.groupSet</code> is not field #0</p>
+
+<h2 id="v1-2-0"><a href="https://github.com/apache/incubator-calcite/releases/tag/calcite-1.2.0-incubating">1.2.0-incubating</a> / 2015-04-07</h2>
+
+<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>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>New features
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-366">CALCITE-366</a>]
+  Support Aggregate push down in bushy joins (Jesus Camacho Rodriguez)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-613">CALCITE-613</a>]
+  Implicitly convert character values in comparisons
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-307">CALCITE-307</a>]
+  Implement <code>CAST</code> between date-time types
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-634">CALCITE-634</a>]
+  Allow <code>ORDER BY</code> aggregate function in <code>SELECT DISTINCT</code>, provided that it
+  occurs in <code>SELECT</code> clause (Sean Hsuan-Yi Chu)
+* In linq4j, implement <code>firstOrDefault</code>, <code>single</code>, and <code>singleOrDefault</code> methods
+  (Daniel Cooper)
+* JDBC adapter
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-631">CALCITE-631</a>]
+    Push theta joins down to JDBC adapter (Ng Jiunn Jye)
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-657">CALCITE-657</a>]
+    <code>NullPointerException</code> when executing <code>JdbcAggregate.implement</code>
+    method (Yuri Au Yong)
+* Metadata
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-659">CALCITE-659</a>]
+    Missing types in <code>averageTypeValueSize</code> method in <code>RelMdSize</code>
+    (Jesus Camacho Rodriguez)
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-650">CALCITE-650</a>]
+    Add metadata for average size of a tuple in <code>SemiJoin</code> (Jesus
+    Camacho Rodriguez)
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-649">CALCITE-649</a>]
+    Extend <code>splitCondition</code> method in <code>RelOptUtil</code> to handle multiple
+    joins on the same key (Jesus Camacho Rodriguez)</p>
+
+<p>Avatica features and bug fixes
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-670">CALCITE-670</a>]
+  <code>AvaticaPreparedStatement</code> should support <code>execute()</code> and
+  <code>executeUpdate()</code> (Nick Dimiduk)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-641">CALCITE-641</a>]
+  Implement logging throughout Avatica server (Nick Dimiduk)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-646">CALCITE-646</a>]
+  <code>AvaticaStatement.execute</code> method broken over remote JDBC (Yeong Wei
+  and Julian Hyde)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-660">CALCITE-660</a>]
+  Improve Avatica date support
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-655">CALCITE-655</a>]
+  Implement <code>ConnectionSync</code> RPC (Nick Dimiduk)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-654">CALCITE-654</a>]
+  Tighten up <code>AvaticaStatement.execute</code> semantics (Nick Dimiduk)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-658">CALCITE-658</a>]
+  Cleanup dependency usage (Nick Dimiduk)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-652">CALCITE-652</a>]
+  Move server pieces of <code>avatica</code> into <code>avatica-server</code> (Nick Dimiduk)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-651">CALCITE-651</a>]
+  In <code>JdbcMeta</code>, convert property definitions to an enum (Nick Dimiduk)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-640">CALCITE-640</a>]
+  Avatica server should expire stale connections/statements (Nick Dimiduk)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-639">CALCITE-639</a>]
+  Open up permissions on avatica server components (Nick Dimiduk)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-637">CALCITE-637</a>]
+  Implement Avatica <code>CloseConnection</code> RPC (Nick Dimiduk)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-636">CALCITE-636</a>]
+  Connection isolation for Avatica clients (Nick Dimiduk)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-626">CALCITE-626</a>]
+  Implement <code>CloseStatement</code> RPC (Nick Dimiduk)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-630">CALCITE-630</a>]
+  Flesh out <code>AvaticaParameter.setObject</code> (Nick Dimiduk)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-627">CALCITE-627</a>]
+  Add Avatica support for <code>getTableTypes</code>, <code>getColumns</code> (Xavier FH Leong)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-618">CALCITE-618</a>]
+  Add Avatica support for <code>getTables</code> (Julian Hyde and Nick Dimiduk)</p>
+
+<p>API changes
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-617">CALCITE-617</a>]
+  Check at initialization time in <code>CachingInvocationHandler</code> that MD provider
+  is not null (Jesus Camacho Rodriguez)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-638">CALCITE-638</a>]
+  SQL standard <code>REAL</code> is 4 bytes, <code>FLOAT</code> is 8 bytes</p>
+
+<p>Bug-fixes and internal changes
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-672">CALCITE-672</a>]
+  SQL <code>ANY</code> type should be nullable (Jinfeng Ni)
+* Disable tests, pending
+  [<a href="https://issues.apache.org/jira/browse/CALCITE-673">CALCITE-673</a>]
+  Timeout executing joins against MySQL
+* Fix traits in MongoDB adapter, and <code>NullPointerException</code> in <code>JdbcTest</code>
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-662">CALCITE-662</a>]
+  Query validation fails when an <code>ORDER BY</code> clause is used with <code>WITH CLAUSE</code>
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-606">CALCITE-606</a>]
+  Fix trait propagation and add test case
+* Remove checkstyle Eclipse properties from git tracking
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-644">CALCITE-644</a>]
+  Increase check style line limit to 100 chars (Nick Dimiduk)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-648">CALCITE-648</a>]
+  Update <code>ProjectMergeRule</code> description for new naming convention (Jinfeng Ni)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-625">CALCITE-625</a>]
+  <code>README.md</code> linking to the wrong page of <code>optiq-csv</code> (hongbin ma)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-632">CALCITE-632</a>]
+  Sort order returned by <code>SUPERCLASS_COMPARATOR</code> in
+  <code>ReflectiveRelMetadataProvider</code> is inconsistent (Jesus Camacho
+  Rodriguez)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-335">CALCITE-335</a>]
+  Remove uses of linq4j <code>Functions.adapt</code>
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-592">CALCITE-592</a>]
+  Upgrade to Guava 14.0.1
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-596">CALCITE-596</a>]
+  JDBC adapter incorrectly reads null values as 0 (Ng Jiunn Jye)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-633">CALCITE-633</a>]
+  <code>WITH ... ORDER BY</code> cannot find table
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-614">CALCITE-614</a>]
+  <code>IN</code> clause in <code>CASE</code> in <code>GROUP BY</code> gives <code>AssertionError</code>
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-619">CALCITE-619</a>]
+  Slim down dependencies in parent POM</p>
+
+<h2 id="v1-1-0"><a href="https://github.com/apache/incubator-calcite/releases/tag/calcite-1.1.0-incubating">1.1.0-incubating</a> / 2015-03-13</h2>
+
+<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>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>create</code> methods for many sub-classes of
+<code>RelNode</code>. We strongly suggest that you use these rather than
+calling constructors directly.</p>
+
+<p>New features
+* SQL
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-602">CALCITE-602</a>]
+    Streaming queries (experimental)
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-588">CALCITE-588</a>]
+    Allow <code>TableMacro</code> to consume maps and collections
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-583">CALCITE-583</a>]
+    Operator <code>||</code> mishandles <code>ANY</code> type (Sean Hsuan-Yi Chu)
+* Planner rule improvements
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-445">CALCITE-445</a>]
+    Pull up filters rejected by a <code>ProjectableFilterableTable</code>
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-600">CALCITE-600</a>]
+    Use <code>SetOpFactory</code> in rules containing <code>Union</code> operator (Jesus
+    Camacho Rodriguez)
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-603">CALCITE-603</a>]
+    Metadata providers for size, memory, parallelism
+    * [<a href="https://issues.apache.org/jira/browse/CALCITE-607">CALCITE-607</a>]
+      Change visibility of constructor in metadata providers for size,
+      memory, parallelism (Jesus Camacho Rodriguez)
+    * [<a href="https://issues.apache.org/jira/browse/CALCITE-608">CALCITE-608</a>]
+      Exception is thrown when <code>RelMdDistribution</code> for <code>Project</code>
+      operator is called (Jesus Camacho Rodriguez)
+* Collation and distribution as traits
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-88">CALCITE-88</a>]
+    Add collation as a trait and a kind of <code>RelNode</code> metadata
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-569">CALCITE-569</a>]
+    <code>ArrayIndexOutOfBoundsException</code> when deducing collation (Aman Sinha)
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-581">CALCITE-581</a>]
+    Add <code>LogicalSort</code> relational expression, and make <code>Sort</code> abstract
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-526">CALCITE-526</a>]
+    Add <code>EnumerableMergeJoin</code>, which exploits sorted inputs
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-71">CALCITE-71</a>]
+    Provide a way to declare that tables are sorted
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-576">CALCITE-576</a>]
+    Make <code>RelCollation</code> trait and <code>AbstractRelNode.getCollationList</code> consistent
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-254">CALCITE-254</a>]
+    Propagate <code>RelCollation</code> on aliased columns in <code>JoinRule</code>
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-569">CALCITE-569</a>]
+    <code>ArrayIndexOutOfBoundsException</code> when deducing collation
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-594">CALCITE-594</a>]
+    Add <code>RelDistribution</code> trait and <code>Exchange</code> relational expression</p>
+
+<p>API changes
+* Many sub-classes of <code>RelNode</code> now have a static <code>create</code> method
+  which automatically sets up traits such as collation and
+  distribution. The constructors are not marked deprecated, but we
+  strongly suggest that you use the <code>create</code> method if it exists.
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-591">CALCITE-591</a>]
+  Drop support for Java 1.6 (and JDBC 4.0)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-587">CALCITE-587</a>]
+  Upgrade <code>jetty-server</code> to 9.2.7.v20150116 and port avatica-server <code>HttpServer</code>
+  (Trevor Hartman)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-577">CALCITE-577</a>]
+  Revert temporary API changes introduced in
+  [<a href="https://issues.apache.org/jira/browse/CALCITE-575">CALCITE-575</a>]
+* Add means to create <code>Context</code> instances by wrapping objects and by chaining
+  contexts
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-599">CALCITE-599</a>]
+  <code>EquiJoin</code> in wrong package (Jesus Camacho Rodriguez)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-573">CALCITE-573</a>]
+  Use user-given names in <code>RelOptUtil.createProject</code> and <code>createRename</code>
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-572">CALCITE-572</a>]
+  Remove <code>Project.flags</code> (methods are deprecated, to be removed before 2.0)</p>
+
+<p>Bug-fixes and internal changes
+* Remove the <code>LICENSE</code> file of calcite-example-csv (the former
+  optiq-csv) and move its history into main history
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-615">CALCITE-615</a>]
+  AvaticaParameter should be Jackson serializable (Nick Dimiduk)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-612">CALCITE-612</a>]
+  Update AvaticaStatement to handle cancelled queries (Parth Chandra)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-605">CALCITE-605</a>]
+  Reduce dependency on third-party maven repositories
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-611">CALCITE-611</a>]
+  Method <code>setAggChildKeys</code> should take into account indicator columns of
+  <code>Aggregate</code> operator (Jesus Camacho Rodriguez)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-566">CALCITE-566</a>]
+  <code>ReduceExpressionsRule</code> requires planner to have an <code>Executor</code>
+* Refactor <code>TableScanNode.create</code> method
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-593">CALCITE-593</a>]
+  Validator in <code>Frameworks</code> should expand identifiers (Jinfeng Ni)
+* Australian time-zones changed in <code>tzdata2014f</code>, Java 1.8.0_31
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-580">CALCITE-580</a>]
+  Average aggregation on an <code>Integer</code> column throws <code>ClassCastException</code>
+* In Travis, ask Surefire to print results to screen
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-586">CALCITE-586</a>]
+  Prevent JSON serialization of <code>Signature.internalParameters</code></p>
+
+<h2 id="v1-0-0"><a href="https://github.com/apache/incubator-calcite/releases/tag/calcite-1.0.0-incubating">1.0.0-incubating</a> / 2015-01-31</h2>
+
+<p>Calcite’s first major release.</p>
+
+<p>Since the previous release we have re-organized the into the <code>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>GROUPING SETS</code>, <code>EXTEND</code>, <code>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>New features
+* SQL
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-494">CALCITE-494</a>]
+    Support <code>NEXT</code>/<code>CURRENT VALUE FOR</code> syntax for using sequences
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-492">CALCITE-492</a>]
+    Support <code>UPSERT</code> statement in parser
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-493">CALCITE-493</a>]
+    Add <code>EXTEND</code> clause, for defining columns and their types at query/DML time
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-497">CALCITE-497</a>]
+    Support optional qualifier for column name references
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-356">CALCITE-356</a>]
+    Allow column references of the form <code>schema.table.column</code>
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-462">CALCITE-462</a>]
+    Allow table functions in <code>LATERAL</code> expression
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-282">CALCITE-282</a>]
+    Add <code>{fn QUARTER(date)}</code> function (Benoy Antony)
+  * Grouping sets
+    * [<a href="https://issues.apache.org/jira/browse/CALCITE-370">CALCITE-370</a>]
+      Support <code>GROUPING SETS</code>, <code>CUBE</code>, <code>ROLLUP</code> in SQL and algebra
+    * [<a href="https://issues.apache.org/jira/browse/CALCITE-512">CALCITE-512</a>]
+      Add <code>GROUP_ID</code>,<code>GROUPING_ID</code>, <code>GROUPING</code> functions
+* Planner rule improvements
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-92">CALCITE-92</a>]
+    Optimize away <code>Project</code> that merely renames fields
+  * Detect and merge duplicate predicates <code>AND(x, y, x)</code> to <code>AND(x, y)</code> in more
+    circumstances
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-557">CALCITE-557</a>]
+    Speed up planning by never creating <code>AbstractConverter</code>
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-545">CALCITE-545</a>]
+    When a projected expression can only have one value, replace with that
+    constant
+  * Grouping sets
+    * [<a href="https://issues.apache.org/jira/browse/CALCITE-542">CALCITE-542</a>]
+      Support for <code>Aggregate</code> with grouping sets in <code>RelMdColumnOrigins</code> (Jesus
+      Camacho Rodriguez)
+    * [<a href="https://issues.apache.org/jira/browse/CALCITE-533">CALCITE-533</a>]
+      Support for grouping sets in <code>FilterAggregateTransposeRule</code> (Jesus Camacho
+      Rodriguez)
+    * [<a href="https://issues.apache.org/jira/browse/CALCITE-532">CALCITE-532</a>]
+      Support for grouping sets in <code>AggregateFilterTransposeRule</code> (Jesus Camacho
+      Rodriguez)
+    * [<a href="https://issues.apache.org/jira/browse/CALCITE-513">CALCITE-513</a>]
+      Support for grouping sets in <code>AggregateProjectMergeRule</code> (Jesus Camacho
+      Rodriguez)
+    * [<a href="https://issues.apache.org/jira/browse/CALCITE-510">CALCITE-510</a>]
+      Support for grouping sets in <code>AggregateExpandDistinctAggregatesRule</code> (Jesus
+      Camacho Rodriguez)
+    * [<a href="https://issues.apache.org/jira/browse/CALCITE-502">CALCITE-502</a>]
+      Support for grouping sets in <code>AggregateUnionTransposeRule</code> (Jesus Camacho
+      Rodriguez)
+    * [<a href="https://issues.apache.org/jira/browse/CALCITE-503">CALCITE-503</a>]
+      Tests to check rules on <code>Aggregate</code> operator without grouping sets (Jesus
+      Camacho Rodriguez)
+* Algorithms
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-451">CALCITE-451</a>]
+    Implement theta join, inner and outer, in enumerable convention
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-489">CALCITE-489</a>]
+    Update <code>Correlate</code> mechanics and implement <code>EnumerableCorrelate</code> (aka nested
+    loops join)
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-544">CALCITE-544</a>]
+    Implement <code>Union</code> in interpreter
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-562">CALCITE-562</a>]
+    Implement inner <code>Join</code> in interpreter and improve handling of scalar expressions
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-543">CALCITE-543</a>]
+    Implement <code>Aggregate</code> (including <code>GROUPING SETS</code>) in interpreter (Jacques
+    Nadeau)
+  * In progress towards
+    [<a href="https://issues.apache.org/jira/browse/CALCITE-558">CALCITE-558</a>]
+    add <code>BINDABLE</code> convention (but <code>ENUMERABLE</code> is still the default), and add
+    <code>ArrayBindable</code> and <code>Scalar</code> interfaces
+* Remote driver
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-93">CALCITE-93</a>]
+    Calcite RPC server
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-94">CALCITE-94</a>]
+    Remote JDBC driver
+  * Make <code>JsonHandler</code> and <code>JsonService</code> thread-safe</p>
+
+<p>API changes
+* The great code re-org
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-296">CALCITE-296</a>]
+    Re-organize package structure
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-419">CALCITE-419</a>]
+    Naming convention for planner rules
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-306">CALCITE-306</a>]
+    Standardize code style for “import package.*;”
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-474">CALCITE-474</a>]
+    Clean up rule naming in order to support enabling/disabling rules
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-460">CALCITE-460</a>]
+    Add <code>ImmutableBitSet</code> and replace uses of <code>BitSet</code>
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-479">CALCITE-479</a>]
+    Migrate <code>RelNode.getChildExps</code> to <code>RelNode.accept(RexShuttle)</code>
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-527">CALCITE-527</a>]
+    Drop <code>rowType</code> field and constructor/copy argument of <code>Calc</code>
+* Add linq4j and example-csv modules
+  * Remove unused packages in linq4j, and fix checkstyle issues in linq4j and csv
+  * Add calcite-linq4j and calcite-example-csv as POM sub-modules
+  * Import ‘optiq-csv’ project as ‘example/csv/’, and add Apache headers
+  * Import ‘linq4j’ project, and add Apache headers
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-478">CALCITE-478</a>]
+    Move CSV tutorial (Siva Narayanan)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-464">CALCITE-464</a>]
+  Make parser accept configurable max length for SQL identifier
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-465">CALCITE-465</a>]
+  Remove <code>OneRow</code> and <code>Empty</code> relational expressions; <code>Values</code> will suffice</p>
+
+<p>Bug-fixes and internal changes
+* Build improvements
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-541">CALCITE-541</a>]
+    Update maven-source-plugin to 2.4 to get speedup in jdk 1.8
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-537">CALCITE-537</a>]
+    Skip overwrite of <code>NOTICE</code>, <code>DEPENDENCIES</code>, and <code>LICENSE</code> files
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-538">CALCITE-538</a>]
+    Generate <code>Parser.jj</code> only at first build
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-539">CALCITE-539</a>]
+    Avoid rewrite of <code>org-apache-calcite-jdbc.properties</code>
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-540">CALCITE-540</a>]
+    Create git.properties file only at first build. This saves time in
+    development at a cost of stale <code>git.properties</code>
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-536">CALCITE-536</a>]
+    Add <code>@PackageMarker</code> to <code>package-info.java</code> so maven-compiler skips
+    compilation when the sources are unchanged
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-535">CALCITE-535</a>]
+    Support skip overwrite in hydromatic-resource
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-582">CALCITE-582</a>]
+  <code>EnumerableTableScan</code> broken when table has single column
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-575">CALCITE-575</a>]
+  Variant of <code>ProjectRemoveRule</code> that considers a project trivial only if its
+  field names are identical (John Pullokkaran)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-571">CALCITE-571</a>]
+  <code>ReduceExpressionsRule</code> tries to reduce <code>SemiJoin</code> condition to non-equi
+  condition
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-568">CALCITE-568</a>]
+  Upgrade to a version of <code>pentaho-aggdesigner</code> that does not pull in
+  <code>servlet-api</code>
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-567">CALCITE-567</a>]
+  Make <code>quidem</code> dependency have scope “test”
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-570">CALCITE-570</a>]
+  <code>ReduceExpressionsRule</code> throws “duplicate key” exception
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-561">CALCITE-561</a>]
+  Upgrade parent POM
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-458">CALCITE-458</a>]
+  ArrayIndexOutOfBoundsException when using just a single column in interpreter
+* Fix spurious extra row from <code>FULL JOIN</code>
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-554">CALCITE-554</a>]
+  Outer join over NULL keys generates wrong result
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-489">CALCITE-489</a>]
+  Teach <code>CalciteAssert</code> to respect multiple settings
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-516">CALCITE-516</a>]
+  <code>GROUP BY</code> on a <code>CASE</code> expression containing <code>IN</code> predicate fails (Aman Sinha)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-552">CALCITE-552</a>]
+  Upgrade tpcds (which depends on an old version of guava)
+* Copy identifier when fully-qualifying, so column aliases have the right case
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-548">CALCITE-548</a>]
+  Extend <code>induce</code> method to return <code>CUBE</code> and <code>ROLLUP</code> (Jesus Camacho Rodriguez)
+  * Simplify <code>Group.induce</code> by assuming that group sets are sorted
+* Test case for
+  [<a href="https://issues.apache.org/jira/browse/CALCITE-212">CALCITE-212</a>]
+  Join condition with <code>OR</code>
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-550">CALCITE-550</a>]
+  Case-insensitive matching of sub-query columns fails
+  * Add more unit tests (Jinfeng Ni)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-448">CALCITE-448</a>]
+  <code>FilterIntoJoinRule</code> creates filters containing invalid <code>RexInputRef</code>
+* When registering a <code>RelNode</code>, be tolerant if it is equivalent to a <code>RelNode</code>
+  with different traits
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-547">CALCITE-547</a>]
+  Set nullability while inferring return type of <code>item(any,...)</code> operator
+* In Travis CI, enable containers, and cache <code>.m2</code> directory
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-534">CALCITE-534</a>]
+  Missing implementation of <code>ResultSetMetaData.getColumnClassName</code> (Knut
+  Forkalsrud)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-506">CALCITE-506</a>]
+  Update <code>EnumerableRelImplementor.stash</code> so it is suitable for all kinds of
+  classes
+* Merge join algorithm for <code>Enumerable</code>s
+* Efficient <code>Enumerable</code> over random-access list
+* Add a test that calls all functions with arguments of all types that they
+  claim to accept
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-511">CALCITE-511</a>]
+  <code>copy</code> method in <code>LogicalAggregate</code> not copying the indicator value properly
+* Add a model that has lattices and works against HSQLDB
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-509">CALCITE-509</a>]
+  <code>RelMdColumnUniqueness</code> uses <code>ImmutableBitSet.Builder</code> twice, gets
+  <code>NullPointerException</code>
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-488">CALCITE-488</a>]
+  <code>Enumerable&lt;Holder&gt;</code> does not work if where <code>Holder</code> is a custom class
+  with a single field; Calcite tries to treat it as <code>SCALAR</code> due to premature
+  <code>JavaRowFormat.optimize</code>
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-352">CALCITE-352</a>]
+  Throw exception if <code>ResultSet.next()</code> is called after <code>close()</code>
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-403">CALCITE-403</a>]
+  <code>Enumerable</code> gives <code>NullPointerException</code> with <code>NOT</code> on nullable expression
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-469">CALCITE-469</a>]
+  Update example/csv README.md instructions
+* Document <code>WITH</code>, <code>LATERAL</code>, <code>GROUPING SETS</code>, <code>CUBE</code>, <code>ROLLUP</code>;
+  add descriptions for all built-in functions and operators
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-470">CALCITE-470</a>]
+  Print warning when column type hint is not understood;
+  Update <code>EMPS.deptno</code> column Integer → int
+* Fix <code>Linq4j.product</code>; the cartesian product of 0 attributes is one row of 0
+  attributes
+* Update link optiq-mat-plugin → mat-calcite-plugin
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-467">CALCITE-467</a>]
+  Incorrect namespace in <code>package-info.java</code>
+* Add headers, to appease the RAT
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-446">CALCITE-446</a>]
+  CSV adapter should read from directory relative to the model file
+* Add examples of scannable and filterable tables, matching
+  [<a href="https://issues.apache.org/jira/browse/CALCITE-436">CALCITE-436</a>]
+  Simpler SPI to query Table
+* Fix <code>JdbcTest.testVersion</code> now that version is 1.0
+* Update release HOWTO</p>
+
+<h2 id="a-hrefhttpsgithubcomapacheincubator-calcitereleasestagcalcite-092-incubating092-incubatinga--2014-11-05"><a href="https://github.com/apache/incubator-calcite/releases/tag/calcite-0.9.2-incubating">0.9.2-incubating</a> / 2014-11-05</h2>
+
+<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>New features
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-436">CALCITE-436</a>]
+  Simpler SPI to query <code>Table</code></p>
+
+<p>API changes
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-447">CALCITE-447</a>]
+  Change semi-join rules to make use of factories
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-442">CALCITE-442</a>
+  Add <code>RelOptRuleOperand</code> constructor that takes a predicate</p>
+
+<p>Bug-fixes and internal changes
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-397">CALCITE-397</a>]
+  <code>SELECT DISTINCT *</code> on reflective schema gives <code>ClassCastException</code> at runtime
+* Various lattice improvements.
+* sqlline: Looking for class-path in inconsistent locations.
+* Re-order test suite, so that fast tests are run first.
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-444">CALCITE-444</a>]
+  Filters wrongly pushed into full outer join
+* Make it more convenient to unit test <code>RelMetadataQuery</code>, and add some more
+  tests for
+  [<a href="https://issues.apache.org/jira/browse/CALCITE-443">CALCITE-443</a>]
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-443">CALCITE-443</a>]
+  <code>getPredicates</code> from a Union is not correct
+* Update references to web sites, git repositories, jira, mailing lists,
+  travis CI now that [INFRA-8413] is fixed
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-434">CALCITE-435</a>]
+  <code>FilterAggregateTransposeRule</code> loses conditions that cannot be pushed
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-435">CALCITE-435</a>]
+  <code>LoptOptimizeJoinRule</code> incorrectly re-orders outer joins
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-439">CALCITE-439</a>]
+  <code>SqlValidatorUtil.uniquify()</code> may not terminate under some conditions
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-438">CALCITE-438</a>]
+  Push predicates through <code>SemiJoinRel</code>
+* Add test case for <code>LIKE ... ESCAPE</code>.
+* HOWTO: Modify release instructions.
+* Update <code>DiffRepository</code> documentation.
+* Add tests for windowed aggregates without <code>ORDER BY</code>. (Works already.)</p>
+
+<h2 id="a-hrefhttpsgithubcomapacheincubator-calcitereleasestagcalcite-091-incubating091-incubatinga--2014-10-02"><a href="https://github.com/apache/incubator-calcite/releases/tag/calcite-0.9.1-incubating">0.9.1-incubating</a> / 2014-10-02</h2>
+
+<p>This is the first release as Calcite. (The project was previously called Optiq.)</p>
+
+<p>New features
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-430">CALCITE-430</a>]
+  Rename project from Optiq to Calcite
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-426">CALCITE-426</a>]
+  Pool JDBC data sources, to make it easier to pool connections
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-416">CALCITE-416</a>]
+  Execute logical <code>RelNode</code>s using an interpreter
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-376">CALCITE-376</a>]
+  Move <code>SqlRun</code> into its own artifact,
+  <a href="https://github.com/julianhyde/quidem">Quidem</a>.
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-269">CALCITE-269</a>]
+  MongoDB result sets larger than 16MB
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-373">CALCITE-373</a>]
+  <code>NULL</code> values in <code>NOT IN</code> sub-queries
+* SQL functions:
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-422">CALCITE-422</a>]
+    Add <code>REGR_SXX</code> and <code>REGR_SYY</code> regression functions
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-421">CALCITE-421</a>]
+    Add <code>COVAR_POP</code> and <code>COVAR_SAMP</code> aggregate functions
+* Planner rules:
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-425">CALCITE-425</a>]
+    Add <code>FilterAggregateTransposeRule</code>, that pushes a filter through an
+    aggregate
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-399">CALCITE-399</a>]
+    Factorize common <code>AND</code> factors out of <code>OR</code> predicates
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-404">CALCITE-404</a>]
+    <code>MergeProjectRule</code> should not construct <code>RexProgram</code>s for simple mappings
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-394">CALCITE-394</a>]
+    Add <code>RexUtil.toCnf()</code>, to convert expressions to conjunctive normal form
+    (CNF)
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-389">CALCITE-389</a>]
+    <code>MergeFilterRule</code> should flatten <code>AND</code> condition
+* Lattices:
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-428">CALCITE-428</a>]
+    Use optimization algorithm to suggest which tiles of a lattice to
+    materialize
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-410">CALCITE-410</a>]
+    Allow lattice tiles to satisfy a query by rolling up
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-406">CALCITE-406</a>]
+    Add tile and measure elements to lattice model element
+  * Now, a lattice can materialize an aggregate-join and use it in a subsequent
+    query.
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-402">CALCITE-402</a>]
+    Lattice should create materializations on demand
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-344">CALCITE-344</a>]
+    Lattice data structure
+* Field trimmer:
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-408">CALCITE-408</a>]
+    Make <code>FieldTrimmer</code> work with <code>RelNode</code> base classes
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-388">CALCITE-388</a>]
+    Handle semi-joins in field trimmer
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-395">CALCITE-395</a>]
+    Make <code>FieldTrimmer.trimFields(SetOp)</code> generate <code>ProjectRel</code> instead of
+    <code>CalcRel</code>
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-393">CALCITE-393</a>]
+    If no fields are projected from a table, field trimmer should project a
+    dummy expression</p>
+
+<p>API changes
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-413">CALCITE-413</a>]
+  Add <code>RelDataTypeSystem</code> plugin, allowing different max precision of a
+  <code>DECIMAL</code>
+* In <code>Planner</code>, query de-correlation no longer requires state in a
+  <code>SqlToRelConverter</code>.
+* Factories:
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-392">CALCITE-392</a>]
+    <code>RelFieldTrimmer</code> should use factory to create new rel nodes
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-382">CALCITE-382</a>]
+    Refactoring rules to use factories
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-398">CALCITE-398</a>]
+    Move <code>CalcRel.createProject</code> methods to <code>RelOptUtil</code>
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-396">CALCITE-396</a>]
+    Change return type of <code>JoinFactory.createJoin()</code>; add <code>SemiJoinFactory</code></p>
+
+<p>Bug-fixes and internal changes
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-386">CALCITE-386</a>]
+  Fix NOTICE
+* Add tests inspired by Derby bugs.
+* Add recent presentation to README.md.
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-427">CALCITE-427</a>]
+  Off-by-one issues in <code>RemoveDistinctAggregateRule</code>,
+  <code>AggregateFilterTransposeRule</code>
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-414">CALCITE-414</a>]
+  Bad class name in <code>sqlline</code> shell script
+* Bad package name in <code>package-info.java</code> was causing errors in Eclipse.
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-412">CALCITE-412</a>]
+  <code>RelFieldTrimmer</code>: when trimming <code>SortRel</code>, the collation and trait set don’t
+  match
+* Add test case for
+  [<a href="https://issues.apache.org/jira/browse/CALCITE-411">CALCITE-411</a>]
+  Duplicate column aliases
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-407">CALCITE-407</a>]
+  <code>RemoveTrivialProjectRule</code> drops child node’s traits
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-409">CALCITE-409</a>]
+  <code>PushFilterPastProjectRule</code> should not push filters past windowed aggregates
+* Fix tests on Windows.
+* Don’t load <code>FoodMartQuerySet</code> unless we have to. It’s big.
+* Enable connection pooling in test suite.
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-384">CALCITE-384</a>]
+  Add <code>apache-</code> prefix to tarball and directory within tarball
+* Freeze hive fmpp &gt; freemarker plugin dependency.
+* Upgrade Janino
+* Removed hardcoded foodmart schema information
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-387">CALCITE-387</a>]
+  CompileException when cast TRUE to nullable boolean
+* Temporary fix for
+  [<a href="https://issues.apache.org/jira/browse/CALCITE-390">CALCITE-390</a>]
+  Transitive inference (<code>RelMdPredicates</code>) doesn’t handle semi-join
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-385">CALCITE-385</a>]
+  Change comment style for Java headers
+* Disable test that is inconistent between JDK 1.7 and 1.8.
+* Fix <code>git-commit-id-plugin</code> error when running in Travis-CI.
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-381">CALCITE-381</a>]
+  Remove plugin versions from the <code>&amp;lt;plugins&amp;gt;</code> tag in root pom
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-383">CALCITE-383</a>]
+  Each jar should have a <code>git.properties</code> file describing its exact version
+* Fix <code>mvn site</code> on JDK 1.8 and enable in Travis-CI.
+* Status icon based on master branch, not whichever branch happened to build
+  most recently.
+* HOWTO:
+  * Document how to build from git, and how to get jars from maven repo.
+  * Optiq web site
+  * Template emails for Apache votes
+  * Update JIRA cases following release
+  * Instructions for making and verifying a release</p>
+
+<h2 id="a-hrefhttpsgithubcomapacheincubator-calcitereleasestagoptiq-090-incubating090-incubatinga--2014-08-19"><a href="https://github.com/apache/incubator-calcite/releases/tag/optiq-0.9.0-incubating">0.9.0-incubating</a> / 2014-08-19</h2>
+
+<p>This is the first release under the Apache incubator process.</p>
+
+<p>New features
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-371">CALCITE-371</a>]
+  Implement <code>JOIN</code> whose <code>ON</code> clause contains mixed equi and theta
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-369">CALCITE-369</a>]
+  Add <code>EnumerableSemiJoinRel</code>, implementation of semi-join in enumerable
+  convention
+* Add class <code>Strong</code>, for detecting null-rejecting predicates.
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-368">CALCITE-368</a>]
+  Add SemiJoinRule, planner rule to convert project-join-aggregate into semi-join
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-367">CALCITE-367</a>]
+  <code>PushFilterPastJoinRule</code> should strengthen join type
+* Add <code>EquiJoinRel</code>, base class for joins known to be equi-joins.
+* Implement <code>CAST(&amp;lt;string&amp;gt; AS &amp;lt;datetime&amp;gt;)</code> and
+  <code>&amp;lt;datetime&amp;gt; + &amp;lt;interval&amp;gt;</code>.
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-360">CALCITE-360</a>]
+  Introduce a rule to infer predicates from equi-join conditions
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-349">CALCITE-349</a>]
+  Add heuristic join-optimizer that can generate bushy joins
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-346">CALCITE-346</a>]
+  Add commutative join rule
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-347">CALCITE-347</a>]
+  In <code>SqlRun</code>, add <code>!plan</code> command
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-314">CALCITE-314</a>]
+  Allow simple UDFs based on methods
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-327">CALCITE-327</a>]
+  Rules should use base class to find rule match &amp; use factory for object
+  creation
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-316">CALCITE-316</a>]
+  In <code>SqlRun</code>, match output regardless of order if <code>ORDER BY</code> not present
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-300">CALCITE-300</a>]
+  Support multiple parameters in <code>COUNT(DISTINCT x, y, ...)</code></p>
+
+<p>API changes
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-343">CALCITE-343</a>]
+  RelDecorrelator should build its own mappings, not inherit from SqlToRelConverter
+* Remove deprecated methods.
+* Convert <code>Hook</code> to use Guava <code>Function</code> (was linq4j <code>Function1</code>).
+* Add fluent method <code>withHook</code>, to more easily add hooks in tests.
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-321">CALCITE-321</a>]
+  Add support for overriding implementation of <code>CompoundIdentifier</code> in
+  <code>SqlParser</code>.
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-322">CALCITE-322</a>]
+  Add support for <code>SqlExplain</code>, <code>SqlOrderBy</code> and <code>SqlWith</code> to support
+  <code>SqlShuttle</code> use.
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-323">CALCITE-323</a>]
+  Override <code>SqlUnresolvedFunction.inferReturnType()</code> to return <code>ANY</code> type
+  so framework implementors can support late bound function implementations.
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-324">CALCITE-324</a>]
+  Add <code>ViewExpander</code> for <code>Planner</code> in <code>Frameworks</code>. Expose additional
+  properties of <code>ViewTable</code> to allow subclassing.
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-247">CALCITE-247</a>]
+  Add <code>Context</code> and <code>FrameworkConfig</code></p>
+
+<p>Bug-fixes and internal changes
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-380">CALCITE-380</a>]
+  Downgrade to Guava 11.0.2
+* Move several .md files into new ‘doc’ directory, to keep the root directory simple.
+* Add DISCLAIMER
+* Update history and HOWTO
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-377">CALCITE-377</a>]
+  UnregisteredDriver should catch, log and re-throw NoClassDefFoundError
+* Inherit maven-release-plugin from Apache POM.
+* Test case for
+  [<a href="https://issues.apache.org/jira/browse/CALCITE-373">CALCITE-373</a>]
+  NOT IN and NULL values
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-372">CALCITE-372</a>]
+  Change <code>LoptOptimizeJoinRule</code> &amp; <code>PushFilterPast</code>* rules to use factory
+* Upgrade <code>maven-checkstyle-plugin</code>.
+* Add class <code>Holder</code>, a mutable slot that can contain one object.
+* Remove the 2-minute wait at the top of the hour for tests of
+  <code>CURRENT_TIME</code>, etc.
+* Tune <code>ImmutableIntList</code>’s iterators.
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-364">CALCITE-364</a>]
+  Validator rejects valid <code>WITH ... ORDER BY</code> query
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-363">CALCITE-363</a>]
+  Use <code>dependencyManagement</code> and <code>pluginManagement</code> in POM files
+* Add <code>FilterFactory</code>.
+* Add <code>README</code> file, incubation disclaimers, and how-to build and running tests.
+* Add <code>KEYS</code> and start how-to for making snapshots and releases.
+* Capital case component names; inherit license info from Apache parent POM.
+* Only run <code>apache-rat</code> and <code>git-commit-id-plugin</code> in “release” maven profile.
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-348">CALCITE-348</a>]
+  Add Apache RAT as maven plugin
+* Change license headers from “Julian Hyde” to “ASF”; add headers where missing.
+* Fix build breakage on JDK 1.6 due to missing method <code>BitSet.previousClearBit</code>.
+* Refactor test infrastructure to allow testing against heuristic bushy-join
+  optimizer.
+* Add methods and tests for BitSets, and re-organize tests.
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-354">CALCITE-354</a>]
+  Change maven groupId to “org.apache.optiq”
+* Specify return type when calling <code>RexBuilder.makeCall</code>, if possible.
+* Eliminate duplicate conditions in <code>RexProgramBuilder.addCondition</code>, not
+  <code>RexBuilder.makeCall</code> as previously.
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-345">CALCITE-345</a>]
+  <code>AssertionError</code> in <code>RexToLixTranslator</code> comparing to date literal
+* Restore <code>PushFilterPastJoinRule</code> to <code>RelDecorrelator</code>; interim pending
+  [<a href="https://issues.apache.org/jira/browse/CALCITE-343">CALCITE-343</a>]
+  fix.
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-340">CALCITE-340</a>]
+  Fix bug in <code>SqlToRelConverter</code> when push expressions in join conditions into
+  <code>ProjectRel</code>.
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-313">CALCITE-313</a>]
+  Query decorrelation fails
+* While unifying a <code>RelNode</code> tree with a materialized view expression,
+  switch representation to <code>MutableRel</code>s.
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-305">CALCITE-305</a>]
+  Unit test failure on release candidates
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-325">CALCITE-325</a>]
+  Use Java list instead of Guava list to avoid null checks in case of
+  <code>SqlTypeExplicitPrecedenceList</code>.
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-326">CALCITE-326</a>]
+  Fix <code>RelOptUtil</code> <code>ANY</code> type check.
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-303">CALCITE-303</a>]
+  Migrate issue URLs
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-331">CALCITE-331</a>]
+  Precision/scale compatibility checks should always succeed for <code>ANY</code> type
+* In <code>SqlRun</code>, allow <code>!plan</code> after <code>!ok</code> for same SQL statement.
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-318">CALCITE-318</a>]
+  Add unit test for <code>SqlRun</code>
+* Fix a bug where composite <code>SELECT DISTINCT</code> would return duplicate rows.</p>
+
+<h2 id="a-hrefhttpsgithubcomapacheincubator-calcitereleasestagoptiq-parent-0808a--2014-06-27"><a href="https://github.com/apache/incubator-calcite/releases/tag/optiq-parent-0.8">0.8</a> / 2014-06-27</h2>
+
+<p>New features
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-310">CALCITE-310</a>]
+   Implement LEAD, LAG and NTILE windowed aggregates
+* Reduce <code>COUNT(not-null-expression)</code> to <code>COUNT()</code>
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-292">CALCITE-292</a>]
+   Improve windowed aggregate return types
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-302">CALCITE-302</a>]
+   Use heuristic rule to plan queries with large numbers of joins
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-283">CALCITE-283</a>]
+  Add TPC-DS data generator
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-294">CALCITE-294</a>]
+  Implement DENSE_RANK windowed aggregate function
+* SqlRun utility
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-290">CALCITE-290</a>]
+    Add <code>SqlRun</code>, an idempotent utility for running SQL test scripts
+  * Add “!skip” command to SqlRun.
+  * Add MySQL formatting mode to SqlRun.</p>
+
+<p>API changes
+* Re-organize planner initialization,
+  to make it easier to use heuristic join order.
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-301">CALCITE-301</a>]
+  Add <code>Program</code> interface, a planner phase more general than current <code>RuleSet</code>
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-263">CALCITE-263</a>]
+  Add operand type that will cause a rule to fire when a new subset is created
+* Clean up and document SqlKind.
+  * Add <code>IS_NOT_TRUE</code> and <code>IS_NOT_FALSE</code> <code>SqlKind</code> enums.
+  * Add <code>SqlKind.IS_NOT_NULL</code> enum value, and use where possible,
+    including for <code>IS_NOT_UNKNOWN</code> operator.</p>
+
+<p>Bug-fixes and internal changes
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-312">CALCITE-312</a>]
+  Trim non-required fields before <code>WindowRel</code>
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-311">CALCITE-311</a>]
+  Wrong results when filtering the results of windowed aggregation
+* More tests for <code>WITH ... ORDER BY</code>
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-309">CALCITE-309</a>]
+  <code>WITH ... ORDER BY</code> query gives <code>AssertionError</code>
+* Enable <code>MultiJoinRel</code> and some other planner rule tests.
+* Add <code>ImmutableNullableList</code> and <code>UnmodifiableArrayList</code>,
+  and remove calls to <code>Arrays.asList</code>.
+* Add method <code>IntPair.zip</code>.
+* Reimplement regular and windowed aggregates
+* Switch from github to Apache JIRA for issues tracking.
+  * In release history, update issue URLs from github to Apache JIRA
+* The Apache mailing list is now the official mailing list. Add presentations.
+* Add test for overloaded UDF.
+* Add tests for <code>NOT IN</code> where sub-query returns NULL values.
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-288">CALCITE-288</a>]
+  Add tests for windowed aggregation based on Postgres reference queries
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-286">CALCITE-286</a>]
+  Error casting MongoDB date
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-284">CALCITE-284</a>]
+  Window functions range defaults to <code>CURRENT ROW</code>
+* [&lt;a href=https://issues.apache.org/jira/browse/CALCITE-285”&gt;CALCITE-285&lt;/a&gt;]
+  Window functions throw exception without <code>ORDER BY</code>
+* Test case for
+  [&lt;a href=““https://issues.apache.org/jira/browse/CALCITE-285”&gt;CALCITE-285&lt;/a&gt;].
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-281">CALCITE-281</a>]
+  <code>EXTRACT</code> function’s SQL return type is <code>BIGINT</code> but implemented as Java <code>int</code></p>
+
+<h2 id="a-hrefhttpsgithubcomapacheincubator-calcitereleasestagoptiq-parent-0707a--2014-05-13"><a href="https://github.com/apache/incubator-calcite/releases/tag/optiq-parent-0.7">0.7</a> / 2014-05-13</h2>
+
+<p>New features
+* Implement table functions.
+* Arrays and multi-sets:
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-267">CALCITE-267</a>]
+    Improve support for ARRAY data type
+  * Better type information for JDBC Array; nested array now possible.
+  * Implement <code>JOIN LATERAL</code> and <code>JOIN UNNEST</code>.
+  * Implement the <code>UNNEST</code> relational operator, and various improvements
+    to <code>ARRAY</code> and <code>MULTISET</code> data types.
+  * Represent <code>ARRAY</code> columns as Java lists.
+  * Implement <code>CARDINALITY(ARRAY)</code> SQL operator.
+* Implement scalar sub-query in <code>SELECT</code> clause.
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-273">CALCITE-273</a>]
+  Support column alias in WITH queries (common table expressions)
+* Windowed aggregates:
+  * Aggregate over constants, e.g. <code>SUM(1) OVER (ROWS 10 PRECEDING)</code>;
+  * <code>UNBOUNDED PRECEDING</code> window range;
+  * Windowed aggregates computed over primitive scalars.
+* Fix return type inference for aggregate calls. If the <code>GROUP BY</code> clause is
+  empty, <code>SUM</code> may return null.
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-37">CALCITE-37</a>]
+  Document JSON model file format (as <a href="model.md">model.md</a>).
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-238">CALCITE-238</a>]
+  Add adapter that generates TPC-H data
+* Improve exception message in <code>AvaticaConnection</code>; add
+  <code>ExceptionMessageTest</code>.
+* Implement micro-benchmarks via
+  <a href="http://openjdk.java.net/projects/code-tools/jmh/">JMH</a>.</p>
+
+<p>API changes
+* Provide an option to create root schema without the “metadata” schema.
+* Schema SPI:
+  * [<a href="https://issues.apache.org/jira/browse/CALCITE-175">CALCITE-175</a>]
+    Modify Schema SPI to allow caching
+  * Get sub-schemas defined by a Schema SPI, and cache their <code>OptiqSchema</code>
+    wrappers. (Tobi Vollebregt and Julian Hyde)
+* SqlAdvisor callable from client via JDBC.</p>
+
+<p>Bug-fixes and internal changes
+* Add Apache incubator proposal.
+* Rename RELEASE.md to HISTORY.md.
+* Upgrade maven-release-plugin.
+* Upgrade to linq4j-0.3.
+* Code generation improvements:
+ * Move code-generation optimizer to linq4j;
+ * Improve translation of strict functions;
+ * Mark most methods in <code>SqlFunctions</code> as <code>@Deterministic</code>;
+ * Support <code>static final</code> constants generated by linq4j.
+ * Avoid excessive box and unbox of primitives when using <code>Object[]</code> storage.
+ * In JDBC result set, avoid row computation on each accessor call.
+* Test composite join conditions in various flavors of outer join.
+* Use <code>fromTrait</code> of the just previously converted <code>RelNode</code> instead
+  of the original <code>RelNode</code>.
+* Disable a MongoDB test, pending
+  [<a href="https://issues.apache.org/jira/browse/CALCITE-270">CALCITE-270</a>].
+* Hush warnings from <code>SplunkAdapterTest</code> if Splunk is not available.
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-252">CALCITE-252</a>]
+  Scalar sub-query that returns 0 rows should become NULL value
+* <code>SplunkAdapterTest</code> now uses the same Foodmart database as <code>JdbcTest</code>.
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-242">CALCITE-242</a>]
+  SplunkAdapterTest fails
+* Remove some obsolete classes.
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-205">CALCITE-205</a>]
+  Suspicious map.get in VolcanoPlanner.reregister</p>
+
+<h2 id="a-hrefhttpsgithubcomapacheincubator-calcitereleasestagoptiq-parent-0606a--2014-04-11"><a href="https://github.com/apache/incubator-calcite/releases/tag/optiq-parent-0.6">0.6</a> / 2014-04-11</h2>
+
+<p>New features
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-214">CALCITE-214</a>]
+  Modify Frameworks to allow Schema to be re-used
+  Obsoletes <code>name</code> field of <code>ReflectiveSchema</code>.
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-237">CALCITE-237</a>]
+  Allow user-defined aggregate functions (UDAs) to be defined in a model
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-227">CALCITE-227</a>]
+  Extend <code>EXTRACT</code> function to support <code>DATE</code>, <code>TIME</code> and <code>TIMESTAMP</code> values
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-222">CALCITE-222</a>]
+  User-defined table macros
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-179">CALCITE-179</a>]
+  Optiq on Windows
+  * Add <code>sqlline.bat</code> and fix issues running <code>sqlline</code> under Cygwin.
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-195">CALCITE-195</a>]
+  Push aggregation into MongoDB adapter
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-193">CALCITE-193</a>]
+  Implement OFFSET and LIMIT in MongoDB adapter
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-164">CALCITE-164</a>]
+  Improve query performance of optiq over MongoDB
+* Add Phoenix (HBase) SQL dialect (Bruno Dumon)</p>
+
+<p>API changes
+* Obsolete <code>RexImpTable.AggregateImplementor</code> and rename <code>AggImplementor2</code>.
+  (<strong>This is a breaking change</strong>.)
+* Convert <code>CombinedParser.jj</code> into freemarker template to allow
+  custom parser implementations. (Venki Korukanti)
+* Extend <code>Planner</code> to pass a custom <code>ConvertletTable</code> and custom SQL parser.
+* In <code>Frameworks</code>, add a way to specify list of <code>TraitDef</code>s that will be used
+  by planner. (Jinfeng Ni)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-198">CALCITE-198</a>]
+  Use <code>RexExecutor</code> to evaluate projections and filters
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-219">CALCITE-219</a>]
+  Parse <code>ALTER scope SET option = value</code> statement
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-215">CALCITE-215</a>]
+  A Schema should not have to remember its name and parent
+  (<strong>This is a breaking change</strong>.)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-180">CALCITE-180</a>]
+  Common base class for TableFunction, ScalarFunction
+  (<strong>This is a breaking change</strong>.)
+* Add methods for dealing with symbols; deprecate
+  <code>SqlLiteral.booleanValue(SqlNode)</code>, <code>SqlLiteral.symbolValue(SqlNode)</code>.
+* Add <code>RelOptPlanner.clear()</code>; now it is safe to call <code>transform</code> twice.
+  (Jinfeng Ni)
+* Remove APIs deprecated for 0.5.
+* Move around some operator classes and singletons.</p>
+
+<p>Bug fixes and internal changes
+* Upgrade to linq4j-0.2.
+* <code>FETCH</code> and <code>LIMIT</code> are ignored during SQL-to-RelNode translation.
+  (Venki Korukanti)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-245">CALCITE-245</a>]
+  Off-by-one translation of ON clause of JOIN
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-191">CALCITE-191</a>]
+  Rotate time/date/timestamp vals to local timezone
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-244">CALCITE-244</a>]
+  <code>RelOptTableImpl.create</code> always expects <code>QueryableTable</code> type in
+  <code>OptiqSchema.TableEntry</code>
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-225">CALCITE-225</a>]
+  Optiq doesn’t correctly decorrelate queries
+* Clean up package-info.  Remove duplicates in test packages so they
+  don’t conflict with those in non-test packages.
+* Add <code>Pair.adjacents(Iterable)</code>.
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-199">CALCITE-199</a>]
+  Various <code>ANY</code> type conditions aren’t correctly being considered
+  (Jacques Nadeau)
+* Add files to <code>.gitignore</code> that shouldn’t be checked in when using
+  Eclipse. (Jacques Nadeau)
+* Add class <code>ControlFlowException</code>, and make it base class of
+  existing control-flow exception classes.
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-232">CALCITE-232</a>]
+  Sum and avg of empty set should be null as per SQL specification
+* Add <code>SqlUnresolvedFunction</code>, to improve how return type of
+  user-defined functions is resolved. (Vladimir Sitnikov)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-228">CALCITE-228</a>]
+  Error while compiling generated Java code when using UDF in expression
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-226">CALCITE-226</a>]
+  User-defined functions should work without explicit schema prefix
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-229">CALCITE-229</a>]
+  Join between different JDBC schemas not implementable
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-230">CALCITE-230</a>]
+  RemoveSortRule derives trait set from sort, should derive it from sort’s child
+* Test view and sub-query with <code>ORDER BY</code> and <code>LIMIT</code>.
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-223">CALCITE-223</a>]
+  Add <code>NOTICE</code> and <code>LICENSE</code> files in all generated JAR files
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-209">CALCITE-209</a>]
+  Consistent strategy for line-endings in tests
+  Convert uses of <code>NL</code> in tests to Linux newline “\n”.
+  This makes string constants simpler.
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-218">CALCITE-218</a>]
+  Functions case sensitive when using <code>Lex.MYSQL</code>
+* Add tests that a query with aggregate expressions in the <code>SELECT</code>
+  clause is considered an aggregate query, even if there is no <code>GROUP BY</code>.
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-216">CALCITE-216</a>]
+  Inconsistent use of provided operator table causes inability to
+  add aggregate functions
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-200">CALCITE-200</a>]
+  Javadoc generation fails under JDK 1.8
+* Add class <code>XmlOutput</code> (based on <code>org.eigenbase.xom.XMLOutput</code>) and remove
+  dependency on eigenbase-xom.
+* Performance: Don’t create stack-trace for exceptions used for control-flow.
+  (Vladimir Sitnikov)
+* Performance: Tune <code>RexProgramBuilder</code> by using <code>Pair</code> rather than <code>String</code> as
+  expression key. (Vladimir Sitnikov)
+* Fix NPE using TRIM function with JDBC. (Bruno Dumon)
+* Add dependency on
+  <a href="https://github.com/julianhyde/hydromatic-resource">hydromatic-resource-maven-plugin</a>
+  and obsolete our copy of the resource framework.
+* Fix race condition in <code>SpaceList</code>.
+* In planner, use <code>RelTrait.subsumes</code> rather than <code>equals</code> in an assert.
+  (Jinfeng Ni)</p>
+
+<h2 id="a-hrefhttpsgithubcomapacheincubator-calcitereleasestagoptiq-parent-0505a--2014-03-14"><a href="https://github.com/apache/incubator-calcite/releases/tag/optiq-parent-0.5">0.5</a> / 2014-03-14</h2>
+
+<p>New features
+* Allow <code>quoting</code>, <code>quotedCasing</code>, <code>unquotedCasing</code>, and <code>caseSensitive</code>
+  properties to be specified explicitly (Vladimir Sitnikov)
+* Recognize more kinds of materializations, including filter-on-project (where
+  project contains expressions) and some kinds of aggregation.
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-128">CALCITE-128</a>]
+  Support <code>WITH</code> queries (common table expressions)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-53">CALCITE-53</a>]
+  Allow <code>WHEN</code> clause in simple <code>CASE</code> expression to have multiple values
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-156">CALCITE-156</a>]
+  Optiq should recognize ‘SYSTEM TABLE’, ‘JOIN’, ‘INDEX’ as table types
+* Support querying ARRAY columns from JDBC source. (Gabriel Reid)</p>
+
+<p>API changes
+* Add <code>ProjectRelBase.copy(RelTraitSet, RelNode, List&amp;lt;RexNode&amp;gt;,
+  RelDataType)</code> and make <code>ProjectRelBase.copy(RelTraitSet, RelNode)</code> final.
+  (<strong>This is a breaking change</strong> for sub-classes of <code>ProjectRelBase</code>.)
+* Change <code>RexBuilder.makeRangeReference</code> parameter type.
+* <code>RexBuilder.makeInputRef</code> replaces <code>RelOptUtil.createInputRef</code>.
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-160">CALCITE-160</a>]
+  Allow comments in schema definitions
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-147">CALCITE-147</a>]
+  Create a new kind of <code>SqlCall</code> that keeps operands in fields, not an operands
+  array
+  * Very widely used parse tree nodes with complex operands, including
+    <code>SqlSelect</code>, <code>SqlJoin</code>, <code>SqlInsert</code>, and a new node type <code>SqlOrderBy</code>, are
+    now sub-classes of <code>SqlCall</code> but not <code>SqlBasicCall</code>.
+  * (<strong>This is a breaking change</strong> to code that assumes that, say,
+    <code>SqlSelect</code> has an <code>operands</code> field.)
+* Convert all enum constants to upper-case.
+  (<strong>This is a breaking change</strong>.)</p>
+
+<p>Bug-fixes and internal changes
+* Generate optiq-core-VERSION-tests.jar not parent-VERSION-tests.jar.
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-176">CALCITE-176</a>]
+  ORDER BY expression doesn’t work with SELECT *
+* Fix VARCHAR casts sent to hsqldb source (Bruno Dumon)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-143">CALCITE-143</a>]
+  Remove dependency on eigenbase-resgen
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-173">CALCITE-173</a>]
+  Case-insensitive table names are not supported for <code>Casing.UNCHANGED</code>
+* <code>DATE.getLimit</code> now returns <code>Calendar</code> in GMT time zone (Vladimir Sitnikov)
+* Set <code>en_US</code> locale in tests that match against error numbers, dates
+  (Vladimir Sitnikov)
+* Use 1 test thread per CPU to avoid thread starvation on dual core CPUs
+  (Vladimir Sitnikov)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-174">CALCITE-174</a>]
+  Move hsqldb to test scope
+* Add unit tests for <code>RexExecutorImpl</code>.
+* Correct JSON model examples in Javadoc comments. (Karel Vervaeke)
+* Move test reference logs from <code>src/test/java</code> to <code>src/test/resources</code>
+  (reduces the number of ‘untracked files’ reported by git)
+* Tune <code>Util.SpaceList</code>, fix race condition, and move into new utility class
+  <code>Spaces</code>.
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-163">CALCITE-163</a>]
+  Equi-join warning
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-157">CALCITE-157</a>]
+  Handle <code>SQLFeatureNotSupported</code> when calling <code>setQueryTimeout</code>
+  (Karel Vervaeke)
+* Fix Optiq on Windows. (All tests and checkstyle checks pass.)
+* In checkstyle, support Windows-style file separator, otherwise build fails in
+  Windows due to suppressions not used. (Vladimir Sitnikov)
+* Enable MongoDB tests when <code>-Dcalcite.test.mongodb=true</code>.
+* Cleanup cache exception-handling and an assert.
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-153">CALCITE-153</a>]
+  Error using MongoDB adapter: Failed to set setXIncludeAware(true)
+* Disable spark engine unless Spark libraries are on the class path and
+  <code>spark=true</code> is specified in the connect string.
+* Fix path to <code>mongo-zips-model.json</code> in HOWTO. (Mariano Luna)
+* Fix bug deriving the type of a join-key.
+* Fix the value of <code>ONE_MINUS_EPSILON</code>.
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-158">CALCITE-158</a>]
+  Optiq fails when call <code>Planner.transform()</code> multiple times, each with
+  different ruleset
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-148">CALCITE-148</a>]
+ Less verbose description of collation. Also, optimize <code>RelTraitSet</code> creation
+ and amortize <code>RelTraitSet.toString()</code>.
+* Add generics to SQL parser.
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-145">CALCITE-145</a>]
+  Unexpected upper-casing of keywords when using java lexer
+* Remove duplicate <code>maven-source-plugin</code>.
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-141">CALCITE-141</a>]
+  Downgrade to guava-11.0.2. (This is necessary for Hadoop compatibility.
+  Later versions of Guava can also be used.)
+* Upgrade to spark-0.9.0. (Because this version of spark is available from
+  maven-central, we can make optiq-spark part of the regular build, and remove
+  the spark profile.)</p>
+
+<h2 id="a-hrefhttpsgithubcomapacheincubator-calcitereleasestagoptiq-parent-04180418a--2014-02-14"><a href="https://github.com/apache/incubator-calcite/releases/tag/optiq-parent-0.4.18">0.4.18</a> / 2014-02-14</h2>
+
+<p>API and functionality changes
+* Configurable lexical policy
+    * [<a href="https://issues.apache.org/jira/browse/CALCITE-33">CALCITE-33</a>]
+      SQL parser should allow different identifier quoting
+    * [<a href="https://issues.apache.org/jira/browse/CALCITE-34">CALCITE-34</a>]
+      Policy for case-sensitivity of identifiers should be configurable
+    * New connect-string parameter “lex”, with allowable values
+      “ORACLE”, “MYSQL”, “SQL_SERVER”, “JAVA” sets policy to be like those
+      databases, in terms of quote string, whether quoted and unquoted
+      identifiers are converted to upper/lower case, and whether
+      identifiers are matched case-sensitively. “JAVA” is case-sensitive,
+      even for unquoted identifiers. It should be possible
+      for each connection to have its own settings for these. Objects
+      shared between sessions (views, materialized views) might
+      require more work.
+    * Added various internals to make it easy for developers to do the
+      right thing. When you need to look up a schema, table or
+      column/field name, you should use a catalog reader, and it will
+      apply the right case-sensitivity policy.
+    * Enable optiq consumer to utilize different lexical settings in
+      Frameworks/Planner. (Jacques Nadeau)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-135">CALCITE-115</a>]
+  Add a PARSE_TREE hook point with SqlNode parameter
+* Change planner rules to use <code>ProjectFactory</code> for creating
+  projects. (John Pullokkaran)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-131">CALCITE-131</a>]
+  Add interfaces for metadata (statistics)
+  (<strong>This is a breaking change</strong>.)
+* Update Avatica to allow <code>Cursor</code> &amp; <code>Accessor</code> implementations to throw
+  <code>SQLException</code>. (Jacques Nadeau)
+* Separate cost model (<code>RelOptCostFactory</code>) from planner. Allow
+  <code>VolcanoPlanner</code> to be sub-classed with different cost factory.
+    * Remove references to VolcanoCost from RelSubset, so clients can
+      use a different <code>RelOptCost</code>. (Harish Butani)
+    * Make <code>VolcanoCost</code> immutable.
+* Break <code>SqlTypeStrategies</code> into <code>OperandTypes</code>, <code>ReturnTypes</code> and
+  <code>InferTypes</code>, and rename its static members to upper-case, per
+  checkstyle. (<strong>This is a breaking change</strong>.)
+* Add a mechanism for defining configuration parameters and have them
+  appear in the responses to <code>AvaticaDatabaseMetaData</code> methods.
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-113">CALCITE-113</a>]
+  User-defined scalar functions
+* Add rules to short-cut a query if <code>LIMIT 0</code> is present. Also remove
+  sort, aggregation, join if their inputs are known to be empty, and
+  propagate the fact that the relational expressions are known to be
+  empty up the tree. (We already do this for union, filter, project.)
+* <code>RexNode</code> and its sub-classes are now immutable.</p>
+
+<p>Bug fixes and internal changes
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-61">CALCITE-16</a>]
+  Upgrade to janino-2.7
+* Upgrade to guava-15.0 (guava-14.0.1 still allowed), sqlline-1.1.7,
+  maven-surefire-plugin-2.16, linq4j-0.1.13.
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-136">CALCITE-136</a>]
+  Support Hive dialect
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-138">CALCITE-138</a>]
+  SqlDataTypeSpec.clone handles collection types wrong
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-137">CALCITE-137</a>]
+  If a subset is created that is subsumed by an existing subset, its
+  ‘best’ is not assigned
+    * If best rel in a Volcano subset doesn’t have metadata, see if
+      other rels have metadata.
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-127">CALCITE-127</a>]
+  EnumerableCalcRel can’t support 3+ AND conditions (Harish Butani)
+* Fix push-down of datetime literals to JDBC data sources.
+* Add <code>Util.startsWith(List, List)</code> and <code>Util.hashCode(double)</code>.
+* Add maven-checkstyle-plugin, enable in “verify” phase, and fix exceptions.
+* Fix <code>SqlValidator</code> to rely on <code>RelDataType</code> to do field name matching.  Fix
+  <code>RelDataTypeImpl</code> to correctly use the case sensitive flag rather than
+  ignoring it.
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-119">CALCITE-119</a>]
+  Comparing Java type long with SQL type INTEGER gives wrong answer
+* Enable multi-threaded testing, and fix race conditions.
+    * Two of the race conditions involved involving trait caches. The
+      other was indeterminacy in type system when precision was not
+      specified but had a default; now we canonize TIME to TIME(0), for
+      instance.
+* Convert files to <code>us-ascii</code>.
+* Work around
+  [<a href="http://jira.codehaus.org/browse/JANINO-169">JANINO-169</a>].
+* Refactor SQL validator testing infrastructure so SQL parser is
+  configurable.
+* Add <code>optiq-mat-plugin</code> to README.
+* Fix the check for duplicate subsets in a rule match.
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-112">CALCITE-112</a>]
+  Java boolean column should be treated as SQL boolean
+* Fix escaped unicode characters above 0x8000. Add tests for unicode
+  strings.</p>
+

[... 812 lines stripped ...]