You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@calcite.apache.org by mm...@apache.org on 2017/09/18 14:38:43 UTC

[1/5] calcite git commit: Suppress checkstyle on generated source files, following [CALCITE-1963] [Forced Update!]

Repository: calcite
Updated Branches:
  refs/heads/branch-1.14 6fa983541 -> 900c941bf (forced update)


Suppress checkstyle on generated source files, following [CALCITE-1963]


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

Branch: refs/heads/branch-1.14
Commit: 1f04d556fad1ba8ef4a9ac6f73aca2bdbb945f37
Parents: 172db20
Author: Julian Hyde <jh...@apache.org>
Authored: Fri Sep 8 11:48:34 2017 -0700
Committer: Julian Hyde <jh...@apache.org>
Committed: Fri Sep 8 11:48:34 2017 -0700

----------------------------------------------------------------------
 src/main/config/checkstyle/suppressions.xml | 2 ++
 1 file changed, 2 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/calcite/blob/1f04d556/src/main/config/checkstyle/suppressions.xml
----------------------------------------------------------------------
diff --git a/src/main/config/checkstyle/suppressions.xml b/src/main/config/checkstyle/suppressions.xml
index b76afb7..c21c207 100644
--- a/src/main/config/checkstyle/suppressions.xml
+++ b/src/main/config/checkstyle/suppressions.xml
@@ -26,6 +26,8 @@ limitations under the License.
   <suppress checks=".*" files="org-apache-calcite-jdbc.properties"/>
   <suppress checks=".*" files="Foo.java"/>
   <suppress checks=".*" files=".*[/\\]target[/\\]maven-archiver[/\\]pom.properties"/>
+  <suppress checks=".*" files=".*[/\\]target[/\\]generated-sources[/\\].*"/>
+  <suppress checks=".*" files=".*[/\\]target[/\\]generated-test-sources[/\\].*"/>
   <suppress checks=".*" files="git.properties"/>
   <suppress checks=".*" files="trace.properties"/>
   <suppress checks=".*" files="release.properties"/>


[2/5] calcite git commit: Annotate interface SqlDialect.Handler (added in [CALCITE-1841]) as "experimental" until we settle [CALCITE-1913]

Posted by mm...@apache.org.
Annotate interface SqlDialect.Handler (added in [CALCITE-1841]) as "experimental" until we settle [CALCITE-1913]

Allow annotation Experimental to apply to constructors.

Also fix a couple of issues from [CALCITE-1947]:
* Long(long) constructor is deprecated in JDK 1.9;
* java.sql.Types.TIME_WITH_TIMEZONE dnd TIMESTAMP_WITH_TIMEZONE don't
  exist until JDK 1.8.


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

Branch: refs/heads/branch-1.14
Commit: 67071b6b0ba52eeb953badfff39fa10d85b80bf5
Parents: 1f04d55
Author: Julian Hyde <jh...@apache.org>
Authored: Fri Sep 8 13:09:48 2017 -0700
Committer: Julian Hyde <jh...@apache.org>
Committed: Fri Sep 8 15:05:11 2017 -0700

----------------------------------------------------------------------
 core/src/main/java/org/apache/calcite/sql/SqlDialect.java      | 6 +++++-
 .../main/java/org/apache/calcite/sql/type/SqlTypeFamily.java   | 4 ++--
 core/src/test/java/org/apache/calcite/test/RexProgramTest.java | 2 +-
 .../java/org/apache/calcite/linq4j/function/Experimental.java  | 3 ++-
 4 files changed, 10 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/calcite/blob/67071b6b/core/src/main/java/org/apache/calcite/sql/SqlDialect.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/sql/SqlDialect.java b/core/src/main/java/org/apache/calcite/sql/SqlDialect.java
index 306ed6e..6bc25ca 100644
--- a/core/src/main/java/org/apache/calcite/sql/SqlDialect.java
+++ b/core/src/main/java/org/apache/calcite/sql/SqlDialect.java
@@ -18,6 +18,7 @@ package org.apache.calcite.sql;
 
 import org.apache.calcite.avatica.util.DateTimeUtils;
 import org.apache.calcite.config.NullCollation;
+import org.apache.calcite.linq4j.function.Experimental;
 import org.apache.calcite.rel.RelFieldCollation;
 import org.apache.calcite.sql.dialect.HsqldbHandler;
 import org.apache.calcite.sql.dialect.MssqlHandler;
@@ -133,7 +134,7 @@ public class SqlDialect {
         NullCollation.HIGH, DEFAULT_HANDLER);
   }
 
-  @Deprecated // to be removed before 2.0
+  /** Creates a SqlDialect with the default handler. */
   public SqlDialect(DatabaseProduct databaseProduct, String databaseProductName,
       String identifierQuoteString, NullCollation nullCollation) {
     this(databaseProduct, databaseProductName, identifierQuoteString,
@@ -151,6 +152,7 @@ public class SqlDialect {
    * @param nullCollation         Whether NULL values appear first or last
    * @param handler               Handler for un-parsing
    */
+  @Experimental
   public SqlDialect(DatabaseProduct databaseProduct, String databaseProductName,
       String identifierQuoteString, NullCollation nullCollation,
       Handler handler) {
@@ -717,12 +719,14 @@ public class SqlDialect {
    *
    * <p>Instances are stateless and therefore immutable.
    */
+  @Experimental
   public interface Handler {
     void unparseCall(SqlWriter writer, SqlCall call, int leftPrec,
         int rightPrec);
   }
 
   /** Base class for dialect handlers. */
+  @Experimental
   public static class BaseHandler implements Handler {
     public void unparseCall(SqlWriter writer, SqlCall call,
         int leftPrec, int rightPrec) {

http://git-wip-us.apache.org/repos/asf/calcite/blob/67071b6b/core/src/main/java/org/apache/calcite/sql/type/SqlTypeFamily.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/sql/type/SqlTypeFamily.java b/core/src/main/java/org/apache/calcite/sql/type/SqlTypeFamily.java
index af1733b..5501316 100644
--- a/core/src/main/java/org/apache/calcite/sql/type/SqlTypeFamily.java
+++ b/core/src/main/java/org/apache/calcite/sql/type/SqlTypeFamily.java
@@ -99,9 +99,9 @@ public enum SqlTypeFamily implements RelDataTypeFamily {
 
           .put(Types.DATE, DATE)
           .put(Types.TIME, TIME)
-          .put(Types.TIME_WITH_TIMEZONE, TIME)
+          .put(ExtraSqlTypes.TIME_WITH_TIMEZONE, TIME)
           .put(Types.TIMESTAMP, TIMESTAMP)
-          .put(Types.TIMESTAMP_WITH_TIMEZONE, TIMESTAMP)
+          .put(ExtraSqlTypes.TIMESTAMP_WITH_TIMEZONE, TIMESTAMP)
           .put(Types.BOOLEAN, BOOLEAN)
 
           .put(ExtraSqlTypes.REF_CURSOR, CURSOR)

http://git-wip-us.apache.org/repos/asf/calcite/blob/67071b6b/core/src/test/java/org/apache/calcite/test/RexProgramTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/calcite/test/RexProgramTest.java b/core/src/test/java/org/apache/calcite/test/RexProgramTest.java
index ccecc98..f82a265 100644
--- a/core/src/test/java/org/apache/calcite/test/RexProgramTest.java
+++ b/core/src/test/java/org/apache/calcite/test/RexProgramTest.java
@@ -125,7 +125,7 @@ public class RexProgramTest {
       this.map =
           ImmutableMap.<String, Object>of(
               Variable.TIME_ZONE.camelName, TimeZone.getTimeZone("America/Los_Angeles"),
-              Variable.CURRENT_TIMESTAMP.camelName, new Long(1311120000000L));
+              Variable.CURRENT_TIMESTAMP.camelName, 1311120000000L);
     }
 
     public SchemaPlus getRootSchema() {

http://git-wip-us.apache.org/repos/asf/calcite/blob/67071b6b/linq4j/src/main/java/org/apache/calcite/linq4j/function/Experimental.java
----------------------------------------------------------------------
diff --git a/linq4j/src/main/java/org/apache/calcite/linq4j/function/Experimental.java b/linq4j/src/main/java/org/apache/calcite/linq4j/function/Experimental.java
index 630384d..768096d 100644
--- a/linq4j/src/main/java/org/apache/calcite/linq4j/function/Experimental.java
+++ b/linq4j/src/main/java/org/apache/calcite/linq4j/function/Experimental.java
@@ -20,6 +20,7 @@ import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 
+import static java.lang.annotation.ElementType.CONSTRUCTOR;
 import static java.lang.annotation.ElementType.FIELD;
 import static java.lang.annotation.ElementType.METHOD;
 import static java.lang.annotation.ElementType.PACKAGE;
@@ -33,7 +34,7 @@ import static java.lang.annotation.ElementType.TYPE;
  * <p>And yes, it is flagged experimental. We may move it elsewhere in future,
  * when we re-think the maturity model.
  */
-@Target({PACKAGE, TYPE, FIELD, METHOD })
+@Target({PACKAGE, TYPE, FIELD, METHOD, CONSTRUCTOR })
 @Retention(RetentionPolicy.SOURCE)
 @Experimental
 public @interface Experimental {


[4/5] calcite git commit: Update Coverity URL in documentation

Posted by mm...@apache.org.
Update Coverity URL in documentation


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

Branch: refs/heads/branch-1.14
Commit: 4abb30f755be8ec188b3bd4a8ae1358802dc6f99
Parents: d633402
Author: Michael Mior <mm...@uwaterloo.ca>
Authored: Thu Sep 7 13:46:40 2017 -0400
Committer: Michael Mior <mm...@uwaterloo.ca>
Committed: Mon Sep 18 10:09:32 2017 -0400

----------------------------------------------------------------------
 site/_docs/howto.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/calcite/blob/4abb30f7/site/_docs/howto.md
----------------------------------------------------------------------
diff --git a/site/_docs/howto.md b/site/_docs/howto.md
index bf6682e..8743163 100644
--- a/site/_docs/howto.md
+++ b/site/_docs/howto.md
@@ -449,7 +449,7 @@ Before you start:
   * `-Dcalcite.test.mongodb`
   * `-Dcalcite.test.splunk`
 * Trigger a
-  <a href="https://scan.coverity.com/projects/2966">Coverity scan</a>
+  <a href="https://scan.coverity.com/projects/julianhyde-calcite">Coverity scan</a>
   by merging the latest code into the `julianhyde/coverity_scan` branch,
   and when it completes, make sure that there are no important issues.
 * Add release notes to `site/_docs/history.md`. Include the commit history,


[5/5] calcite git commit: [CALCITE-1970] Release Calcite 1.14.0

Posted by mm...@apache.org.
[CALCITE-1970] Release Calcite 1.14.0


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

Branch: refs/heads/branch-1.14
Commit: 900c941bfed6298b41195debd197cd171102fa74
Parents: 4abb30f
Author: Michael Mior <mm...@uwaterloo.ca>
Authored: Mon Aug 28 17:03:37 2017 -0400
Committer: Michael Mior <mm...@uwaterloo.ca>
Committed: Mon Sep 18 10:38:21 2017 -0400

----------------------------------------------------------------------
 README                |   2 +-
 pom.xml               |   2 +-
 site/_docs/history.md | 101 +++++++++++++++++++++++++++++++++++++++++++--
 site/_docs/howto.md   |   4 +-
 4 files changed, 102 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/calcite/blob/900c941b/README
----------------------------------------------------------------------
diff --git a/README b/README
index 48b3d4a..b2cd7e3 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-Apache Calcite release 1.13.0
+Apache Calcite release 1.14.0
 
 This is a source or binary distribution of Apache Calcite.
 

http://git-wip-us.apache.org/repos/asf/calcite/blob/900c941b/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 46e4dd6..35d40dc 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>13</version.minor>
+    <version.minor>14</version.minor>
 
     <!-- This list is in alphabetical order. -->
     <airlift-tpch.version>0.1</airlift-tpch.version>

http://git-wip-us.apache.org/repos/asf/calcite/blob/900c941b/site/_docs/history.md
----------------------------------------------------------------------
diff --git a/site/_docs/history.md b/site/_docs/history.md
index a3f1919..5871929 100644
--- a/site/_docs/history.md
+++ b/site/_docs/history.md
@@ -28,9 +28,34 @@ 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.14.0">1.14.0</a> / under development
+## <a href="https://github.com/apache/calcite/releases/tag/calcite-1.15.0">1.15.0</a> / under development
+{: #v1-15-0}
+
+Compatibility: This release is tested
+on Linux, macOS, Microsoft Windows;
+using Oracle JDK 1.7, 1.8, 9;
+Guava versions 14.0 to 21.0;
+Druid version 0.10.0;
+other software versions as specified in `pom.xml`.
+
+## <a href="https://github.com/apache/calcite/releases/tag/calcite-1.14.0">1.14.0</a> / 2017-09-06
 {: #v1-14-0}
 
+This release brings some big new features.
+The `GEOMETRY` data type was added along with 35 associated functions as the start of support for Simple Feature Access.
+There are also two new adapters.
+Firstly, the Elasticsearch 5 adapter which now exists in parallel with the previous Elasticsearch 2 adapter.
+Additionally there is now an [OS adapter]({{ site.baseurl }}/docs/os_adapter.html) which exposes operating system metrics as relational tables.
+`ThetaSketch` and `HyperUnique` support has also been added to the Druid adapter.
+
+Several minor improvements are added as well including improved `MATCH_RECOGNIZE` support, quantified comparison predicates, and `ARRAY` and `MULTISET` support for UDFs.
+A full list of new features is given below.
+
+There are also a few breaking changes.
+The return type of `RANK` and other aggregate functions has been changed.
+There also changes to `Aggregate` in order to improve compatibility with Apache Hive.
+Finally, the `Schema#snapshot()` interface has been upgraded to allow for more flexible versioning.
+
 Compatibility: This release is tested
 on Linux, macOS, Microsoft Windows;
 using Oracle JDK 1.7, 1.8, 9;
@@ -38,14 +63,84 @@ Guava versions 14.0 to 21.0;
 Druid version 0.10.0;
 other software versions as specified in `pom.xml`.
 
+#### New features
+
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-1968">CALCITE-1968</a>]  OpenGIS Simple Feature Access SQL 1.2.1: add `GEOMETRY` data type and first 35 functions
+  Add Spatial page, document GIS functions in SQL reference (indicating
+  which ones are implemented), and add "countries" data set for testing.
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-1967">CALCITE-1967</a>]  Elasticsearch 5 adapter (Christian Beikov)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-1911">CALCITE-1911</a>]  In `MATCH_RECOGNIZE`, support `WITHIN` sub-clause (Dian Fu)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-1897">CALCITE-1897</a>]  Add '%' operator as an alternative to 'MOD' (sunjincheng)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-1787">CALCITE-1787</a>]  Add `ThetaSketch` and `HyperUnique` support to Calcite via rolled up columns (Zain Humayun)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-1896">CALCITE-1896</a>]  OS adapter and `sqlsh`
+  * Vmstat table function for sqlsh
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-1864">CALCITE-1864</a>]  Allow `NULL` literal as argument
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-1834">CALCITE-1834</a>]  Allow user-defined functions to have arguments that are `ARRAY` or `MULTISET` (Ankit Singhal)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-1886">CALCITE-1886</a>]  Support `"LIMIT [offset,] row_count"`, per MySQL (Kaiwang Chen)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-1845">CALCITE-1845</a>]  Quantified comparison predicates (SOME, ANY, ALL)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-1709">CALCITE-1709</a>]  Support mixing table columns with extended columns in DML (Rajeshbabu Chintaguntla)
+
 #### Bug-fixes, API changes and minor enhancements
 
-* [<a href="https://issues.apache.org/jira/browse/CALCITE-1931">CALCITE-1931</a>]
-  Change the return type of RANK and other aggregate functions.
+* [<a href="https://issues.apache.org/jira/browse/<a href="https://issues.apache.org/jira/browse/CALCITE-1931">CALCITE-1931</a>">CALCITE-1931</a>] 
+  Change the return type of `RANK` and other aggregate functions.
   Various aggregate functions that used to return `INTEGER` now return other
   types: `RANK`, `DENSE_RANK`, and `NTILE` now return `BIGINT`;
   `CUME_DIST` and `PERCENT_RANK` now return `DOUBLE`.
   (**This is a breaking change**.)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-1947">CALCITE-1947</a>]  Add `TIME`/`TIMESTAMP` with local time zone types to optimizer
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-1972">CALCITE-1972</a>]  Create `.sha512` and `.md5` digests for release artifacts
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-1941">CALCITE-1941</a>]  Refine interface `Schema#snapshot()`
+  (**This is a breaking change**.)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-1069">CALCITE-1069</a>]  In `Aggregate`, deprecate indicators, and allow `GROUPING` to be used as an aggregate function
+  (**This is a breaking change**.)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-1969">CALCITE-1969</a>]  Annotate user-defined functions as strict and semi-strict
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-1945">CALCITE-1945</a>]  Make return types of `AVG`, `VARIANCE`, `STDDEV` and `COVAR` customizable via RelDataTypeSystem
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-1966">CALCITE-1966</a>]  Allow normal views to act as materialization table (Christian Beikov)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-1953">CALCITE-1953</a>]  Rewrite `"NOT (x IS FALSE)" to "x IS NOT FALSE"; "x IS TRUE"` would be wrong
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-1943">CALCITE-1943</a>]  Add back `NavigationExpander` and `NavigationReplacer` in `SqlValidatorImpl` (Dian Fu)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-1963">CALCITE-1963</a>]  Upgrade checkstyle, and fix code to comply
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-1944">CALCITE-1944</a>]  Window function applied to sub-query that returns dynamic star gets wrong plan (Volodymyr Vysotskyi)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-1954">CALCITE-1954</a>]  Column from outer join should be null, whether or not it is aliased
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-1959">CALCITE-1959</a>]  Reduce the amount of metadata and `tableName` calls in Druid (Zain Humayun)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-1930">CALCITE-1930</a>]  Fix `AggregateExpandDistinctAggregatesRule` when there are multiple `AggregateCalls` referring to the same input
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-1936">CALCITE-1936</a>]  Allow `ROUND()` and `TRUNCATE()` to take one operand, defaulting scale to 0
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-1931">CALCITE-1931</a>]  Change the return type of RANK and other aggregate functions
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-1932">CALCITE-1932</a>]  `Project.getPermutation()` should return null if not a permutation (e.g. repeated `InputRef`)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-1925">CALCITE-1925</a>]  In `JaninoRelMetadataProvider`, cache null values (Ted Xu)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-1849">CALCITE-1849</a>]  Support `RexSubQuery` in `RelToSqlConverter`
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-1909">CALCITE-1909</a>]  Output `rowType` of Match should include `PARTITION BY` and `ORDER BY` columns
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-1929">CALCITE-1929</a>]  Deprecate class `RelDataTypeFactory.FieldInfoBuilder`
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-1895">CALCITE-1895</a>]  MSSQL's SUBSTRING operator has different syntax (Chris Baynes)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-1919">CALCITE-1919</a>]  `NullPointerException` when target in `ReflectiveSchema` belongs to root package (Lim Chee Hau)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-1907">CALCITE-1907</a>]  Table function with 1 column gives `ClassCastException`
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-1841">CALCITE-1841</a>]  Create handlers for JDBC dialect-specific generated SQL (Chris Baynes)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-1898">CALCITE-1898</a>]  `LIKE` must match '.' (period) literally
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-1900">CALCITE-1900</a>]  Detect cyclic views and give useful error message
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-1893">CALCITE-1893</a>]  Add MYSQL_5 conformance
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-1883">CALCITE-1883</a>]  `HepPlanner` should force garbage collect whenever a root registered (Ted Xu)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-1889">CALCITE-1889</a>]  Accept compound identifiers in `SqlValidatorUtil.checkIdentifierListForDuplicates()` (Rajeshbabu Chintaguntla)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-1881">CALCITE-1881</a>]  Can't distinguish overloaded user-defined functions that have DATE and TIMESTAMP arguments (余启)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-1803">CALCITE-1803</a>]  Push Project that follows Aggregate down to Druid (Junxian Wu)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-1828">CALCITE-1828</a>]  Push the FILTER clause into Druid as a Filtered Aggregator (Zain Humayun)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-1871">CALCITE-1871</a>]  Nesting `LAST` within `PREV` is not parsed correctly for `MATCH_RECOGNIZE`
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-1877">CALCITE-1877</a>]  Move the Pig test data files into target for the test runtime
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-1815">CALCITE-1815</a>]  Switch Pig adapter to depend on avatica-core instead of full avatica
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-1826">CALCITE-1826</a>]  Generate dialect-specific SQL for `FLOOR` operator when in a `GROUP BY` (Chris Baynes)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-1842">CALCITE-1842</a>]  `Sort.computeSelfCost()`` calls `makeCost()`` with arguments in wrong order (Junxian Wu)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-1874">CALCITE-1874</a>]  In Frameworks, make `SqlToRelConverter` configurable
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-1873">CALCITE-1873</a>]  In a "GROUP BY ordinal" query, validator gives invalid "Expression is not being grouped" error if column has alias
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-1833">CALCITE-1833</a>]  User-defined aggregate functions with more than one parameter (hzyuemeng1)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-1860">CALCITE-1860</a>]  Duplicate null predicates cause `NullPointerException` in `RexUtil` (Ruidong Li)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-1859">CALCITE-1859</a>]  NPE in validate method of `VolcanoPlanner`
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-1818">CALCITE-1818</a>]  Handle `SqlKind.DYNAMIC` (parameters) in `SqlImplementor` (Dylan Adams)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-1856">CALCITE-1856</a>]  Add option `StructKind.PEEK_FIELDS_NO_EXPAND`, similar to `PEEK_FIELDS` but is not expanded in `"SELECT *"` (Shuyi Chen)
+
+#### Web site and documentation
+
+* Add committer Chris Baynes
+* Add DataEngConf talk
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-1901">CALCITE-1901</a>]  SQL reference should say that "ONLY" is required after "FETCH ... ROWS"
 
 ## <a href="https://github.com/apache/calcite/releases/tag/calcite-1.13.0">1.13.0</a> / 2017-06-20
 {: #v1-13-0}

http://git-wip-us.apache.org/repos/asf/calcite/blob/900c941b/site/_docs/howto.md
----------------------------------------------------------------------
diff --git a/site/_docs/howto.md b/site/_docs/howto.md
index 8743163..5defff4 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.13.0-source.tar.gz
-$ cd calcite-1.13.0
+$ tar xvfz calcite-1.14.0-source.tar.gz
+$ cd calcite-1.14.0
 $ mvn install
 {% endhighlight %}
 


[3/5] calcite git commit: [CALCITE-1982] NPE simplifying range expressions when literal value is null

Posted by mm...@apache.org.
[CALCITE-1982] NPE simplifying range expressions when literal value is null


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

Branch: refs/heads/branch-1.14
Commit: d633402c41158da3fc00eebcf0e75b0c7da71450
Parents: 67071b6
Author: Jesus Camacho Rodriguez <jc...@apache.org>
Authored: Tue Sep 12 10:13:17 2017 -0700
Committer: Jesus Camacho Rodriguez <jc...@apache.org>
Committed: Tue Sep 12 10:13:17 2017 -0700

----------------------------------------------------------------------
 .../main/java/org/apache/calcite/rex/RexSimplify.java    | 11 ++++++++---
 .../java/org/apache/calcite/test/RexProgramTest.java     |  3 +++
 2 files changed, 11 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/calcite/blob/d633402c/core/src/main/java/org/apache/calcite/rex/RexSimplify.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rex/RexSimplify.java b/core/src/main/java/org/apache/calcite/rex/RexSimplify.java
index 52c4795..286a697 100644
--- a/core/src/main/java/org/apache/calcite/rex/RexSimplify.java
+++ b/core/src/main/java/org/apache/calcite/rex/RexSimplify.java
@@ -613,13 +613,18 @@ public class RexSimplify {
           RexCall rightCast = (RexCall) right;
           comparedOperands.add(rightCast.getOperands().get(0).toString());
         }
-        // Check for equality on different constants. If the same ref or CAST(ref)
-        // is equal to different constants, this condition cannot be satisfied,
-        // and hence it can be evaluated to FALSE
         final boolean leftRef = RexUtil.isReferenceOrAccess(left, true);
         final boolean rightRef = RexUtil.isReferenceOrAccess(right, true);
         final boolean leftConstant = left.isA(SqlKind.LITERAL);
         final boolean rightConstant = right.isA(SqlKind.LITERAL);
+        // Check for comparison with null values
+        if (leftConstant && ((RexLiteral) left).getValue() == null
+            || rightConstant && ((RexLiteral) right).getValue() == null) {
+          return rexBuilder.makeLiteral(false);
+        }
+        // Check for equality on different constants. If the same ref or CAST(ref)
+        // is equal to different constants, this condition cannot be satisfied,
+        // and hence it can be evaluated to FALSE
         if (term.getKind() == SqlKind.EQUALS) {
           if (leftRef && rightConstant) {
             final String literal = right.toString();

http://git-wip-us.apache.org/repos/asf/calcite/blob/d633402c/core/src/test/java/org/apache/calcite/test/RexProgramTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/calcite/test/RexProgramTest.java b/core/src/test/java/org/apache/calcite/test/RexProgramTest.java
index f82a265..b0467d6 100644
--- a/core/src/test/java/org/apache/calcite/test/RexProgramTest.java
+++ b/core/src/test/java/org/apache/calcite/test/RexProgramTest.java
@@ -1311,6 +1311,9 @@ public class RexProgramTest {
     checkSimplifyFilter(
         case_(aRef, trueLiteral, bRef, trueLiteral, cRef, falseLiteral, dRef, falseLiteral,
             unknownLiteral), "CAST(OR(?0.a, ?0.b)):BOOLEAN");
+
+    // condition with null value for range
+    checkSimplifyFilter(and(gt(aRef, unknownLiteral), ge(bRef, literal1)), "false");
   }
 
   /** Unit test for