Repository: calcite
Updated Branches:
  refs/heads/branch-1.6 [created] 78973eca9


Draft release notes for 1.6


Project: http://git-wip-us.apache.org/repos/asf/calcite/repo
Commit: http://git-wip-us.apache.org/repos/asf/calcite/commit/78973eca
Tree: http://git-wip-us.apache.org/repos/asf/calcite/tree/78973eca
Diff: http://git-wip-us.apache.org/repos/asf/calcite/diff/78973eca

Branch: refs/heads/branch-1.6
Commit: 78973eca94e81f7ccf1f9fc792d555239faaa049
Parents: ebcba3b
Author: Julian Hyde <[email protected]>
Authored: Sun Jan 10 14:30:58 2016 -0800
Committer: Julian Hyde <[email protected]>
Committed: Mon Jan 11 14:21:53 2016 -0800

----------------------------------------------------------------------
 README                |   2 +-
 pom.xml               |   2 +-
 site/_docs/history.md | 206 +++++++++++++++++++++++++++++++++++++++++++++
 site/_docs/howto.md   |   6 +-
 4 files changed, 211 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/calcite/blob/78973eca/README
----------------------------------------------------------------------
diff --git a/README b/README
index a68be99..b492f4d 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-Apache Calcite release 1.5.0
+Apache Calcite release 1.6.0
 
 This is a source or binary distribution of Apache Calcite.
 

http://git-wip-us.apache.org/repos/asf/calcite/blob/78973eca/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 3253f25..1073361 100644
--- a/pom.xml
+++ b/pom.xml
@@ -49,7 +49,7 @@ limitations under the License.
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     <top.dir>${project.basedir}</top.dir>
     <version.major>1</version.major>
-    <version.minor>5</version.minor>
+    <version.minor>6</version.minor>
   </properties>
 
   <issueManagement>

http://git-wip-us.apache.org/repos/asf/calcite/blob/78973eca/site/_docs/history.md
----------------------------------------------------------------------
diff --git a/site/_docs/history.md b/site/_docs/history.md
index 6769758..8c0d046 100644
--- a/site/_docs/history.md
+++ b/site/_docs/history.md
@@ -28,6 +28,210 @@ For a full list of releases, see
 Downloads are available on the
 [downloads page]({{ site.baseurl }}/downloads/).
 
+## <a 
href="https://github.com/apache/calcite/releases/tag/calcite-1.6.0";>1.6.0</a> / 
2016-01-11
+{: #v1-6-0}
+
+As usual in this release, there are new SQL features, improvements to
+planning rules and Avatica, and lots of bug fixes. We'll spotlight a
+couple of features make it easier to handle complex queries.
+
+[<a href="https://issues.apache.org/jira/browse/CALCITE-816";>CALCITE-816</a>]
+allows you to represent sub-queries (`EXISTS`, `IN` and scalar) as
+`RexSubQuery`, a kind of expression in the relational algebra. Until
+now, the sql-to-rel converter was burdened with expanding sub-queries,
+and people creating relational algebra directly (or via RelBuilder)
+could only create 'flat' relational expressions. Now we have planner
+rules to expand and de-correlate sub-queries.
+
+Metadata is the fuel that powers query planning. It includes
+traditional query-planning statistics such as cost and row-count
+estimates, but also information such as which columns form unique
+keys, unique and what predicates are known to apply to a relational
+expression's output rows. From the predicates we can deduce which
+columns are constant, and following
+[<a href="https://issues.apache.org/jira/browse/CALCITE-1023";>CALCITE-1023</a>]
+we can now remove constant columns from `GROUP BY` keys.
+
+Metadata is often computed recursively, and it is hard to safely and
+efficiently calculate metadata on a graph of `RelNode`s that is large,
+frequently cyclic, and constantly changing.
+[<a href="https://issues.apache.org/jira/browse/CALCITE-794";>CALCITE-794</a>]
+introduces a context to each metadata call. That context can detect
+cyclic metadata calls and produce a safe answer to the metadata
+request. It will also allow us to add finer-grained caching and
+further tune the metadata layer.
+
+New features
+
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-816";>CALCITE-816</a>]
+  Represent sub-query as a `RexNode`
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-854";>CALCITE-854</a>]
+  Implement `UNNEST ... WITH ORDINALITY`
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-1003";>CALCITE-1003</a>]
+  Utility to convert `RelNode` to SQL (Amogh Margoor)
+  * [<a 
href="https://issues.apache.org/jira/browse/CALCITE-1010";>CALCITE-1010</a>]
+    `FETCH/LIMIT` and `OFFSET` in RelToSqlConverter (Amogh Margoor)
+  * Move code from `JdbcImplementor` and `JdbcRules` to new class
+    `SqlImplementor`
+  * Deduce dialect's null collation from `DatabaseMetaData`
+  * Fix `RelToSqlConverterTest` on Windows
+* Following
+  [<a 
href="https://issues.apache.org/jira/browse/CALCITE-897";>CALCITE-897</a>],
+  empty string for `boolean` properties means true
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-992";>CALCITE-992</a>]
+  Validate and resolve sequence reference as a `Table` object
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-968";>CALCITE-968</a>]
+  Stream-to-relation and stream-to-stream joins (Milinda Pathirage)
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-1041";>CALCITE-1041</a>]
+  User-defined function that returns `DATE` or `TIMESTAMP` value
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-986";>CALCITE-986</a>]
+  User-defined function with `DATE` or `TIMESTAMP` parameters
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-958";>CALCITE-958</a>]
+  Overloaded Table Functions with named arguments (Julien Le Dem)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-970";>CALCITE-970</a>]
+  If `NULLS FIRST`/`NULLS LAST` not specified, sort `NULL` values high
+
+Avatica features and bug fixes
+
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-934";>CALCITE-934</a>]
+  Use an OS-assigned ephemeral port for `CalciteRemoteDriverTest`
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-767";>CALCITE-767</a>]
+  Create Avatica RPC endpoints for commit and rollback commands
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-983";>CALCITE-983</a>]
+  Handle nulls in `ErrorResponse`'s protobuf representation better
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-989";>CALCITE-989</a>]
+  Add server's address in each response
+* Fix some bugs found by static analysis
+* Make all equals and hashCode methods uniform
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-962";>CALCITE-962</a>]
+  Propagate the cause, not just the cause's message, from `JdbcMeta`
+
+Planner rules
+
+* Simplify `RexProgram`, in particular `(NOT CASE ... END) IS TRUE`, which
+  occurs in when `NOT IN` is expanded
+* Fix variant of
+  [<a href="https://issues.apache.org/jira/browse/CALCITE-923";>CALCITE-923</a>]
+  that occurs in `RelOptRulesTest.testPushFilterPastProject`
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-1023";>CALCITE-1023</a>]
+  and
+  [<a 
href="https://issues.apache.org/jira/browse/CALCITE-1038";>CALCITE-1038</a>]
+  Planner rule that removes `Aggregate` keys that are constant
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-1018";>CALCITE-1018</a>]
+  `SortJoinTransposeRule` not firing due to `getMaxRowCount(RelSubset)` 
returning
+  null
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-1019";>CALCITE-1019</a>]
+  `RelMdUtil.checkInputForCollationAndLimit()` was wrong with `alreadySorted`
+  check
+* Not safe to use '=' for predicates on constant expressions that might be null
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-993";>CALCITE-993</a>]
+  Pull up all constant expressions, not just literals, as predicates
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-1005";>CALCITE-1005</a>]
+  Handle null in `getMaxRowCount` for `Aggregate` (Mike Hinchey)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-995";>CALCITE-995</a>]
+  Sort transpose rules might fall in an infinite loop
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-987";>CALCITE-987</a>]
+  Pushing `LIMIT 0` results in an infinite loop (Pengcheng Xiong)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-988";>CALCITE-988</a>]
+  `FilterToProjectUnifyRule.invert(MutableRel, MutableRel, MutableProject)`
+  works incorrectly
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-969";>CALCITE-969</a>]
+  Composite `EnumerableSort` with `DESC` wrongly sorts `NULL` values low
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-959";>CALCITE-959</a>]
+  Add description to `SortProjectTransposeRule`'s constructor
+
+Bug fixes, API changes and minor enhancements
+
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-1020";>CALCITE-1020</a>]
+  Add `MILLISECOND` in `TimeUnit` (Pengcheng Xiong)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-794";>CALCITE-794</a>]
+  Detect cycles when computing statistics
+  (**This is a breaking change**.)
+* Tune algorithm that deduces the return type of `AND` expression
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-842";>CALCITE-842</a>]
+  Decorrelator gets field offsets confused if fields have been trimmed
+* Fix `NullPointerException` in `SqlJoin.toString()`
+* Add `ImmutableBitSet.rebuild()`
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-915";>CALCITE-915</a>]
+  Tests now unset `ThreadLocal` values on exit
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-1036";>CALCITE-1036</a>]
+  `DiffRepository` should not insert new resources at the end of the repository
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-955";>CALCITE-955</a>]
+  `Litmus` (continuation-passing style for methods that check invariants)
+* `RelBuilder.project` now does nothing if asked to project the identity with
+  the same field names
+* Deprecate some `Util` methods, and upgrade last Maven modules to JDK 1.7
+* Document `RelOptPredicateList`
+* Add `ImmutableNullableList.copyOf(Iterable)`
+* Fix "endPosTable already set" error from `javac`
+* Add benchmark of `Parser.create(sql).parseQuery()`
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-1042";>CALCITE-1042</a>]
+  Ensure that `FILTER` is `BOOLEAN NOT NULL`
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-1039";>CALCITE-1039</a>]
+  Assign a `SqlKind` value for each built-in aggregate function
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-1030";>CALCITE-1030</a>]
+  JSON `ModelHandler` calling `SchemaPlus.setCacheEnabled()` causes
+  `UnsupportedOperationException` when using `SimpleCalciteSchema`
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-1028";>CALCITE-1028</a>]
+  Move populate materializations after sql-to-rel conversion
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-1034";>CALCITE-1034</a>]
+  Use a custom checker for code style rules that Checkstyle cannot express
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-1032";>CALCITE-1032</a>]
+  Verify javadoc of private methods
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-1015";>CALCITE-1015</a>]
+  `OFFSET 0` causes `AssertionError` (Zhen Wang)
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-1024";>CALCITE-1024</a>]
+  In a planner test, if a rule should have no effect, state that explicitly
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-1016";>CALCITE-1016</a>]
+  `GROUP BY *constant*` on empty relation should return 0 rows
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-1022";>CALCITE-1022</a>]
+  Rename `.oq` Quidem files to `.iq`
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-980";>CALCITE-980</a>]
+  Fix `AND` and `OR` implementation in `Enumerable` convention
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-459";>CALCITE-459</a>]
+  When parsing SQL, allow single line comment on last line (Zhen Wang)
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-1009";>CALCITE-1009</a>]
+  `SelfPopulatingList` is not thread-safe
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-1008";>CALCITE-1008</a>]
+  Replace `Closeable` with `AutoCloseable`
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-1001";>CALCITE-1001</a>]
+  Upgrade to quidem-0.7
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-990";>CALCITE-990</a>]
+  In `VolcanoPlanner`, populate `RelOptRuleCall.nodeInputs` for operands of 
type
+  "any"
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-966";>CALCITE-966</a>]
+  `VolcanoPlanner` now clears `ruleNames` in order to avoid rule name
+  conflicting error
+* Factor user-defined function tests from `JdbcTest` to `UdfTest`, and classes
+  into `Smalls`
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-974";>CALCITE-974</a>]
+  Exception while validating `DELETE` (Yuri Au Yong)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-964";>CALCITE-964</a>]
+  Rename `timezone` connection property to `timeZone`
+
+Web site and documentation
+
+* Avatica
+  * [<a 
href="https://issues.apache.org/jira/browse/CALCITE-1033";>CALCITE-1033</a>]
+    Introduce Avatica protobuf documentation
+  * [<a 
href="https://issues.apache.org/jira/browse/CALCITE-1029";>CALCITE-1029</a>]
+     Add "purpose" descriptions to Avatica JSON docs
+  * [<a 
href="https://issues.apache.org/jira/browse/CALCITE-984";>CALCITE-984</a>]
+    Massive cleanup of Avatica JSON docs
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-861";>CALCITE-861</a>]
+  Be explicit that `mvn test` needs to be invoked
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-997";>CALCITE-997</a>]
+  Document keywords
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-979";>CALCITE-979</a>]
+  Broken links in web site
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-961";>CALCITE-961</a>]
+  Web site: Add downloads and Apache navigation links
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-960";>CALCITE-960</a>]
+  Download links for pgp, md5, `KEYS` files, and direct from mirrors
+* Remove embedded date-stamps from javadoc; add javadoc for test classes
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-965";>CALCITE-965</a>]
+  Link to downloads page from each release news item
+
 ## <a 
href="https://github.com/apache/calcite/releases/tag/calcite-1.5.0";>1.5.0</a> / 
2015-11-06
 {: #v1-5-0}
 
@@ -201,6 +405,8 @@ RelBuilder and Piglet
 * Multisets and `COLLECT` in Piglet
 * [<a href="https://issues.apache.org/jira/browse/CALCITE-785";>CALCITE-785</a>]
   Add "Piglet", a subset of Pig Latin on top of Calcite algebra
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-869";>CALCITE-869</a>]
+  Add `VALUES` command to Piglet
 * [<a href="https://issues.apache.org/jira/browse/CALCITE-868";>CALCITE-868</a>]
   Add API to execute queries expressed as `RelNode`
 * In RelBuilder, build expressions by table alias

http://git-wip-us.apache.org/repos/asf/calcite/blob/78973eca/site/_docs/howto.md
----------------------------------------------------------------------
diff --git a/site/_docs/howto.md b/site/_docs/howto.md
index 2f2bddc..76f006c 100644
--- a/site/_docs/howto.md
+++ b/site/_docs/howto.md
@@ -39,8 +39,8 @@ Unpack the source distribution `.tar.gz` or `.zip` file,
 then build using maven:
 
 {% highlight bash %}
-$ tar xvfz calcite-1.5.0-source.tar.gz
-$ cd calcite-1.5.0
+$ tar xvfz calcite-1.6.0-source.tar.gz
+$ cd calcite-1.6.0
 $ mvn install
 {% endhighlight %}
 
@@ -414,7 +414,7 @@ Before you start:
 
 * Set up signing keys as described above.
 * Make sure you are using JDK 1.7 (not 1.8).
-* Check that `README`, `README.md` and `doc/howto.md` have the correct version 
number.
+* Check that `README` and `doc/howto.md` have the correct version number.
 * Set `version.major` and `version.minor` in `pom.xml`.
 * Make sure build and tests succeed, including with
   -Dcalcite.test.db={mysql,hsqldb}, -Dcalcite.test.slow,

Reply via email to