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 21:47:56 UTC

svn commit: r1682538 [2/6] - in /incubator/calcite/site: develop/ docs/ news/ news/2015/01/31/release-1.0.0-incubating/ news/2015/03/13/release-1.1.0-incubating/ news/2015/04/07/release-1.2.0-incubating/ news/2015/04/24/new-committers/ news/2015/05/29/...

Modified: incubator/calcite/site/docs/history.html
URL: http://svn.apache.org/viewvc/incubator/calcite/site/docs/history.html?rev=1682538&r1=1682537&r2=1682538&view=diff
==============================================================================
--- incubator/calcite/site/docs/history.html (original)
+++ incubator/calcite/site/docs/history.html Fri May 29 19:47:55 2015
@@ -657,80 +657,83 @@ Add a <code>SWAP_OUTER</code> static ins
 <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>
+<p>Bug-fixes and internal changes</p>
+
+<ul>
+  <li>[<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</li>
+  <li>[<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)</li>
+  <li>In sample code in README.md, rename optiq to calcite (Ethan)</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-720">CALCITE-720</a>]
+<code>VolcanoPlanner.ambitious</code> comment doc is inconsistent (Santiago M. Mola)</li>
+  <li>[<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</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-733">CALCITE-733</a>]
+Multiple distinct-<code>COUNT</code> query gives wrong results</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-730">CALCITE-730</a>]
+<code>ClassCastException</code> in table from <code>CloneSchema</code></li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-728">CALCITE-728</a>]
+Test suite hangs on Windows</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-723">CALCITE-723</a>]
+Document lattices</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-515">CALCITE-515</a>]
+Add Apache headers to markdown files</li>
+  <li>Upgrade quidem</li>
+  <li>[<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></li>
+  <li>[<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)</li>
+  <li>Upgrade hydromatic-resource-maven-plugin</li>
+  <li>[<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)</li>
+  <li>[<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)</li>
+  <li>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</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-702">CALCITE-702</a>]
+Add validator test for monotonic expressions</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-699">CALCITE-699</a>]
+In Avatica, synchronize access to Calendar</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-700">CALCITE-700</a>]
+Pass time zone into tests</li>
+  <li>[<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</li>
+  <li>Disable tests that fail under JDK 1.7 due to
+[<a href="https://issues.apache.org/jira/browse/CALCITE-687">CALCITE-687</a>]</li>
+  <li>Add “getting started” to HOWTO</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-692">CALCITE-692</a>]
+Add back sqlline as a dependency</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-677">CALCITE-677</a>]
+<code>RemoteDriverTest.testTypeHandling</code> fails east of Greenwich</li>
+  <li>Disable test for
+[<a href="https://issues.apache.org/jira/browse/CALCITE-687">CALCITE-687</a>]
+Make <code>RemoteDriverTest.testStatementLifecycle</code> thread-safe</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-686">CALCITE-686</a>]
+<code>SqlNode.unparse</code> produces invalid SQL</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-507">CALCITE-507</a>]
+Update HOWTO.md with running integration tests</li>
+  <li>Add H2 integration test</li>
+  <li>Add PostgreSQL integration test</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-590">CALCITE-590</a>]
+Update MongoDB test suite to calcite-test-dataset</li>
+  <li>Add <code>CalciteAssert.assertArrayEqual</code> for more user-friendly asserts</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-585">CALCITE-585</a>]
+Avatica JDBC methods should throw <code>SQLFeatureNotSupportedException</code> (Ng Jiunn
+Jye)</li>
+  <li>[<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</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-676">CALCITE-676</a>]
+<code>AssertionError</code> in <code>GROUPING SETS</code> query</li>
+  <li>[<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</li>
+</ul>
 
 <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>
 
@@ -748,114 +751,132 @@ distribution among relational expression
 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>
+<p>New features</p>
+
+<ul>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-366">CALCITE-366</a>]
+Support Aggregate push down in bushy joins (Jesus Camacho Rodriguez)</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-613">CALCITE-613</a>]
+Implicitly convert character values in comparisons</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-307">CALCITE-307</a>]
+Implement <code>CAST</code> between date-time types</li>
+  <li>[<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)</li>
+  <li>In linq4j, implement <code>firstOrDefault</code>, <code>single</code>, and <code>singleOrDefault</code> methods
+(Daniel Cooper)</li>
+  <li>JDBC adapter
+    <ul>
+      <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-631">CALCITE-631</a>]
+Push theta joins down to JDBC adapter (Ng Jiunn Jye)</li>
+      <li>[<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)</li>
+    </ul>
+  </li>
+  <li>Metadata
+    <ul>
+      <li>[<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)</li>
+      <li>[<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)</li>
+      <li>[<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)</li>
+    </ul>
+  </li>
+</ul>
+
+<p>Avatica features and bug fixes</p>
+
+<ul>
+  <li>[<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)</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-641">CALCITE-641</a>]
+Implement logging throughout Avatica server (Nick Dimiduk)</li>
+  <li>[<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)</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-660">CALCITE-660</a>]
+Improve Avatica date support</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-655">CALCITE-655</a>]
+Implement <code>ConnectionSync</code> RPC (Nick Dimiduk)</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-654">CALCITE-654</a>]
+Tighten up <code>AvaticaStatement.execute</code> semantics (Nick Dimiduk)</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-658">CALCITE-658</a>]
+Cleanup dependency usage (Nick Dimiduk)</li>
+  <li>[<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)</li>
+  <li>[<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)</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-640">CALCITE-640</a>]
+Avatica server should expire stale connections/statements (Nick Dimiduk)</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-639">CALCITE-639</a>]
+Open up permissions on avatica server components (Nick Dimiduk)</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-637">CALCITE-637</a>]
+Implement Avatica <code>CloseConnection</code> RPC (Nick Dimiduk)</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-636">CALCITE-636</a>]
+Connection isolation for Avatica clients (Nick Dimiduk)</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-626">CALCITE-626</a>]
+Implement <code>CloseStatement</code> RPC (Nick Dimiduk)</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-630">CALCITE-630</a>]
+Flesh out <code>AvaticaParameter.setObject</code> (Nick Dimiduk)</li>
+  <li>[<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)</li>
+  <li>[<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)</li>
+</ul>
+
+<p>API changes</p>
+
+<ul>
+  <li>[<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)</li>
+  <li>[<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</li>
+</ul>
+
+<p>Bug-fixes and internal changes</p>
+
+<ul>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-672">CALCITE-672</a>]
+SQL <code>ANY</code> type should be nullable (Jinfeng Ni)</li>
+  <li>Disable tests, pending
+[<a href="https://issues.apache.org/jira/browse/CALCITE-673">CALCITE-673</a>]
+Timeout executing joins against MySQL</li>
+  <li>Fix traits in MongoDB adapter, and <code>NullPointerException</code> in <code>JdbcTest</code></li>
+  <li>[<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></li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-606">CALCITE-606</a>]
+Fix trait propagation and add test case</li>
+  <li>Remove checkstyle Eclipse properties from git tracking</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-644">CALCITE-644</a>]
+Increase check style line limit to 100 chars (Nick Dimiduk)</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-648">CALCITE-648</a>]
+Update <code>ProjectMergeRule</code> description for new naming convention (Jinfeng Ni)</li>
+  <li>[<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)</li>
+  <li>[<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)</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-335">CALCITE-335</a>]
+Remove uses of linq4j <code>Functions.adapt</code></li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-592">CALCITE-592</a>]
+Upgrade to Guava 14.0.1</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-596">CALCITE-596</a>]
+JDBC adapter incorrectly reads null values as 0 (Ng Jiunn Jye)</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-633">CALCITE-633</a>]
+<code>WITH ... ORDER BY</code> cannot find table</li>
+  <li>[<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></li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-619">CALCITE-619</a>]
+Slim down dependencies in parent POM</li>
+</ul>
 
 <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>
 
@@ -873,93 +894,114 @@ later.</p>
 <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>
+<p>New features</p>
+
+<ul>
+  <li>SQL
+    <ul>
+      <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-602">CALCITE-602</a>]
+Streaming queries (experimental)</li>
+      <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-588">CALCITE-588</a>]
+Allow <code>TableMacro</code> to consume maps and collections</li>
+      <li>[<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)</li>
+    </ul>
+  </li>
+  <li>Planner rule improvements
+    <ul>
+      <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-445">CALCITE-445</a>]
+Pull up filters rejected by a <code>ProjectableFilterableTable</code></li>
+      <li>[<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)</li>
+      <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-603">CALCITE-603</a>]
+Metadata providers for size, memory, parallelism
+        <ul>
+          <li>[<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)</li>
+          <li>[<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)</li>
+        </ul>
+      </li>
+    </ul>
+  </li>
+  <li>Collation and distribution as traits
+    <ul>
+      <li>[<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</li>
+      <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-569">CALCITE-569</a>]
+<code>ArrayIndexOutOfBoundsException</code> when deducing collation (Aman Sinha)</li>
+      <li>[<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</li>
+      <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-526">CALCITE-526</a>]
+Add <code>EnumerableMergeJoin</code>, which exploits sorted inputs</li>
+      <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-71">CALCITE-71</a>]
+Provide a way to declare that tables are sorted</li>
+      <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-576">CALCITE-576</a>]
+Make <code>RelCollation</code> trait and <code>AbstractRelNode.getCollationList</code> consistent</li>
+      <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-254">CALCITE-254</a>]
+Propagate <code>RelCollation</code> on aliased columns in <code>JoinRule</code></li>
+      <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-569">CALCITE-569</a>]
+<code>ArrayIndexOutOfBoundsException</code> when deducing collation</li>
+      <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-594">CALCITE-594</a>]
+Add <code>RelDistribution</code> trait and <code>Exchange</code> relational expression</li>
+    </ul>
+  </li>
+</ul>
+
+<p>API changes</p>
+
+<ul>
+  <li>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.</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-591">CALCITE-591</a>]
+Drop support for Java 1.6 (and JDBC 4.0)</li>
+  <li>[<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)</li>
+  <li>[<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>]</li>
+  <li>Add means to create <code>Context</code> instances by wrapping objects and by chaining
+contexts</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-599">CALCITE-599</a>]
+<code>EquiJoin</code> in wrong package (Jesus Camacho Rodriguez)</li>
+  <li>[<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></li>
+  <li>[<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)</li>
+</ul>
+
+<p>Bug-fixes and internal changes</p>
+
+<ul>
+  <li>Remove the <code>LICENSE</code> file of calcite-example-csv (the former
+optiq-csv) and move its history into main history</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-615">CALCITE-615</a>]
+AvaticaParameter should be Jackson serializable (Nick Dimiduk)</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-612">CALCITE-612</a>]
+Update AvaticaStatement to handle cancelled queries (Parth Chandra)</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-605">CALCITE-605</a>]
+Reduce dependency on third-party maven repositories</li>
+  <li>[<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)</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-566">CALCITE-566</a>]
+<code>ReduceExpressionsRule</code> requires planner to have an <code>Executor</code></li>
+  <li>Refactor <code>TableScanNode.create</code> method</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-593">CALCITE-593</a>]
+Validator in <code>Frameworks</code> should expand identifiers (Jinfeng Ni)</li>
+  <li>Australian time-zones changed in <code>tzdata2014f</code>, Java 1.8.0_31</li>
+  <li>[<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></li>
+  <li>In Travis, ask Surefire to print results to screen</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-586">CALCITE-586</a>]
+Prevent JSON serialization of <code>Signature.internalParameters</code></li>
+</ul>
 
 <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>
 
@@ -978,1022 +1020,1200 @@ improvements to the algorithms that impl
 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>
+<p>New features</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>
+<ul>
+  <li>SQL
+    <ul>
+      <li>[<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</li>
+      <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-492">CALCITE-492</a>]
+Support <code>UPSERT</code> statement in parser</li>
+      <li>[<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</li>
+      <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-497">CALCITE-497</a>]
+Support optional qualifier for column name references</li>
+      <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-356">CALCITE-356</a>]
+Allow column references of the form <code>schema.table.column</code></li>
+      <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-462">CALCITE-462</a>]
+Allow table functions in <code>LATERAL</code> expression</li>
+      <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-282">CALCITE-282</a>]
+Add <code>{fn QUARTER(date)}</code> function (Benoy Antony)</li>
+      <li>Grouping sets
+        <ul>
+          <li>[<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</li>
+          <li>[<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</li>
+        </ul>
+      </li>
+    </ul>
+  </li>
+  <li>Planner rule improvements
+    <ul>
+      <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-92">CALCITE-92</a>]
+Optimize away <code>Project</code> that merely renames fields</li>
+      <li>Detect and merge duplicate predicates <code>AND(x, y, x)</code> to <code>AND(x, y)</code> in more
+circumstances</li>
+      <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-557">CALCITE-557</a>]
+Speed up planning by never creating <code>AbstractConverter</code></li>
+      <li>[<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</li>
+      <li>Grouping sets
+        <ul>
+          <li>[<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)</li>
+          <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-533">CALCITE-533</a>]
+Support for grouping sets in <code>FilterAggregateTransposeRule</code> (Jesus Camacho
+Rodriguez)</li>
+          <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-532">CALCITE-532</a>]
+Support for grouping sets in <code>AggregateFilterTransposeRule</code> (Jesus Camacho
+Rodriguez)</li>
+          <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-513">CALCITE-513</a>]
+Support for grouping sets in <code>AggregateProjectMergeRule</code> (Jesus Camacho
+Rodriguez)</li>
+          <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-510">CALCITE-510</a>]
+Support for grouping sets in <code>AggregateExpandDistinctAggregatesRule</code> (Jesus
+Camacho Rodriguez)</li>
+          <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-502">CALCITE-502</a>]
+Support for grouping sets in <code>AggregateUnionTransposeRule</code> (Jesus Camacho
+Rodriguez)</li>
+          <li>[<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)</li>
+        </ul>
+      </li>
+    </ul>
+  </li>
+  <li>Algorithms
+    <ul>
+      <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-451">CALCITE-451</a>]
+Implement theta join, inner and outer, in enumerable convention</li>
+      <li>[<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)</li>
+      <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-544">CALCITE-544</a>]
+Implement <code>Union</code> in interpreter</li>
+      <li>[<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</li>
+      <li>[<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)</li>
+      <li>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</li>
+    </ul>
+  </li>
+  <li>Remote driver
+    <ul>
+      <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-93">CALCITE-93</a>]
+Calcite RPC server</li>
+      <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-94">CALCITE-94</a>]
+Remote JDBC driver</li>
+      <li>Make <code>JsonHandler</code> and <code>JsonService</code> thread-safe</li>
+    </ul>
+  </li>
+</ul>
+
+<p>API changes</p>
+
+<ul>
+  <li>The great code re-org
+    <ul>
+      <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-296">CALCITE-296</a>]
+Re-organize package structure</li>
+      <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-419">CALCITE-419</a>]
+Naming convention for planner rules</li>
+      <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-306">CALCITE-306</a>]
+Standardize code style for “import package.*;”</li>
+      <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-474">CALCITE-474</a>]
+Clean up rule naming in order to support enabling/disabling rules</li>
+      <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-460">CALCITE-460</a>]
+Add <code>ImmutableBitSet</code> and replace uses of <code>BitSet</code></li>
+      <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-479">CALCITE-479</a>]
+Migrate <code>RelNode.getChildExps</code> to <code>RelNode.accept(RexShuttle)</code></li>
+      <li>[<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></li>
+    </ul>
+  </li>
+  <li>Add linq4j and example-csv modules
+    <ul>
+      <li>Remove unused packages in linq4j, and fix checkstyle issues in linq4j and csv</li>
+      <li>Add calcite-linq4j and calcite-example-csv as POM sub-modules</li>
+      <li>Import ‘optiq-csv’ project as ‘example/csv/’, and add Apache headers</li>
+      <li>Import ‘linq4j’ project, and add Apache headers</li>
+      <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-478">CALCITE-478</a>]
+Move CSV tutorial (Siva Narayanan)</li>
+    </ul>
+  </li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-464">CALCITE-464</a>]
+Make parser accept configurable max length for SQL identifier</li>
+  <li>[<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</li>
+</ul>
+
+<p>Bug-fixes and internal changes</p>
+
+<ul>
+  <li>Build improvements
+    <ul>
+      <li>[<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</li>
+      <li>[<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</li>
+      <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-538">CALCITE-538</a>]
+Generate <code>Parser.jj</code> only at first build</li>
+      <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-539">CALCITE-539</a>]
+Avoid rewrite of <code>org-apache-calcite-jdbc.properties</code></li>
+      <li>[<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></li>
+      <li>[<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</li>
+      <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-535">CALCITE-535</a>]
+Support skip overwrite in hydromatic-resource</li>
+    </ul>
+  </li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-582">CALCITE-582</a>]
+<code>EnumerableTableScan</code> broken when table has single column</li>
+  <li>[<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)</li>
+  <li>[<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</li>
+  <li>[<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></li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-567">CALCITE-567</a>]
+Make <code>quidem</code> dependency have scope “test”</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-570">CALCITE-570</a>]
+<code>ReduceExpressionsRule</code> throws “duplicate key” exception</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-561">CALCITE-561</a>]
+Upgrade parent POM</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-458">CALCITE-458</a>]
+ArrayIndexOutOfBoundsException when using just a single column in interpreter</li>
+  <li>Fix spurious extra row from <code>FULL JOIN</code></li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-554">CALCITE-554</a>]
+Outer join over NULL keys generates wrong result</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-489">CALCITE-489</a>]
+Teach <code>CalciteAssert</code> to respect multiple settings</li>
+  <li>[<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)</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-552">CALCITE-552</a>]
+Upgrade tpcds (which depends on an old version of guava)</li>
+  <li>Copy identifier when fully-qualifying, so column aliases have the right case</li>
+  <li>[<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)
+    <ul>
+      <li>Simplify <code>Group.induce</code> by assuming that group sets are sorted</li>
+    </ul>
+  </li>
+  <li>Test case for
+[<a href="https://issues.apache.org/jira/browse/CALCITE-212">CALCITE-212</a>]
+Join condition with <code>OR</code></li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-550">CALCITE-550</a>]
+Case-insensitive matching of sub-query columns fails
+    <ul>
+      <li>Add more unit tests (Jinfeng Ni)</li>
+    </ul>
+  </li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-448">CALCITE-448</a>]
+<code>FilterIntoJoinRule</code> creates filters containing invalid <code>RexInputRef</code></li>
+  <li>When registering a <code>RelNode</code>, be tolerant if it is equivalent to a <code>RelNode</code>
+with different traits</li>
+  <li>[<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</li>
+  <li>In Travis CI, enable containers, and cache <code>.m2</code> directory</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-534">CALCITE-534</a>]
+Missing implementation of <code>ResultSetMetaData.getColumnClassName</code> (Knut
+Forkalsrud)</li>
+  <li>[<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</li>
+  <li>Merge join algorithm for <code>Enumerable</code>s</li>
+  <li>Efficient <code>Enumerable</code> over random-access list</li>
+  <li>Add a test that calls all functions with arguments of all types that they
+claim to accept</li>
+  <li>[<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</li>
+  <li>Add a model that has lattices and works against HSQLDB</li>
+  <li>[<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></li>
+  <li>[<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></li>
+  <li>[<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></li>
+  <li>[<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</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-469">CALCITE-469</a>]
+Update example/csv README.md instructions</li>
+  <li>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</li>
+  <li>[<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</li>
+  <li>Fix <code>Linq4j.product</code>; the cartesian product of 0 attributes is one row of 0
+attributes</li>
+  <li>Update link optiq-mat-plugin → mat-calcite-plugin</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-467">CALCITE-467</a>]
+Incorrect namespace in <code>package-info.java</code></li>
+  <li>Add headers, to appease the RAT</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-446">CALCITE-446</a>]
+CSV adapter should read from directory relative to the model file</li>
+  <li>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</li>
+  <li>Fix <code>JdbcTest.testVersion</code> now that version is 1.0</li>
+  <li>Update release HOWTO</li>
+</ul>
+
+<h2 id="v0-9-2"><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>
+<p>New features</p>
+
+<ul>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-436">CALCITE-436</a>]
+Simpler SPI to query <code>Table</code></li>
+</ul>
+
+<p>API changes</p>
+
+<ul>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-447">CALCITE-447</a>]
+Change semi-join rules to make use of factories</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-442">CALCITE-442</a>
+Add <code>RelOptRuleOperand</code> constructor that takes a predicate</li>
+</ul>
 
-<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>Bug-fixes and internal changes</p>
+
+<ul>
+  <li>[<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</li>
+  <li>Various lattice improvements.</li>
+  <li>sqlline: Looking for class-path in inconsistent locations.</li>
+  <li>Re-order test suite, so that fast tests are run first.</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-444">CALCITE-444</a>]
+Filters wrongly pushed into full outer join</li>
+  <li>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>]</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-443">CALCITE-443</a>]
+<code>getPredicates</code> from a Union is not correct</li>
+  <li>Update references to web sites, git repositories, jira, mailing lists,
+travis CI now that [INFRA-8413] is fixed</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-434">CALCITE-435</a>]
+<code>FilterAggregateTransposeRule</code> loses conditions that cannot be pushed</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-435">CALCITE-435</a>]
+<code>LoptOptimizeJoinRule</code> incorrectly re-orders outer joins</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-439">CALCITE-439</a>]
+<code>SqlValidatorUtil.uniquify()</code> may not terminate under some conditions</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-438">CALCITE-438</a>]
+Push predicates through <code>SemiJoinRel</code></li>
+  <li>Add test case for <code>LIKE ... ESCAPE</code>.</li>
+  <li>HOWTO: Modify release instructions.</li>
+  <li>Update <code>DiffRepository</code> documentation.</li>
+  <li>Add tests for windowed aggregates without <code>ORDER BY</code>. (Works already.)</li>
+</ul>
+
+<h2 id="v0-9-1"><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>
+<p>New features</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>
+<ul>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-430">CALCITE-430</a>]
+Rename project from Optiq to Calcite</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-426">CALCITE-426</a>]
+Pool JDBC data sources, to make it easier to pool connections</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-416">CALCITE-416</a>]
+Execute logical <code>RelNode</code>s using an interpreter</li>
+  <li>[<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>.</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-269">CALCITE-269</a>]
+MongoDB result sets larger than 16MB</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-373">CALCITE-373</a>]
+<code>NULL</code> values in <code>NOT IN</code> sub-queries</li>
+  <li>SQL functions:
+    <ul>
+      <li>[<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</li>
+      <li>[<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</li>
+    </ul>
+  </li>
+  <li>Planner rules:
+    <ul>
+      <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-425">CALCITE-425</a>]
+Add <code>FilterAggregateTransposeRule</code>, that pushes a filter through an
+aggregate</li>
+      <li>[<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</li>
+      <li>[<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</li>
+      <li>[<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)</li>
+      <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-389">CALCITE-389</a>]
+<code>MergeFilterRule</code> should flatten <code>AND</code> condition</li>
+    </ul>
+  </li>
+  <li>Lattices:
+    <ul>
+      <li>[<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</li>
+      <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-410">CALCITE-410</a>]
+Allow lattice tiles to satisfy a query by rolling up</li>
+      <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-406">CALCITE-406</a>]
+Add tile and measure elements to lattice model element</li>
+      <li>Now, a lattice can materialize an aggregate-join and use it in a subsequent
+query.</li>
+      <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-402">CALCITE-402</a>]
+Lattice should create materializations on demand</li>
+      <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-344">CALCITE-344</a>]
+Lattice data structure</li>
+    </ul>
+  </li>
+  <li>Field trimmer:
+    <ul>
+      <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-408">CALCITE-408</a>]
+Make <code>FieldTrimmer</code> work with <code>RelNode</code> base classes</li>
+      <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-388">CALCITE-388</a>]
+Handle semi-joins in field trimmer</li>
+      <li>[<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></li>
+      <li>[<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</li>
+    </ul>
+  </li>
+</ul>
+
+<p>API changes</p>
+
+<ul>
+  <li>[<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></li>
+  <li>In <code>Planner</code>, query de-correlation no longer requires state in a
+<code>SqlToRelConverter</code>.</li>
+  <li>Factories:
+    <ul>
+      <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-392">CALCITE-392</a>]
+<code>RelFieldTrimmer</code> should use factory to create new rel nodes</li>
+      <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-382">CALCITE-382</a>]
+Refactoring rules to use factories</li>
+      <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-398">CALCITE-398</a>]
+Move <code>CalcRel.createProject</code> methods to <code>RelOptUtil</code></li>
+      <li>[<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></li>
+    </ul>
+  </li>
+</ul>
+
+<p>Bug-fixes and internal changes</p>
+
+<ul>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-386">CALCITE-386</a>]
+Fix NOTICE</li>
+  <li>Add tests inspired by Derby bugs.</li>
+  <li>Add recent presentation to README.md.</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-427">CALCITE-427</a>]
+Off-by-one issues in <code>RemoveDistinctAggregateRule</code>,
+<code>AggregateFilterTransposeRule</code></li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-414">CALCITE-414</a>]
+Bad class name in <code>sqlline</code> shell script</li>
+  <li>Bad package name in <code>package-info.java</code> was causing errors in Eclipse.</li>
+  <li>[<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</li>
+  <li>Add test case for
+[<a href="https://issues.apache.org/jira/browse/CALCITE-411">CALCITE-411</a>]
+Duplicate column aliases</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-407">CALCITE-407</a>]
+<code>RemoveTrivialProjectRule</code> drops child node’s traits</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-409">CALCITE-409</a>]
+<code>PushFilterPastProjectRule</code> should not push filters past windowed aggregates</li>
+  <li>Fix tests on Windows.</li>
+  <li>Don’t load <code>FoodMartQuerySet</code> unless we have to. It’s big.</li>
+  <li>Enable connection pooling in test suite.</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-384">CALCITE-384</a>]
+Add <code>apache-</code> prefix to tarball and directory within tarball</li>
+  <li>Freeze hive fmpp &gt; freemarker plugin dependency.</li>
+  <li>Upgrade Janino</li>
+  <li>Removed hardcoded foodmart schema information</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-387">CALCITE-387</a>]
+CompileException when cast TRUE to nullable boolean</li>
+  <li>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</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-385">CALCITE-385</a>]
+Change comment style for Java headers</li>
+  <li>Disable test that is inconistent between JDK 1.7 and 1.8.</li>
+  <li>Fix <code>git-commit-id-plugin</code> error when running in Travis-CI.</li>
+  <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-381">CALCITE-381</a>]

[... 1461 lines stripped ...]