Repository: calcite
Updated Branches:
  refs/heads/branch-1.18 fcc1d2a06 -> b7725a712 (forced update)


[CALCITE-2575] Release Calcite 1.18.0

Release notes; change version numbers.

Update release instructions in HOWTO.


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

Branch: refs/heads/branch-1.18
Commit: b7725a71276e51263928f96710f451170d9f94b1
Parents: efec74d
Author: Julian Hyde <jh...@apache.org>
Authored: Sun Dec 2 19:58:56 2018 -0800
Committer: Julian Hyde <jh...@apache.org>
Committed: Tue Dec 4 00:18:51 2018 -0800

----------------------------------------------------------------------
 README                |   2 +-
 pom.xml               |   7 +-
 site/_docs/history.md | 459 ++++++++++++++++++++++++++++++++++++++++++++-
 site/_docs/howto.md   |  36 ++--
 4 files changed, 480 insertions(+), 24 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/calcite/blob/b7725a71/README
----------------------------------------------------------------------
diff --git a/README b/README
index 3c34a49..71181c0 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-Apache Calcite release 1.17.0
+Apache Calcite release 1.18.0
 
 This is a source or binary distribution of Apache Calcite.
 

http://git-wip-us.apache.org/repos/asf/calcite/blob/b7725a71/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 727ed35..36b55ae 100644
--- a/pom.xml
+++ b/pom.xml
@@ -58,7 +58,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>17</version.minor>
+    <version.minor>18</version.minor>
 
     <!-- Don't fail the build for vulnerabilities below this threshold. -->
     <failBuildOnCVSS>8</failBuildOnCVSS>
@@ -795,6 +795,11 @@ limitations under the License.
         <dependencies>
           <dependency>
             <groupId>org.apache.maven.scm</groupId>
+            <artifactId>maven-scm-api</artifactId>
+            <version>${maven-scm-provider.version}</version>
+          </dependency>
+          <dependency>
+            <groupId>org.apache.maven.scm</groupId>
             <artifactId>maven-scm-provider-gitexe</artifactId>
             <version>${maven-scm-provider.version}</version>
           </dependency>

http://git-wip-us.apache.org/repos/asf/calcite/blob/b7725a71/site/_docs/history.md
----------------------------------------------------------------------
diff --git a/site/_docs/history.md b/site/_docs/history.md
index 1f63f78..0b4d236 100644
--- a/site/_docs/history.md
+++ b/site/_docs/history.md
@@ -28,16 +28,466 @@ 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.18.0";>1.18.0</a> 
/ under development
+## <a 
href="https://github.com/apache/calcite/releases/tag/calcite-1.18.0";>1.18.0</a> 
/ 2018-12-07
 {: #v1-18-0}
 
+With over 200 commits from 36 contributors, this is the largest
+Calcite release ever. To the SQL dialect, we added
+<a href="https://issues.apache.org/jira/browse/CALCITE-2266";>JSON
+functions</a> and
+<a href="https://issues.apache.org/jira/browse/CALCITE-2402";>linear
+regression functions</a>, the
+<a href="https://issues.apache.org/jira/browse/CALCITE-2224";>WITHIN
+GROUP</a> clause for aggregate functions; there is a new
+<a href="https://issues.apache.org/jira/browse/CALCITE-1870";>utility
+to recommend lattices based on past queries</a>,
+and improvements to expression simplification ({{RexSimplify}}),
+the SQL advisor, and the Elasticsearch and Apache Geode adapters.
+
 Compatibility: This release is tested
 on Linux, macOS, Microsoft Windows;
-using Oracle JDK 8, 9, 10;
-Guava versions 19.0 to 23.0;
+using Oracle JDK 8, 9, 10, 11 and OpenJDK 10, 11;
+Guava versions 19.0 to 27.0.1-jre;
 Druid version 0.11.0;
 other software versions as specified in `pom.xml`.
 
+#### New features
+
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2662";>CALCITE-2662</a>]
+  In `Planner`, allow parsing a stream (`Reader`) instead of a `String`
+  (Enrico Olivelli)
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2699";>CALCITE-2699</a>]
+  `TIMESTAMPADD` function now applies to `DATE` and `TIME` as well as 
`TIMESTAMP`
+  (xuqianjin)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-563";>CALCITE-563</a>]
+  In JDBC adapter, push bindable parameters down to the underlying JDBC data
+  source (Vladimir Sitnikov, Piotr Bojko)
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2663";>CALCITE-2663</a>]
+  In DDL parser, add `CREATE` and `DROP FUNCTION` (ambition119)
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2266";>CALCITE-2266</a>]
+  Implement SQL:2016 JSON functions: `JSON_EXISTS`, `JSON_VALUE`, `JSON_QUERY`,
+  `JSON_OBJECT`, `JSON_OBJECTAGG`, `JSON_ARRAY`, `JSON_ARRAYAGG`, `x IS JSON`
+  predicate (Hongze Zhang)
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2224";>CALCITE-2224</a>]
+  Support `WITHIN GROUP` clause for aggregate functions (Hongze Zhang)
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2405";>CALCITE-2405</a>]
+  In Babel parser, make 400 reserved keywords including `YEAR`, `SECOND`, 
`DESC`
+  non-reserved
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-1870";>CALCITE-1870</a>]
+  Lattice suggester
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2571";>CALCITE-2571</a>]
+  `TRIM` function now trims more than one character (Andrew Pilloud)
+* Elasticsearch adapter:
+  * [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2679";>CALCITE-2679</a>]
+    Implement `DISTINCT` and `GROUP BY` without aggregate functions (Siyuan 
Liu)
+  * [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2689";>CALCITE-2689</a>]
+    Allow grouping on non-textual fields like `DATE` and `NUMBER`
+  * [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2651";>CALCITE-2651</a>]
+    Enable scrolling for basic search queries
+  * [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2585";>CALCITE-2585</a>]
+    Support `NOT` operator
+  * [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2578";>CALCITE-2578</a>]
+    Support `ANY_VALUE` aggregate function
+  * [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2528";>CALCITE-2528</a>]
+    Support `Aggregate` (Andrei Sereda)
+* Apache Geode adapter:
+  * [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2709";>CALCITE-2709</a>]
+    Allow filtering on `DATE`, `TIME`, `TIMESTAMP` fields (Sandeep Chada)
+  * [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2671";>CALCITE-2671</a>]
+    `GeodeFilter` now converts multiple `OR` predicates (on same attribute) 
into
+    a single `IN SET` (Sandeep Chada)
+  * [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2498";>CALCITE-2498</a>]
+    Geode adapter wrongly quotes `BOOLEAN` values as strings (Andrei Sereda)
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2112";>CALCITE-2112</a>]
+  Add Maven wrapper for Calcite (Ratandeep S. Ratti)
+* `SqlAdvisor`:
+  * [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2479";>CALCITE-2479</a>]
+    Automatically quote identifiers that look like SQL keywords
+  * [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2478";>CALCITE-2478</a>]
+    Purge `from_clause` when `_suggest_` token is located in one of the
+    `FROM` sub-queries
+  * [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2477";>CALCITE-2477</a>]
+    Scalar sub-queries
+  * [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2476";>CALCITE-2476</a>]
+    Produce hints when sub-query with `*` is present in query
+  * [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2475";>CALCITE-2475</a>]
+    Support `MINUS`
+  * [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2473";>CALCITE-2473</a>]
+    Support `--` comments
+  * [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2434";>CALCITE-2434</a>]
+    Hints for nested tables and schemas
+  * [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2433";>CALCITE-2433</a>]
+    Configurable quoting characters
+* `RelBuilder`:
+  * [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2661";>CALCITE-2661</a>]
+    Add methods for creating `Exchange` and `SortExchange`
+    relational expressions (Chunwei Lei)
+  * [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2654";>CALCITE-2654</a>]
+    Add a fluent API for building complex aggregate calls
+  * [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2441";>CALCITE-2441</a>]
+    `RelBuilder.scan` should expand `TranslatableTable` and views
+  * [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2647";>CALCITE-2647</a>]
+    Add a `groupKey` method that assumes only one grouping set
+  * [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2470";>CALCITE-2470</a>]
+    `project` method should combine expressions if the underlying
+    node is a `Project`
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-1026";>CALCITE-1026</a>]
+  Allow models in YAML format
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2402";>CALCITE-2402</a>]
+  Implement regression functions: `COVAR_POP`, `COVAR_SAMP`, `REGR_COUNT`,
+  `REGR_SXX`, `REGR_SYY`
+
+#### Bug-fixes, API changes and minor enhancements
+
+* Upgrades:
+  * [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2716";>CALCITE-2716</a>]
+    Upgrade to Avatica 1.13.0
+  * [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2711";>CALCITE-2711</a>]
+    Upgrade SQLLine to 1.6.0
+  * [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2570";>CALCITE-2570</a>]
+    Upgrade `forbiddenapis` to 2.6 for JDK 11 support
+  * [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2486";>CALCITE-2486</a>]
+    Upgrade Apache parent POM to version 21
+  * [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2467";>CALCITE-2467</a>]
+    Upgrade `owasp-dependency-check` maven plugin to 3.3.1
+  * [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2559";>CALCITE-2559</a>]
+    Update Checkstyle to 7.8.2
+  * [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2497";>CALCITE-2497</a>]
+    Update Janino version to 3.0.9
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2596";>CALCITE-2596</a>]
+  When translating correlated variables in enumerable convention, convert
+  not-null boxed primitive values to primitive (Stamatis Zampetakis)
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2684";>CALCITE-2684</a>]
+  `RexBuilder` gives `AssertionError` when creating integer literal larger than
+  2<sup>63</sup> (Ruben Quesada Lopez)
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2719";>CALCITE-2719</a>]
+  In JDBC adapter for MySQL, fix cast to `INTEGER` and `BIGINT` (Piotr Bojko)
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2713";>CALCITE-2713</a>]
+  JDBC adapter may generate casts on PostgreSQL for `VARCHAR` type exceeding 
max
+  length
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2529";>CALCITE-2529</a>]
+  All numbers are in the same type family (Andrew Pilloud)
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2701";>CALCITE-2701</a>]
+  Make generated `Baz` classes immutable (Stamatis Zampetakis)
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2619";>CALCITE-2619</a>]
+  Reduce string literal creation cost by deferring and caching charset
+  conversion (Ted Xu)
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2720";>CALCITE-2720</a>]
+  `RelMetadataQuery.getTableOrigin` throws `IndexOutOfBoundsException` if
+  `RelNode` has no columns (Zoltan Haindrich)
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2717";>CALCITE-2717</a>]
+  Use `Interner` instead of `LoadingCache` to cache traits, and so allow traits
+  to be garbage-collected (Haisheng Yuan)
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2542";>CALCITE-2542</a>]
+  In SQL parser, allow `.field` to follow any expression, not just tables and
+  columns (Rong Rong)
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2637";>CALCITE-2637</a>]
+  In SQL parser, allow prefix '-' between `BETWEEN` and `AND` (Qi Yu)
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2632";>CALCITE-2632</a>]
+  Ensure that `RexNode` and its sub-classes implement `hashCode` and `equals`
+  methods (Zoltan Haindrich)
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2494";>CALCITE-2494</a>]
+  `RexFieldAccess` should implement `equals` and `hashCode` methods
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2715";>CALCITE-2715</a>]
+  In JDBC adapter, do not generate character set in data types for MS SQL 
Server
+  (Piotr Bojko)
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2714";>CALCITE-2714</a>]
+  Make `BasicSqlType` immutable, and now `SqlTypeFactory.createWithNullability`
+  can reuse existing type if possible (Ruben Quesada Lopez)
+* `RexSimplify`:
+  * [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2695";>CALCITE-2695</a>]
+    Simplify casts that are only widening nullability (Zoltan Haindrich)
+  * [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2631";>CALCITE-2631</a>]
+    General improvements in simplifying `CASE`
+  * [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2620";>CALCITE-2620</a>]
+    Simplify `COALESCE(NULL, x)` &rarr; `x` (pengzhiwei)
+  * [<a 
href="https://issues.apache.org/jira/browse/CALCITE-1413";>CALCITE-1413</a>]
+    Enhance boolean case statement simplifications (Zoltan Haindrich)
+  * [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2615";>CALCITE-2615</a>]
+    When simplifying `NOT-AND-OR`, `RexSimplify` incorrectly applies predicates
+    deduced for operands to the same operands (Zoltan Haindrich)
+  * [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2604";>CALCITE-2604</a>]
+    When simplifying an expression, say whether an `UNKNOWN` value will be
+    interpreted as is, or as `TRUE` or `FALSE`
+  * [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2438";>CALCITE-2438</a>]
+    Fix wrong results for `IS NOT FALSE(FALSE)` (zhiwei.pzw) (Zoltan Haindrich)
+  * [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2506";>CALCITE-2506</a>]
+    Simplifying `COALESCE(+ nullInt, +vInt())` results in
+    `AssertionError: result mismatch` (pengzhiwei)
+  * [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2580";>CALCITE-2580</a>]
+    Simplifying `COALESCE(NULL > NULL, TRUE)` produces wrong result filter
+    expressions (pengzhiwei)
+  * [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2586";>CALCITE-2586</a>]
+    `CASE` with repeated branches gives `AssertionError`
+    (pengzhiwei)
+  * [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2590";>CALCITE-2590</a>]
+    Remove redundant `CAST` when operand has exactly the same type as it is 
casted to
+  * Implement fuzzy generator for `CASE` expressions
+  * [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2556";>CALCITE-2556</a>]
+    Simplify `NOT TRUE` &rarr; `FALSE`, and `NOT FALSE` &rarr; `TRUE` 
(pengzhiwei)
+  * [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2581";>CALCITE-2581</a>]
+    Avoid errors in simplifying `UNKNOWN AND NOT (UNKNOWN OR ...)` (pengzhiwei)
+  * [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2527";>CALCITE-2527</a>]
+    Simplify `(c IS NULL) OR (c IS ...)` might result in AssertionError: result
+    mismatch (pengzhiwei)
+  * Display random failure of Rex fuzzer in build logs to inspire further fixes
+  * [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2567";>CALCITE-2567</a>]
+    Simplify `IS NULL(NULL)` to `TRUE` (pengzhiwei)
+  * [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2555";>CALCITE-2555</a>]
+    RexSimplify: Simplify `x >= NULL` to `UNKNOWN` (pengzhiwei)
+  * [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2504";>CALCITE-2504</a>]
+    Add randomized test for better code coverage of rex node create and
+    simplification
+  * [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2469";>CALCITE-2469</a>]
+    Simplify `(NOT x) IS NULL` &rarr; `x IS NULL` (pengzhiwei);
+    also, simplify `f(x, y) IS NULL` &rarr; `x IS NULL OR y IS NULL` if `f` is 
a
+    strong operator
+  * [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2327";>CALCITE-2327</a>]
+    Simplify `AND(x, y, NOT(y))` &rarr; `AND(x, null, IS NULL(y))`
+  * [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2327";>CALCITE-2327</a>]
+    Avoid simplification of `x AND NOT(x)` to `FALSE` for nullable `x`
+  * [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2505";>CALCITE-2505</a>]
+    `AssertionError` when simplifying `IS [NOT] DISTINCT` expressions
+    (Haisheng Yuan)
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2687";>CALCITE-2687</a>]
+  `IS DISTINCT FROM` could lead to exceptions in `ReduceExpressionsRule`
+  (Zoltan Haindrich)
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2673";>CALCITE-2673</a>]
+  `SqlDialect` supports pushing of all functions by default
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2675";>CALCITE-2675</a>]
+  Type validation error as `ReduceExpressionsRule` fails to preserve type
+  nullability (Zoltan Haindrich)
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2669";>CALCITE-2669</a>]
+  `RelMdTableReferences` should check whether references inferred from input 
are
+  null for `Union`/`Join` operators
+* Following
+  [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2031";>CALCITE-2031</a>]
+  remove incorrect "Not implemented" message
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2668";>CALCITE-2668</a>]
+  Support for left/right outer join in `RelMdExpressionLineage`
+* Fix invocation of deprecated constructor of `SqlAggFunction` (Hongze Zhang)
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2652";>CALCITE-2652</a>]
+  `SqlNode` to SQL conversion fails if the join condition references a 
`BOOLEAN`
+  column (Zoltan Haindrich)
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2657";>CALCITE-2657</a>]
+  In `RexShuttle`, use `RexCall.clone` instead of `new RexCall` (Chunwei Lei)
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2605";>CALCITE-2605</a>]
+  Support semi-join via `EnumerableCorrelate` (Ruben Quesada Lopez)
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2605";>CALCITE-2605</a>]
+  Support left outer join via `EnumerableCorrelate`
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-1174";>CALCITE-1174</a>]
+  When generating SQL, translate `SUM0(x)` to `COALESCE(SUM(x), 0)`
+* `RelBuilder.toString()`
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2617";>CALCITE-2617</a>]
+  Add a variant of `FilterProjectTransposeRule` that can push down a `Filter`
+  that contains correlated variables (Stamatis Zampetakis)
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2638";>CALCITE-2638</a>]
+  Constant reducer should not treat as constant an `RexInputRef` that points 
to a
+  call to a dynamic or non-deterministic function (Danny Chan)
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2639";>CALCITE-2639</a>]
+  `FilterReduceExpressionsRule` causes `ArithmeticException` at execution time
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2628";>CALCITE-2628</a>]
+  JDBC adapter throws `NullPointerException` while generating `GROUP BY` query
+  for MySQL
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2404";>CALCITE-2404</a>]
+  Implement access to structured-types in enumerable runtime
+  (Stamatis Zampetakis)
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2622";>CALCITE-2622</a>]
+  `RexFieldCollation.toString()` method is not deterministic
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2611";>CALCITE-2611</a>]
+  Linq4j code generation failure if one side of an `OR` contains `UNKNOWN`
+  (Zoltan Haindrich)
+* Canonize simple cases for composite traits in trait factory
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2591";>CALCITE-2591</a>]
+  `EnumerableDefaults#mergeJoin` should throw error and not return incorrect
+  results when inputs are not ordered (Enrico Olivelli)
+* Test case for
+  [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2592";>CALCITE-2592</a>]
+  `EnumerableMergeJoin` is never taken
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2526";>CALCITE-2526</a>]
+  Add test for `OR` with nullable comparisons (pengzhiwei)
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2413";>CALCITE-2413</a>]
+  Use raw signatures for classes with generics when producing Java code
+* In Elasticsearch adapter, remove redundant null check in
+  `CompoundQueryExpression`
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2562";>CALCITE-2562</a>]
+  Remove dead code in `StandardConvertletTable#convertDatetimeMinus`
+* Avoid `NullPointerException` when `FlatList` contains null elements
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2561";>CALCITE-2561</a>]
+  Remove dead code in `Lattice` constructor
+* Apply small refactorings to Calcite codebase (Java 5, Java 7, Java 8)
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2572";>CALCITE-2572</a>]
+  SQL standard semantics for `SUBSTRING` function (Andrew Pilloud)
+* Remove dead code: `Compatible`, `CompatibleGuava11`
+* Remove "Now, do something with table" from standard output when implementing
+  sequences
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2444";>CALCITE-2444</a>]
+  Handle `IN` expressions when converting `SqlNode` to SQL (Zoltan Haindrich)
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2537";>CALCITE-2537</a>]
+  Use litmus for `VolcanoPlanner#validate`
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2546";>CALCITE-2546</a>]
+  Reduce precision of `Profiler`'s `surprise` and `cardinality` attributes to
+  avoid floating point discrepancies (Alisha Prabhu)
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2563";>CALCITE-2563</a>]
+  Materialized view rewriting may swap columns in equivalent classes 
incorrectly
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2551";>CALCITE-2551</a>]
+  `SqlToRelConverter` gives `ClassCastException` while handling `IN` inside
+  `WHERE NOT CASE` (pengzhiwei)
+* Remove redundant `new` expression in constant array creation
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2474";>CALCITE-2474</a>]
+  SqlAdvisor: avoid NPE in lookupFromHints where FROM is empty
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2418";>CALCITE-2418</a>]
+  Remove `matchRecognize` field of `SqlSelect`
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2514";>CALCITE-2514</a>]
+  Add `SqlIdentifier` conversion to `ITEM` operator for dynamic tables in
+  `ExtendedExpander` (Arina Ielchiieva)
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2491";>CALCITE-2491</a>]
+  Refactor `NameSet`, `NameMap`, and `NameMultimap`
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2520";>CALCITE-2520</a>]
+  Make `SparkHandlerImpl#compile` silent by default, print code in
+  `calcite.debug=true` mode only
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-1026";>CALCITE-1026</a>]
+  Remove unused import
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2483";>CALCITE-2483</a>]
+  Druid adapter, when querying Druid segment metadata, throws when row number 
is
+  larger than `Integer.MAX_VALUE` (Hongze Zhang)
+* Support `AND`, `OR`, `COALESCE`, `IS [NOT] DISTINCT` in `RexUtil#op`
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2495";>CALCITE-2495</a>]
+  Support encoded URLs in `org.apache.calcite.util.Source`, and use it for URL
+  &rarr; File conversion in tests
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2271";>CALCITE-2271</a>]
+  Join of two views with window aggregates produces incorrect results or throws
+  `NullPointerException`
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2481";>CALCITE-2481</a>]
+  `NameSet` assumes lower-case characters have greater codes, which does not 
hold
+  for certain characters
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2480";>CALCITE-2480</a>]
+  `NameSet.contains` wrongly returns `false` when element in set is upper-case
+  and `seek` is lower-case
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2465";>CALCITE-2465</a>]
+  Enable use of materialized views for any planner
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2446";>CALCITE-2446</a>]
+  Lateral joins do not work when saved as custom views (Piotr Bojko)
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2447";>CALCITE-2447</a>]
+  `POWER`, `ATAN2` functions fail with `NoSuchMethodException`
+* Typo in `HepPlanner` trace message (Dylan)
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2416";>CALCITE-2416</a>]
+  `AssertionError` when determining monotonicity (Alina Ipatina)
+* Java 8: use `Map.computeIfAbsent` when possible
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2431";>CALCITE-2431</a>]
+  `SqlUtil.getAncestry` throws `AssertionError` when providing completion hints
+  for sub-schema
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2430";>CALCITE-2430</a>]
+  `RelDataTypeImpl.getFieldList` throws `AssertionError` when SQL Advisor 
inspects
+  non-struct field
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2429";>CALCITE-2429</a>]
+  `SqlValidatorImpl.lookupFieldNamespace` throws `NullPointerException` when 
SQL
+  Advisor observes non-existing field
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2422";>CALCITE-2422</a>]
+  Query with unnest of column from nested sub-query fails when dynamic table is
+  used
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2417";>CALCITE-2417</a>]
+  `RelToSqlConverter` throws `ClassCastException` with structs (Benoit Hanotte)
+
+#### Build and test suite
+
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2678";>CALCITE-2678</a>]
+  `RelBuilderTest#testRelBuilderToString` fails on Windows (Stamatis 
Zampetakis)
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2660";>CALCITE-2660</a>]
+  `OsAdapterTest` now checks whether required commands are available
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2655";>CALCITE-2655</a>]
+  Enable Travis to test against JDK 12
+* Ensure that tests are not calling `checkSimplify3` with `expected`,
+  `expectedFalse`, `expectedTrue` all the same
+* Geode adapter tests: Removed unnecessary `try/final` block in 
`RefCountPolicy`
+* Add license to `TestKtTest` and add `apache-rat:check` to Travis CI
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2112";>CALCITE-2112</a>]
+  Add Apache license header to `maven-wrapper.properties`
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2588";>CALCITE-2588</a>]
+  Run Geode adapter tests with an embedded instance
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2594";>CALCITE-2594</a>]
+  Ensure `forbiddenapis` and `maven-compiler` use the correct JDK version
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2642";>CALCITE-2642</a>]
+  Checkstyle complains that `maven-wrapper.properties` is missing a header
+* `commons:commons-pool2` is used in tests only, so use `scope=test` for it
+* Make `findbugs:jsr305` dependency optional
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2458";>CALCITE-2458</a>]
+  Add Kotlin as a test dependency
+* Make build scripts Maven 3.3 compatible
+* Fix JavaDoc warnings for Java 9+, and check JavaDoc in Travis CI
+* Unwrap invocation target exception from QuidemTest#test
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2518";>CALCITE-2518</a>]
+  Add `failOnWarnings` to `maven-javadoc-plugin` configuration
+* Silence Pig, Spark, and Elasticsearch logs in tests
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-1894";>CALCITE-1894</a>]
+  `CsvTest.testCsvStream` failing often: add `@Ignore` since the test is known 
to
+  fail
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2535";>CALCITE-2535</a>]
+  Enable `SqlTester.checkFails` (previously it was a no-op) (Hongze Zhang)
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2558";>CALCITE-2558</a>]
+  Improve re-compilation times by skipping `parser.java` update on each build
+* Increase timeout for Cassandra daemon startup for `CassandraAdapterTest`
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2412";>CALCITE-2412</a>]
+  Add Windows CI via AppVeyor (Sergey Nuyanzin)
+* Reduce `HepPlannerTest#testRuleApplyCount` complexity
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2523";>CALCITE-2523</a>]
+  Guard `PartiallyOrderedSetTest#testPosetBitsLarge` with
+  `CalciteAssert.ENABLE_SLOW`
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2521";>CALCITE-2521</a>]
+  Guard `RelMetadataTest#testMetadataHandlerCacheLimit` with
+  `CalciteAssert.ENABLE_SLOW`
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2484";>CALCITE-2484</a>]
+  Add `SqlValidatorDynamicTest` to `CalciteSuite`
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2484";>CALCITE-2484</a>]
+  Move dynamic tests to a separate class like `SqlValidatorDynamicTest`, and
+  avoid reuse of `MockCatalogReaderDynamic`
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2522";>CALCITE-2522</a>]
+  Remove `e.printStackTrace()` from `CalciteAssert#returns`
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2512";>CALCITE-2512</a>]
+  Move `StreamTest#ROW_GENERATOR` to `Table.scan().iterator` to make it not
+  shared between threads (Sergey Nuyanzin)
+* Skip second Checkstyle execution during Travis CI build
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2519";>CALCITE-2519</a>]
+  Silence ERROR logs from `CalciteException`, `SqlValidatorException` during
+  tests
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-1026";>CALCITE-1026</a>]
+  Fix `ModelTest#testYamlFileDetection` when source folder has spaces
+* `MockCatalogReader` is used in testing, so cache should be disabled there to
+  avoid thread conflicts and/or stale results
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-311";>CALCITE-311</a>]
+  Add a test-case for Filter after Window aggregate
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2462";>CALCITE-2462</a>]
+  `RexProgramTest`: replace `nullLiteral` &rarr; `nullInt`,
+  `unknownLiteral` &rarr; `nullBool` for brevity
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2462";>CALCITE-2462</a>]
+  `RexProgramTest`: move "rex building" methods to base class
+* `SqlTestFactory`: use lazy initialization of objects
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2435";>CALCITE-2435</a>]
+  Refactor `SqlTestFactory`
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2428";>CALCITE-2428</a>]
+  Cassandra unit test fails to parse JDK version string (Andrei Sereda)
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2419";>CALCITE-2419</a>]
+  Use embedded Cassandra for tests
+
+#### Web site and documentation
+
+* Add geospatial category to DOAP file
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2577";>CALCITE-2577</a>]
+  Update links on download page to HTTPS
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2574";>CALCITE-2574</a>]
+  Update download page to include instructions for verifying a downloaded
+  artifact
+* Update build status badges in `README.md`
+* [<a 
href="https://issues.apache.org/jira/browse/CALCITE-2705";>CALCITE-2705</a>]
+  Site: Remove duplicate "selectivity" in list of metadata types (Alan Jin)
+* Site: Add Andrei Sereda as committer
+* Site: Update Julian Hyde's affiliation
+* Update Michael Mior's affiliation
+* Site: Add instructions for updating PRs based on the discussion in the dev
+  list (Stamatis Zampetakis)
+* Site: Add committer Sergey Nuyanzin
+* Site: News item for release 1.17.0
+
 ## <a 
href="https://github.com/apache/calcite/releases/tag/calcite-1.17.0";>1.17.0</a> 
/ 2018-07-16
 {: #v1-17-0}
 
@@ -255,7 +705,8 @@ Calcite has been upgraded to use <a 
href='https://issues.apache.org/jira/browse/
 * [<a 
href='https://issues.apache.org/jira/browse/CALCITE-2403'>CALCITE-2403</a>]
   Upgrade quidem to 0.9
 * [<a 
href='https://issues.apache.org/jira/browse/CALCITE-2409'>CALCITE-2409</a>]
-  SparkAdapterTest fails on Windows when '/tmp' directory does not exist 
(Sergey Nuyanzin)
+  `SparkAdapterTest` fails on Windows when '/tmp' directory does not exist
+  (Sergey Nuyanzin)
 
 ## <a 
href="https://github.com/apache/calcite/releases/tag/calcite-1.16.0";>1.16.0</a> 
/ 2018-03-14
 {: #v1-16-0}

http://git-wip-us.apache.org/repos/asf/calcite/blob/b7725a71/site/_docs/howto.md
----------------------------------------------------------------------
diff --git a/site/_docs/howto.md b/site/_docs/howto.md
index f52abb3..3b47910 100644
--- a/site/_docs/howto.md
+++ b/site/_docs/howto.md
@@ -31,15 +31,15 @@ adapters.
 
 ## Building from a source distribution
 
-Prerequisite is Java (JDK 8, 9 or 10) on your path.
+Prerequisite is Java (JDK 8, 9, 10 or 11) on your path.
 
 Unpack the source distribution `.tar.gz` file,
 `cd` to the root directory of the unpacked source,
 then build using the included maven wrapper:
 
 {% highlight bash %}
-$ tar xvfz calcite-1.17.0-source.tar.gz
-$ cd calcite-1.17.0
+$ tar xvfz calcite-1.18.0-source.tar.gz
+$ cd calcite-1.18.0
 $ ./mvnw install
 {% endhighlight %}
 
@@ -49,7 +49,7 @@ tests.
 ## Building from git
 
 Prerequisites are git
-and Java (JDK 8, 9 or 10) on your path.
+and Java (JDK 8, 9, 10 or 11) on your path.
 
 Create a local copy of the github repository,
 `cd` to its root directory,
@@ -486,18 +486,18 @@ Follow the instructions 
[here](http://www.apache.org/dev/publishing-maven-artifa
 Before you start:
 
 * Set up signing keys as described above.
-* Make sure you are using JDK 8 (not 9 or 10).
+* Make sure you are using JDK 11.
 * Make sure build and tests succeed with `-Dcalcite.test.db=hsqldb` (the 
default)
 
 {% highlight bash %}
-# Set passphrase variable without putting it into shell history
-read -s GPG_PASSPHRASE
+# Tell GPG how to read a password from your terminal
+export GPG_TTY=$(tty)
 
 # Make sure that there are no junk files in the sandbox
 git clean -xn
 ./mvnw clean
 
-./mvnw -Papache-release -Dgpg.passphrase=${GPG_PASSPHRASE} install
+./mvnw -Papache-release install
 {% endhighlight %}
 
 When the dry-run has succeeded, change `install` to `deploy`.
@@ -581,21 +581,21 @@ If any of the steps fail, clean up (see below), fix the 
problem, and
 start again from the top.
 
 {% highlight bash %}
-# Set passphrase variable without putting it into shell history
-read -s GPG_PASSPHRASE
+# Tell GPG how to read a password from your terminal
+export GPG_TTY=$(tty)
 
 # Make sure that there are no junk files in the sandbox
 git clean -xn
 ./mvnw clean
 
 # Do a dry run of the release:prepare step, which sets version numbers
-# (accept the default tag name of calcite-X.Y.Z)
-# Note X.Y.Z is the current version we're trying to release, and X.Y+1.Z is 
the next development version.
-# For example, if I am currently building a release for 1.16.0, X.Y.Z would be 
1.16.0 and X.Y+1.Z would be 1.17.0.
-./mvnw -DdryRun=true -DskipTests -DreleaseVersion=X.Y.Z 
-DdevelopmentVersion=X.Y+1.Z-SNAPSHOT -Papache-release 
-Darguments="-Dgpg.passphrase=${GPG_PASSPHRASE}" release:prepare 2>&1 | tee 
/tmp/prepare-dry.log
+# (accept the default tag name of calcite-x.y.z).
+# Note X.Y.Z is the current version we're trying to release (e.g. 1.8.0),
+# and X.(Y+1).Z is the next development version (e.g. 1.9.0).
+./mvnw -DdryRun=true -DskipTests -DreleaseVersion=X.Y.Z 
-DdevelopmentVersion=X.(Y+1).Z-SNAPSHOT -Papache-release release:prepare 2>&1 | 
tee /tmp/prepare-dry.log
 
 # If you have multiple GPG keys, you can select the key used to sign the 
release by adding `-Dgpg.keyname=${GPG_KEY_ID}` to `-Darguments`:
-./mvnw -DdryRun=true -DskipTests -DreleaseVersion=X.Y.Z 
-DdevelopmentVersion=X.Y+1.Z-SNAPSHOT -Papache-release 
-Darguments="-Dgpg.passphrase=${GPG_PASSPHRASE} -Dgpg.keyname=${GPG_KEY_ID}" 
release:prepare 2>&1 | tee /tmp/prepare-dry.log
+./mvnw -DdryRun=true -DskipTests -DreleaseVersion=X.Y.Z 
-DdevelopmentVersion=X.(Y+1).Z-SNAPSHOT -Papache-release 
-Darguments="-Dgpg.keyname=${GPG_KEY_ID}" release:prepare 2>&1 | tee 
/tmp/prepare-dry.log
 {% endhighlight %}
 
 Check the artifacts.
@@ -632,13 +632,13 @@ For this step you'll have to add the [Apache 
servers](https://maven.apache.org/d
 # Prepare sets the version numbers, creates a tag, and pushes it to git
 # Note X.Y.Z is the current version we're trying to release, and X.Y+1.Z is 
the next development version.
 # For example, if I am currently building a release for 1.16.0, X.Y.Z would be 
1.16.0 and X.Y+1.Z would be 1.17.0.
-./mvnw -DdryRun=false -DskipTests -DreleaseVersion=X.Y.Z 
-DdevelopmentVersion=X.Y+1.Z-SNAPSHOT -Papache-release 
-Darguments="-Dgpg.passphrase=${GPG_PASSPHRASE}" release:prepare 2>&1 | tee 
/tmp/prepare.log
+./mvnw -DdryRun=false -DskipTests -DreleaseVersion=X.Y.Z 
-DdevelopmentVersion=X.Y+1.Z-SNAPSHOT -Papache-release release:prepare 2>&1 | 
tee /tmp/prepare.log
 
 # If you have multiple GPG keys, you can select the key used to sign the 
release by adding `-Dgpg.keyname=${GPG_KEY_ID}` to `-Darguments`:
-./mvnw -DdryRun=false -DskipTests -DreleaseVersion=X.Y.Z 
-DdevelopmentVersion=X.Y+1.Z-SNAPSHOT -Papache-release 
-Darguments="-Dgpg.passphrase=${GPG_PASSPHRASE} -Dgpg.keyname=${GPG_KEY_ID}" 
release:prepare 2>&1 | tee /tmp/prepare-dry.log
+./mvnw -DdryRun=false -DskipTests -DreleaseVersion=X.Y.Z 
-DdevelopmentVersion=X.Y+1.Z-SNAPSHOT -Papache-release 
-Darguments="-Dgpg.keyname=${GPG_KEY_ID}" release:prepare 2>&1 | tee 
/tmp/prepare.log
 
 # Perform checks out the tagged version, builds, and deploys to the staging 
repository
-./mvnw -DskipTests -Papache-release 
-Darguments="-Dgpg.passphrase=${GPG_PASSPHRASE}" release:perform 2>&1 | tee 
/tmp/perform.log
+./mvnw -DskipTests -Papache-release release:perform 2>&1 | tee /tmp/perform.log
 {% endhighlight %}
 
 Verify the staged artifacts in the Nexus repository:

Reply via email to