This is an automated email from the ASF dual-hosted git repository.

zabetak pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/calcite-site.git


The following commit(s) were added to refs/heads/master by this push:
     new 55d8eb9  Update Gradle documentation and talks section
55d8eb9 is described below

commit 55d8eb9efe61c6c02269cf0327fd2e728e2e4157
Author: Stamatis Zampetakis <zabe...@gmail.com>
AuthorDate: Thu Feb 6 09:58:05 2020 +0100

    Update Gradle documentation and talks section
---
 community/index.html                               |  19 +-
 develop/index.html                                 |  15 +-
 docs/adapter.html                                  |  12 +-
 docs/algebra.html                                  |   3 +-
 docs/cassandra_adapter.html                        |   2 +-
 docs/druid_adapter.html                            |   2 +-
 docs/elasticsearch_adapter.html                    |   3 +-
 docs/file_adapter.html                             |   2 +-
 docs/geode_adapter.html                            |   2 +-
 docs/history.html                                  |   2 +-
 docs/howto.html                                    | 384 ++++++++-------------
 docs/index.html                                    |   3 +-
 docs/kafka_adapter.html                            |   2 +-
 docs/lattice.html                                  |  42 +--
 docs/materialized_views.html                       |   2 +-
 docs/model.html                                    |   2 +-
 docs/os_adapter.html                               |   2 +-
 docs/pig_adapter.html                              |   2 +-
 docs/powered_by.html                               |   2 +-
 docs/reference.html                                |   2 +-
 docs/spatial.html                                  |   2 +-
 docs/stream.html                                   |   2 +-
 docs/tutorial.html                                 |  70 ++--
 downloads/index.html                               |   2 +-
 index.html                                         |   2 +-
 .../2014/06/27/release-0.8.0-incubating/index.html |   2 +-
 .../2014/08/19/release-0.9.0-incubating/index.html |   2 +-
 .../2014/10/02/release-0.9.1-incubating/index.html |   2 +-
 .../2014/11/05/release-0.9.2-incubating/index.html |   2 +-
 .../2015/01/31/release-1.0.0-incubating/index.html |   2 +-
 .../2015/03/13/release-1.1.0-incubating/index.html |   2 +-
 .../2015/04/07/release-1.2.0-incubating/index.html |   2 +-
 news/2015/04/24/new-committers/index.html          |   2 +-
 .../2015/05/30/release-1.3.0-incubating/index.html |   2 +-
 news/2015/06/05/algebra-builder/index.html         |   2 +-
 .../2015/07/31/xldb-best-lightning-talk/index.html |   2 +-
 .../2015/09/02/release-1.4.0-incubating/index.html |   2 +-
 news/2015/10/22/calcite-graduates/index.html       |   2 +-
 news/2015/11/08/new-committers/index.html          |   2 +-
 news/2015/11/10/release-1.5.0/index.html           |   2 +-
 news/2016/01/22/release-1.6.0/index.html           |   2 +-
 news/2016/02/17/elser-pmc/index.html               |   2 +-
 news/2016/02/17/streaming-sql-talk/index.html      |   2 +-
 news/2016/03/22/cassandra-adapter/index.html       |   2 +-
 news/2016/03/22/release-1.7.0/index.html           |   2 +-
 news/2016/06/13/release-1.8.0/index.html           |   2 +-
 news/2016/09/22/release-1.9.0/index.html           |   2 +-
 news/2016/10/12/release-1.10.0/index.html          |   2 +-
 news/2017/01/09/release-1.11.0/index.html          |   2 +-
 news/2017/03/24/release-1.12.0/index.html          |   2 +-
 news/2017/03/31/new-avatica-repository/index.html  |   2 +-
 news/2017/06/26/release-1.13.0/index.html          |   2 +-
 news/2017/10/02/release-1.14.0/index.html          |   2 +-
 news/2017/12/11/release-1.15.0/index.html          |   2 +-
 news/2018/03/19/release-1.16.0/index.html          |   2 +-
 news/2018/07/20/release-1.17.0/index.html          |   2 +-
 news/2018/12/21/release-1.18.0/index.html          |   2 +-
 news/2019/03/25/release-1.19.0/index.html          |   3 +-
 news/2019/06/24/release-1.20.0/index.html          |   2 +-
 news/2019/09/11/release-1.21.0/index.html          |   2 +-
 news/index.html                                    |   3 +-
 news/releases/index.html                           |   3 +-
 62 files changed, 268 insertions(+), 392 deletions(-)

diff --git a/community/index.html b/community/index.html
index 81b91be..cf9cc06 100644
--- a/community/index.html
+++ b/community/index.html
@@ -64,14 +64,12 @@
 -->
 
 <ul id="markdown-toc">
-  <li><a href="#upcoming-talks" id="markdown-toc-upcoming-talks">Upcoming 
talks</a>    <ul>
-      <li><a href="#fast-federated-sql-with-apache-calcite-chris-baynes" 
id="markdown-toc-fast-federated-sql-with-apache-calcite-chris-baynes">Fast 
federated SQL with Apache Calcite (Chris Baynes)</a></li>
-    </ul>
-  </li>
+  <li><a href="#upcoming-talks" id="markdown-toc-upcoming-talks">Upcoming 
talks</a></li>
   <li><a href="#project-members" id="markdown-toc-project-members">Project 
Members</a></li>
   <li><a href="#mailing-lists" id="markdown-toc-mailing-lists">Mailing 
Lists</a></li>
   <li><a href="#help" id="markdown-toc-help">Help</a></li>
   <li><a href="#talks" id="markdown-toc-talks">Talks</a>    <ul>
+      <li><a href="#fast-federated-sql-with-apache-calcite" 
id="markdown-toc-fast-federated-sql-with-apache-calcite">Fast federated SQL 
with Apache Calcite</a></li>
       <li><a 
href="#one-sql-to-rule-them-all---an-efficient-and-syntactically-idiomatic-approach-to-management-of-streams-and-tables"
 
id="markdown-toc-one-sql-to-rule-them-all---an-efficient-and-syntactically-idiomatic-approach-to-management-of-streams-and-tables">One
 SQL to Rule Them All - an Efficient and Syntactically Idiomatic Approach to 
Management of Streams and Tables</a></li>
       <li><a 
href="#apache-calcite-a-foundational-framework-for-optimized-query-processing-over-heterogeneous-data-sources"
 
id="markdown-toc-apache-calcite-a-foundational-framework-for-optimized-query-processing-over-heterogeneous-data-sources">Apache
 Calcite: A Foundational Framework for Optimized Query Processing Over 
Heterogeneous Data Sources</a></li>
       <li><a href="#spatial-query-on-vanilla-databases" 
id="markdown-toc-spatial-query-on-vanilla-databases">Spatial query on vanilla 
databases</a></li>
@@ -86,10 +84,7 @@
 
 <h1 id="upcoming-talks">Upcoming talks</h1>
 
-<h2 id="fast-federated-sql-with-apache-calcite-chris-baynes">Fast federated 
SQL with Apache Calcite (Chris Baynes)</h2>
-
-<p>At <a href="https://aceu19.apachecon.com/";>ApacheCon Europe 2019</a>, 
Berlin, Germany, October 24, 2019;
-[<a 
href="https://aceu19.apachecon.com/session/fast-federated-sql-apache-calcite";>summary</a>].</p>
+<p>There are no upcoming talks at the moment. Stay tuned!</p>
 
 <h1 id="project-members">Project Members</h1>
 
@@ -440,6 +435,12 @@ The code is available on <a 
href="https://github.com/apache/calcite/tree/master";
 <p>Watch some presentations and read through some slide decks about
 Calcite, or attend one of the <a href="#upcoming-talks">upcoming talks</a>.</p>
 
+<h2 id="fast-federated-sql-with-apache-calcite">Fast federated SQL with Apache 
Calcite</h2>
+
+<p>At <a href="https://aceu19.apachecon.com/";>ApacheCon Europe 2019</a>, 
Berlin, Germany, October 24, 2019;
+[<a 
href="https://aceu19.apachecon.com/session/fast-federated-sql-apache-calcite";>summary</a>],
+[<a href="https://youtu.be/4JAOkLKrcYE";>video</a>].</p>
+
 <h2 
id="one-sql-to-rule-them-all---an-efficient-and-syntactically-idiomatic-approach-to-management-of-streams-and-tables">One
 SQL to Rule Them All - an Efficient and Syntactically Idiomatic Approach to 
Management of Streams and Tables</h2>
 
 <p>At <a href="https://sigmod2019.org/sigmod_industry_list";>SIGMOD/PODS 
2019</a>, Amsterdam, Netherlands, 2019
@@ -523,7 +524,7 @@ and <a 
href="https://beam-summit.firebaseapp.com/schedule/";>Beam Summit Europe 2
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>
diff --git a/develop/index.html b/develop/index.html
index 709228d..7450f80 100644
--- a/develop/index.html
+++ b/develop/index.html
@@ -87,15 +87,15 @@ user-friendly.</p>
 
 <h2 id="download-source-build-and-run-tests">Download source, build, and run 
tests</h2>
 
-<p>Prerequisites are git, maven (3.5.2 or later)
-and Java (JDK 8 or later, 9 preferred) on your path.</p>
+<p>Prerequisites are Git,
+and Java (JDK 8 or later, 13 preferred) on your path.</p>
 
-<p>Create a local copy of the git repository, <code 
class="highlighter-rouge">cd</code> to its root directory,
-then build using maven:</p>
+<p>Create a local copy of the Git repository, <code 
class="highlighter-rouge">cd</code> to its root directory,
+then build using Gradle:</p>
 
 <figure class="highlight"><pre><code class="language-bash" 
data-lang="bash"><span class="nv">$ </span>git clone 
git://github.com/apache/calcite.git
 <span class="nv">$ </span><span class="nb">cd </span>calcite
-<span class="nv">$ </span>mvn install</code></pre></figure>
+<span class="nv">$ </span>./gradlew build</code></pre></figure>
 
 <p>The HOWTO describes how to
 <a href="/docs/howto.html#building-from-a-source-distribution">build from a 
source distribution</a>,
@@ -177,7 +177,7 @@ the contributor(s) involved in the discussion should:</p>
 <p>Fork the GitHub repository, and create a branch for your feature.</p>
 
 <p>Develop your feature and test cases, and make sure that
-<code class="highlighter-rouge">mvn install</code> succeeds. (Run extra tests 
if your change warrants it.)</p>
+<code class="highlighter-rouge">./gradlew build</code> succeeds. (Run extra 
tests if your change warrants it.)</p>
 
 <p>Commit your change to your branch, and use a comment that starts with
 the JIRA case number, like this:</p>
@@ -270,7 +270,6 @@ You can contribute by testing the code, helping verify a 
release,
 writing documentation or the web site,
 or just by answering questions on the list.</p>
 
-
       </article>
     </div>
 
@@ -287,7 +286,7 @@ or just by answering questions on the list.</p>
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>
diff --git a/docs/adapter.html b/docs/adapter.html
index a0fc73a..245c03d 100644
--- a/docs/adapter.html
+++ b/docs/adapter.html
@@ -322,14 +322,11 @@ Here is an example using the <code 
class="highlighter-rouge">sqlline</code> shel
 <span class="o">&gt;</span> <span class="k">CREATE</span> <span 
class="k">VIEW</span> <span class="n">v</span> <span class="k">AS</span> <span 
class="k">SELECT</span> <span class="o">*</span> <span class="k">FROM</span> 
<span class="n">t</span> <span class="k">WHERE</span> <span class="n">i</span> 
<span class="o">&gt;</span> <span class="mi">1</span><span class="p">;</span>
 <span class="k">No</span> <span class="k">rows</span> <span 
class="n">affected</span> <span class="p">(</span><span 
class="mi">0</span><span class="p">.</span><span class="mi">072</span> <span 
class="n">seconds</span><span class="p">)</span>
 <span class="o">&gt;</span> <span class="k">SELECT</span> <span 
class="k">count</span><span class="p">(</span><span class="o">*</span><span 
class="p">)</span> <span class="k">FROM</span> <span class="n">v</span><span 
class="p">;</span>
-<span class="o">+</span><span class="c1">---------------------+
-</span>
+<span class="o">+</span><span class="c1">---------------------+</span>
 <span class="o">|</span>       <span class="n">EXPR</span><span 
class="err">$</span><span class="mi">0</span>        <span class="o">|</span>
-<span class="o">+</span><span class="c1">---------------------+
-</span>
+<span class="o">+</span><span class="c1">---------------------+</span>
 <span class="o">|</span> <span class="mi">1</span>                   <span 
class="o">|</span>
-<span class="o">+</span><span class="c1">---------------------+
-</span>
+<span class="o">+</span><span class="c1">---------------------+</span>
 <span class="mi">1</span> <span class="k">row</span> <span 
class="n">selected</span> <span class="p">(</span><span 
class="mi">0</span><span class="p">.</span><span class="mi">148</span> <span 
class="n">seconds</span><span class="p">)</span>
 <span class="o">&gt;</span> <span class="o">!</span><span 
class="n">quit</span></code></pre></figure>
 
@@ -755,7 +752,6 @@ providers and maintains a cache so that a given piece of 
metadata (for example
 the selectivity of the condition <code class="highlighter-rouge">x &gt; 
10</code> in a particular <code class="highlighter-rouge">Filter</code> 
operator)
 is computed only once.</p>
 
-
           
 
 
@@ -1047,7 +1043,7 @@ is computed only once.</p>
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>
diff --git a/docs/algebra.html b/docs/algebra.html
index a3a1efc..3c2fa55 100644
--- a/docs/algebra.html
+++ b/docs/algebra.html
@@ -805,7 +805,6 @@ added to the stack.</p>
   </tbody>
 </table>
 
-
           
 
 
@@ -1094,7 +1093,7 @@ added to the stack.</p>
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>
diff --git a/docs/cassandra_adapter.html b/docs/cassandra_adapter.html
index 1e5f2b3..dfe59a5 100644
--- a/docs/cassandra_adapter.html
+++ b/docs/cassandra_adapter.html
@@ -479,7 +479,7 @@ prove useful.</p>
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>
diff --git a/docs/druid_adapter.html b/docs/druid_adapter.html
index ae1ce42..d421f13 100644
--- a/docs/druid_adapter.html
+++ b/docs/druid_adapter.html
@@ -653,7 +653,7 @@ and the two tables in Druid (<code 
class="highlighter-rouge">foodmart</code> and
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>
diff --git a/docs/elasticsearch_adapter.html b/docs/elasticsearch_adapter.html
index b2fd2e3..3b543b0 100644
--- a/docs/elasticsearch_adapter.html
+++ b/docs/elasticsearch_adapter.html
@@ -201,7 +201,6 @@ scroll is automatically cleared (removed) when all query 
resuts are consumed.</p
 we try to follow official <a href="https://www.elastic.co/support/eol";>support 
schedule</a>.
 Also, types are not supported (this adapter only supports indices).</p>
 
-
           
 
 
@@ -519,7 +518,7 @@ Also, types are not supported (this adapter only supports 
indices).</p>
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>
diff --git a/docs/file_adapter.html b/docs/file_adapter.html
index 485c600..296d097 100644
--- a/docs/file_adapter.html
+++ b/docs/file_adapter.html
@@ -683,7 +683,7 @@ files) and being able to form URLs dynamically to push down 
filters.</p>
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>
diff --git a/docs/geode_adapter.html b/docs/geode_adapter.html
index 45f8a1b..1e07eae 100644
--- a/docs/geode_adapter.html
+++ b/docs/geode_adapter.html
@@ -543,7 +543,7 @@ prove useful.</p>
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>
diff --git a/docs/history.html b/docs/history.html
index 20d96e3..1653ac6 100644
--- a/docs/history.html
+++ b/docs/history.html
@@ -6279,7 +6279,7 @@ conflicts in multithreaded usage</li>
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>
diff --git a/docs/howto.html b/docs/howto.html
index 5c53f99..fe9c36c 100644
--- a/docs/howto.html
+++ b/docs/howto.html
@@ -86,8 +86,8 @@ adapters.</p>
 
 <ul id="markdown-toc">
   <li><a href="#building-from-a-source-distribution" 
id="markdown-toc-building-from-a-source-distribution">Building from a source 
distribution</a></li>
-  <li><a href="#building-from-git" 
id="markdown-toc-building-from-git">Building from git</a></li>
-  <li><a href="#if-you-already-have-apache-maven" 
id="markdown-toc-if-you-already-have-apache-maven">If you already have Apache 
Maven</a></li>
+  <li><a href="#building-from-git" 
id="markdown-toc-building-from-git">Building from Git</a></li>
+  <li><a href="#gradle-vs-gradle-wrapper" 
id="markdown-toc-gradle-vs-gradle-wrapper">Gradle vs Gradle wrapper</a></li>
   <li><a href="#running-tests" id="markdown-toc-running-tests">Running 
tests</a></li>
   <li><a href="#running-integration-tests" 
id="markdown-toc-running-integration-tests">Running integration tests</a>    
<ul>
       <li><a href="#vm-preparation" id="markdown-toc-vm-preparation">VM 
preparation</a></li>
@@ -120,13 +120,22 @@ adapters.</p>
   <li><a href="#advanced-topics-for-committers" 
id="markdown-toc-advanced-topics-for-committers">Advanced topics for 
committers</a>    <ul>
       <li><a href="#merging-pull-requests-for-calcite-committers" 
id="markdown-toc-merging-pull-requests-for-calcite-committers">Merging pull 
requests (for Calcite committers)</a></li>
       <li><a href="#set-up-pgp-signing-keys-for-calcite-committers" 
id="markdown-toc-set-up-pgp-signing-keys-for-calcite-committers">Set up PGP 
signing keys (for Calcite committers)</a></li>
-      <li><a 
href="#set-up-maven-repository-credentials-for-calcite-committers" 
id="markdown-toc-set-up-maven-repository-credentials-for-calcite-committers">Set
 up Maven repository credentials (for Calcite committers)</a></li>
+      <li><a 
href="#set-up-nexus-repository-credentials-for-calcite-committers" 
id="markdown-toc-set-up-nexus-repository-credentials-for-calcite-committers">Set
 up Nexus repository credentials (for Calcite committers)</a></li>
       <li><a href="#making-a-snapshot-for-calcite-committers" 
id="markdown-toc-making-a-snapshot-for-calcite-committers">Making a snapshot 
(for Calcite committers)</a></li>
-      <li><a href="#making-a-release-for-calcite-committers" 
id="markdown-toc-making-a-release-for-calcite-committers">Making a release (for 
Calcite committers)</a></li>
+      <li><a href="#making-a-release-candidate-for-calcite-committers" 
id="markdown-toc-making-a-release-candidate-for-calcite-committers">Making a 
release candidate (for Calcite committers)</a>        <ul>
+          <li><a 
href="#to-prepare-a-release-candidate-directly-in-your-environment" 
id="markdown-toc-to-prepare-a-release-candidate-directly-in-your-environment">To
 prepare a release candidate directly in your environment:</a>            <ul>
+              <li><a href="#checking-the-artifacts" 
id="markdown-toc-checking-the-artifacts">Checking the artifacts</a></li>
+            </ul>
+          </li>
+        </ul>
+      </li>
       <li><a 
href="#cleaning-up-after-a-failed-release-attempt-for-calcite-committers" 
id="markdown-toc-cleaning-up-after-a-failed-release-attempt-for-calcite-committers">Cleaning
 up after a failed release attempt (for Calcite committers)</a></li>
       <li><a href="#validate-a-release" 
id="markdown-toc-validate-a-release">Validate a release</a></li>
       <li><a 
href="#get-approval-for-a-release-via-apache-voting-process-for-calcite-committers"
 
id="markdown-toc-get-approval-for-a-release-via-apache-voting-process-for-calcite-committers">Get
 approval for a release via Apache voting process (for Calcite 
committers)</a></li>
-      <li><a href="#publishing-a-release-for-calcite-committers" 
id="markdown-toc-publishing-a-release-for-calcite-committers">Publishing a 
release (for Calcite committers)</a></li>
+      <li><a href="#publishing-a-release-for-calcite-committers" 
id="markdown-toc-publishing-a-release-for-calcite-committers">Publishing a 
release (for Calcite committers)</a>        <ul>
+          <li><a href="#publishing-directly-in-your-environment" 
id="markdown-toc-publishing-directly-in-your-environment">Publishing directly 
in your environment:</a></li>
+        </ul>
+      </li>
       <li><a href="#publish-the-web-site" 
id="markdown-toc-publish-the-web-site">Publishing the web site (for Calcite 
committers)</a></li>
     </ul>
   </li>
@@ -134,7 +143,7 @@ adapters.</p>
 
 <h2 id="building-from-a-source-distribution">Building from a source 
distribution</h2>
 
-<p>Prerequisite is Java (JDK 8, 9, 10, 11, or 12) on your path.</p>
+<p>Prerequisite is Java (JDK 8, 9, 10, 11, 12, or 13) on your path.</p>
 
 <p>Unpack the source distribution <code 
class="highlighter-rouge">.tar.gz</code> file,
 <code class="highlighter-rouge">cd</code> to the root directory of the 
unpacked source,
@@ -142,15 +151,15 @@ then build using the included maven wrapper:</p>
 
 <figure class="highlight"><pre><code class="language-bash" 
data-lang="bash"><span class="nv">$ </span><span class="nb">tar </span>xvfz 
calcite-1.21.0-source.tar.gz
 <span class="nv">$ </span><span class="nb">cd </span>calcite-1.21.0
-<span class="nv">$ </span>./mvnw install</code></pre></figure>
+<span class="nv">$ </span>./gradlew build</code></pre></figure>
 
 <p><a href="#running-tests">Running tests</a> describes how to run more or 
fewer
 tests.</p>
 
-<h2 id="building-from-git">Building from git</h2>
+<h2 id="building-from-git">Building from Git</h2>
 
 <p>Prerequisites are git
-and Java (JDK 8, 9, 10, 11, or 12) on your path.</p>
+and Java (JDK 8, 9, 10, 11, 12, or 13) on your path.</p>
 
 <p>Create a local copy of the github repository,
 <code class="highlighter-rouge">cd</code> to its root directory,
@@ -158,38 +167,46 @@ then build using the included maven wrapper:</p>
 
 <figure class="highlight"><pre><code class="language-bash" 
data-lang="bash"><span class="nv">$ </span>git clone 
git://github.com/apache/calcite.git
 <span class="nv">$ </span><span class="nb">cd </span>calcite
-<span class="nv">$ </span>./mvnw install</code></pre></figure>
+<span class="nv">$ </span>./gradlew build</code></pre></figure>
 
 <p>Calcite includes a number of machine-generated codes. By default, these are
 regenerated on every build, but this has the negative side-effect of causing
 a re-compilation of the entire project when the non-machine-generated code
-has not changed. To make sure incremental compilation still works as intended,
-provide the <code class="highlighter-rouge">skipGenerate</code> command line 
option with your maven command.
-If you invoke the <code class="highlighter-rouge">clean</code> lifecycle 
phase, you must not specify the
-<code class="highlighter-rouge">skipGenerate</code> option as it will not 
recompile the necessary code for the build
-to succeed.</p>
+has not changed.</p>
 
-<figure class="highlight"><pre><code class="language-bash" 
data-lang="bash"><span class="nv">$ </span>mvn clean
-<span class="nv">$ </span>mvn package
-... hacks ...
-<span class="nv">$ </span>mvn package <span 
class="nt">-DskipGenerate</span></code></pre></figure>
+<p>Typically re-generation is called automatically when the relevant templates
+are changed, and it should work transparently.
+However if your IDE does not generate sources (e.g. <code 
class="highlighter-rouge">core/build/javacc/javaCCMain/org/apache/calcite/sql/parser/impl/SqlParserImpl.java</code>),
+then you can call <code class="highlighter-rouge">./gradlew 
generateSources</code> tasks manually.</p>
 
 <p><a href="#running-tests">Running tests</a> describes how to run more or 
fewer
 tests.</p>
 
-<h2 id="if-you-already-have-apache-maven">If you already have Apache Maven</h2>
+<h2 id="gradle-vs-gradle-wrapper">Gradle vs Gradle wrapper</h2>
 
-<p>If you have already installed Maven and it is on your path, then you
-can use <code class="highlighter-rouge">mvn</code> rather than <code 
class="highlighter-rouge">./mvnw</code> in commands. You need Maven version
-3.5.2 or later.</p>
+<p>Calcite uses Gradle wrapper to make a consistent build environment.
+In the typical case you don’t need to install Gradle manually, and
+<code class="highlighter-rouge">./gradlew</code> would download the proper 
version for you and verify the expected checksum.</p>
+
+<p>You can install Gradle manually, however please note that there might
+be impedance mismatch between different versions.</p>
+
+<p>For more information about Gradle, check the following links:
+<a 
href="https://docs.gradle.org/current/userguide/what_is_gradle.html#five_things";>Gradle
 five things</a>;
+<a 
href="https://docs.gradle.org/current/userguide/intro_multi_project_builds.html";>Gradle
 multi-project builds</a>.</p>
 
 <h2 id="running-tests">Running tests</h2>
 
 <p>The test suite will run by default when you build, unless you specify
-<code class="highlighter-rouge">-DskipTests</code>:</p>
+<code class="highlighter-rouge">-x test</code></p>
+
+<figure class="highlight"><pre><code class="language-bash" 
data-lang="bash"><span class="nv">$ </span>./gradlew assemble <span class="c"># 
build the artifacts</span>
+<span class="nv">$ </span>./gradlew build <span class="nt">-x</span> <span 
class="nb">test</span> <span class="c"># build the artifacts, verify code 
style, skip tests</span>
+<span class="nv">$ </span>./gradlew check <span class="c"># verify code style, 
execute tests</span>
+<span class="nv">$ </span>./gradlew <span class="nb">test</span> <span 
class="c"># execute tests</span>
+<span class="nv">$ </span>./gradlew checkstyleMain checkstyleTest <span 
class="c"># verify code style</span></code></pre></figure>
 
-<figure class="highlight"><pre><code class="language-bash" 
data-lang="bash"><span class="nv">$ </span>./mvnw <span 
class="nt">-DskipTests</span> clean install
-<span class="nv">$ </span>./mvnw <span 
class="nb">test</span></code></pre></figure>
+<p>You can use <code class="highlighter-rouge">./gradlew assemble</code> to 
build the artifacts and skip all tests and verifications.</p>
 
 <p>There are other options that control which tests are run, and in what
 environment, as follows.</p>
@@ -215,6 +232,20 @@ in-memory and run tests from those benchmarks.</li>
 Splunk must be installed and running.</li>
 </ul>
 
+<p>Note: tests are executed in a forked JVM, so system properties are not 
passed automatically
+when running tests with Gradle.
+By default, the build script passes the following <code 
class="highlighter-rouge">-D...</code> properties
+(see <code class="highlighter-rouge">passProperty</code> in <code 
class="highlighter-rouge">build.gradle.kts</code>):</p>
+
+<ul>
+  <li><code class="highlighter-rouge">java.awt.headless</code></li>
+  <li><code 
class="highlighter-rouge">junit.jupiter.execution.parallel.enabled</code>, 
default: <code class="highlighter-rouge">true</code></li>
+  <li><code 
class="highlighter-rouge">junit.jupiter.execution.timeout.default</code>, 
default: <code class="highlighter-rouge">5 m</code></li>
+  <li><code class="highlighter-rouge">user.language</code>, default: <code 
class="highlighter-rouge">TR</code></li>
+  <li><code class="highlighter-rouge">user.country</code>, default: <code 
class="highlighter-rouge">tr</code></li>
+  <li><code class="highlighter-rouge">calcite.**</code> (to enable <code 
class="highlighter-rouge">calcite.test.db</code> and others above)</li>
+</ul>
+
 <h2 id="running-integration-tests">Running integration tests</h2>
 
 <p>For testing Calcite’s external adapters, a test virtual machine should be 
used.
@@ -255,17 +286,18 @@ The connection strings for different databases are listed 
in <a href="https://gi
 <p>Command line:</p>
 
 <ul>
-  <li>Executing regular unit tests (does not require external data): no 
change. <code class="highlighter-rouge">mvn test</code> or <code 
class="highlighter-rouge">mvn install</code>.</li>
-  <li>Executing all tests, for all the DBs: <code 
class="highlighter-rouge">mvn verify -Pit</code>. <code 
class="highlighter-rouge">it</code> stands for “integration-test”. <code 
class="highlighter-rouge">mvn install -Pit</code> works as well.</li>
-  <li>Executing just tests for external DBs, excluding unit tests: <code 
class="highlighter-rouge">mvn -Dtest=foo -DfailIfNoTests=false -Pit 
verify</code></li>
-  <li>Executing just MongoDB tests: <code class="highlighter-rouge">cd mongo; 
mvn verify -Pit</code></li>
+  <li>Executing regular unit tests (does not require external data): no 
change. <code class="highlighter-rouge">./gradlew test</code> or <code 
class="highlighter-rouge">./gradlew build</code>.</li>
+  <li>Executing all tests, for all the DBs: <code 
class="highlighter-rouge">./gradlew test integTestAll</code>.</li>
+  <li>Executing just tests for external DBs, excluding unit tests: <code 
class="highlighter-rouge">./gradlew integTestAll</code></li>
+  <li>Executing PostgreSQL JDBC tests: <code 
class="highlighter-rouge">./gradlew integTestPostgresql</code></li>
+  <li>Executing just MongoDB tests: <code class="highlighter-rouge">./gradlew 
:mongo:build</code></li>
 </ul>
 
 <p>From within IDE:</p>
 
 <ul>
   <li>Executing regular unit tests: no change.</li>
-  <li>Executing MongoDB tests: run <code 
class="highlighter-rouge">MongoAdapterIT.java</code> as usual (no additional 
properties are required)</li>
+  <li>Executing MongoDB tests: run <code 
class="highlighter-rouge">MongoAdapterTest.java</code> with <code 
class="highlighter-rouge">calcite.integrationTest=true</code> system 
property</li>
   <li>Executing MySQL tests: run <code 
class="highlighter-rouge">JdbcTest</code> and <code 
class="highlighter-rouge">JdbcAdapterTest</code> with setting <code 
class="highlighter-rouge">-Dcalcite.test.db=mysql</code></li>
   <li>Executing PostgreSQL tests: run <code 
class="highlighter-rouge">JdbcTest</code> and <code 
class="highlighter-rouge">JdbcAdapterTest</code> with setting <code 
class="highlighter-rouge">-Dcalcite.test.db=postgresql</code></li>
 </ul>
@@ -293,10 +325,10 @@ Integration tests should be named <code 
class="highlighter-rouge">...IT.java</co
 
 <p>Start with <a href="#building-from-a-source-distribution">building Calcite 
from the command line</a>.</p>
 
-<p>Go to <em>File &gt; Open…</em> and open up Calcite’s <code 
class="highlighter-rouge">pom.xml</code> file.
+<p>Go to <em>File &gt; Open…</em> and open up Calcite’s root <code 
class="highlighter-rouge">build.gradle.kts</code> file.
 When IntelliJ asks if you want to open it as a project or a file, select 
project.
 Also, say yes when it asks if you want a new window.
-IntelliJ’s Maven project importer should handle the rest.</p>
+IntelliJ’s Gradle project importer should handle the rest.</p>
 
 <p>There is a partially implemented IntelliJ code style configuration that you 
can import located <a 
href="https://gist.github.com/gianm/27a4e3cad99d7b9b6513b6885d3cfcc9";>on 
GitHub</a>.
 It does not do everything needed to make Calcite’s style checker happy, but
@@ -308,18 +340,9 @@ then <em>Import Scheme &gt; IntelliJ IDEA Code Style 
XML</em>.</p>
 For example, navigate to the method <code 
class="highlighter-rouge">JdbcTest.testWinAgg</code> with
 <em>Navigate &gt; Symbol</em> and enter <code 
class="highlighter-rouge">testWinAgg</code>. Run <code 
class="highlighter-rouge">testWinAgg</code> by right-clicking and selecting 
<em>Run</em> (or the equivalent keyboard shortcut).</p>
 
-<p>If you encounter an error while running the <code 
class="highlighter-rouge">JdbcTest.testWinAgg</code> , run the following Maven 
command from the command line:</p>
-
-<p><code class="highlighter-rouge">$ ./mvnw -DskipTests clean 
install</code></p>
-
-<p>You should see <code class="highlighter-rouge">"BUILD SUCCESS"</code>.</p>
-
-<p>Once that is complete, proceed with running <code 
class="highlighter-rouge">JdbcTest.testWinAgg</code>.</p>
-
 <h3 id="setting-up-netbeans">Setting up NetBeans</h3>
 
-<p>From the main menu, select <em>File &gt; Open Project</em> and navigate to 
a name of the project (Calcite) with a small Maven icon, and choose to open.
-(See <a 
href="https://www.packtpub.com/mapt/book/application_development/9781785286124/2/ch02lvl1sec23/importing-an-existing-maven-project-in-netbeans";>this
 tutorial</a> for an example of how to open a Maven project)
+<p>From the main menu, select <em>File &gt; Open Project</em> and navigate to 
a name of the project (Calcite) with a small Gradle icon, and choose to open.
 Wait for NetBeans to finish importing all dependencies.</p>
 
 <p>To ensure that the project is configured successfully, navigate to the 
method <code class="highlighter-rouge">testWinAgg</code> in <code 
class="highlighter-rouge">org.apache.calcite.test.JdbcTest</code>.
@@ -327,6 +350,10 @@ Right-click on the method and select to <em>Run Focused 
Test Method</em>.
 NetBeans will run a Maven process, and you should see in the command output 
window a line with
  <code class="highlighter-rouge">Running 
org.apache.calcite.test.JdbcTest</code> followed by <code 
class="highlighter-rouge">"BUILD SUCCESS"</code>.</p>
 
+<p>Note: it is not clear if NetBeans automatically generates relevant sources 
on project import,
+so you might need to run <code class="highlighter-rouge">./gradlew 
generateSources</code> before importing the project (and when you
+update template parser sources, and project version)</p>
+
 <h2 id="tracing">Tracing</h2>
 
 <p>To enable tracing, add the following flags to the java command line:</p>
@@ -346,11 +373,9 @@ You can modify the level for the rootLogger to increase 
verbosity or change the
 for a specific class if you so choose.</p>
 
 <figure class="highlight"><pre><code class="language-properties" 
data-lang="properties"><span class="c"># Change rootLogger level to WARN
-</span><span class="py">log4j.rootLogger</span><span class="p">=</span><span 
class="s">WARN, A1
-</span>
+</span><span class="py">log4j.rootLogger</span><span class="p">=</span><span 
class="s">WARN, A1</span>
 <span class="c"># Increase level to DEBUG for RelOptPlanner
-</span><span 
class="py">log4j.logger.org.apache.calcite.plan.RelOptPlanner</span><span 
class="p">=</span><span class="s">DEBUG
-</span>
+</span><span 
class="py">log4j.logger.org.apache.calcite.plan.RelOptPlanner</span><span 
class="p">=</span><span class="s">DEBUG</span>
 <span class="c"># Increase level to TRACE for HepPlanner
 </span><span 
class="py">log4j.logger.org.apache.calcite.plan.hep.HepPlanner</span><span 
class="p">=</span><span class="s">TRACE</span></code></pre></figure>
 
@@ -409,8 +434,8 @@ connecting to: <span class="nb">test</span>
 Calcite model:</p>
 
 <figure class="highlight"><pre><code class="language-bash" 
data-lang="bash"><span class="nv">$ </span>./sqlline
-sqlline&gt; <span class="o">!</span>connect jdbc:calcite:model<span 
class="o">=</span>mongodb/target/test-classes/mongo-model.json admin admin
-Connecting to jdbc:calcite:model<span 
class="o">=</span>mongodb/target/test-classes/mongo-model.json
+sqlline&gt; <span class="o">!</span>connect jdbc:calcite:model<span 
class="o">=</span>mongodb/src/test/resources/mongo-model.json admin admin
+Connecting to jdbc:calcite:model<span 
class="o">=</span>mongodb/src/test/resources/mongo-model.json
 Connected to: Calcite <span class="o">(</span>version 1.x.x<span 
class="o">)</span>
 Driver: Calcite JDBC Driver <span class="o">(</span>version 1.x.x<span 
class="o">)</span>
 Autocommit status: <span class="nb">true
@@ -457,15 +482,13 @@ queries. It is also necessary if you intend to run the 
test suite, using
 <span class="kd">public</span> <span class="kd">class</span> <span 
class="nc">AdapterContext</span> <span class="kd">implements</span> <span 
class="n">CalcitePrepare</span><span class="o">.</span><span 
class="na">Context</span> <span class="o">{</span>
   <span class="nd">@Override</span>
   <span class="kd">public</span> <span class="n">JavaTypeFactory</span> <span 
class="nf">getTypeFactory</span><span class="o">()</span> <span 
class="o">{</span>
-    <span class="c1">// adapter implementation
-</span>
+    <span class="c1">// adapter implementation</span>
     <span class="k">return</span> <span class="n">typeFactory</span><span 
class="o">;</span>
   <span class="o">}</span>
 
   <span class="nd">@Override</span>
   <span class="kd">public</span> <span class="n">CalciteSchema</span> <span 
class="nf">getRootSchema</span><span class="o">()</span> <span 
class="o">{</span>
-    <span class="c1">// adapter implementation
-</span>
+    <span class="c1">// adapter implementation</span>
     <span class="k">return</span> <span class="n">rootSchema</span><span 
class="o">;</span>
   <span class="o">}</span>
 <span class="o">}</span></code></pre></figure>
@@ -493,8 +516,7 @@ specific implementation.</p>
     <span class="n">CalcitePrepare</span><span class="o">.</span><span 
class="na">PrepareResult</span><span class="o">&lt;</span><span 
class="n">Object</span><span class="o">&gt;</span> <span 
class="n">prepared</span> <span class="o">=</span>
         <span class="k">new</span> <span 
class="nf">CalcitePrepareImpl</span><span class="o">().</span><span 
class="na">prepareSql</span><span class="o">(</span><span 
class="n">ctx</span><span class="o">,</span> <span class="n">sql</span><span 
class="o">,</span> <span class="kc">null</span><span class="o">,</span> <span 
class="n">elementType</span><span class="o">,</span> <span 
class="o">-</span><span class="mi">1</span><span class="o">);</span>
     <span class="n">Object</span> <span class="n">enumerable</span> <span 
class="o">=</span> <span class="n">prepared</span><span class="o">.</span><span 
class="na">getExecutable</span><span class="o">();</span>
-    <span class="c1">// etc.
-</span>
+    <span class="c1">// etc.</span>
   <span class="o">}</span>
 <span class="o">}</span></code></pre></figure>
 
@@ -594,34 +616,45 @@ file by following instructions in the <code 
class="highlighter-rouge">KEYS</code
 ball because that would be
 <a 
href="https://issues.apache.org/jira/browse/CALCITE-1746";>redundant</a>.)</p>
 
-<h2 id="set-up-maven-repository-credentials-for-calcite-committers">Set up 
Maven repository credentials (for Calcite committers)</h2>
+<h2 id="set-up-nexus-repository-credentials-for-calcite-committers">Set up 
Nexus repository credentials (for Calcite committers)</h2>
+
+<p>Gradle provides multiple ways to <a 
href="https://docs.gradle.org/current/userguide/build_environment.html#sec:gradle_configuration_properties";>configure
 project properties</a>.
+For instance, you could update <code 
class="highlighter-rouge">$HOME/.gradle/gradle.properties</code>.</p>
+
+<p>Note: the build script would print the missing properties, so you can try 
running it and let it complain on the missing ones.</p>
+
+<p>The following options are used:</p>
+
+<figure class="highlight"><pre><code class="language-properties" 
data-lang="properties"><span class="py">asfCommitterId</span><span 
class="p">=</span>
+<span class="py">asfNexusUsername</span><span class="p">=</span>
+<span class="py">asfNexusPassword</span><span class="p">=</span>
+<span class="py">asfSvnUsername</span><span class="p">=</span>
+<span class="py">asfSvnPassword</span><span 
class="p">=</span></code></pre></figure>
 
-<p>Follow the instructions <a 
href="https://www.apache.org/dev/publishing-maven-artifacts.html#dev-env";>here</a>
 to add your credentials to your maven configuration.</p>
+<p>Note: when https://github.com/vlsi/asflike-release-environment is used, the 
credentials are takend from
+<code class="highlighter-rouge">asfTest...</code> (e.g. <code 
class="highlighter-rouge">asfTestNexusUsername=test</code>)</p>
+
+<p>Note: if you want to uses <code class="highlighter-rouge">gpg-agent</code>, 
you need to pass <code class="highlighter-rouge">useGpgCmd</code> property, and 
specify the key id
+via <code class="highlighter-rouge">signing.gnupg.keyName</code>.</p>
 
 <h2 id="making-a-snapshot-for-calcite-committers">Making a snapshot (for 
Calcite committers)</h2>
 
 <p>Before you start:</p>
 
 <ul>
-  <li>Set up signing keys as described above.</li>
   <li>Make sure you are using JDK 8.</li>
   <li>Make sure build and tests succeed with <code 
class="highlighter-rouge">-Dcalcite.test.db=hsqldb</code> (the default)</li>
 </ul>
 
-<figure class="highlight"><pre><code class="language-bash" 
data-lang="bash"><span class="c"># Tell GPG how to read a password from your 
terminal
-</span>
-<span class="nb">export </span><span class="nv">GPG_TTY</span><span 
class="o">=</span><span class="k">$(</span>tty<span class="k">)</span>
-
-<span class="c"># Make sure that there are no junk files in the sandbox
-</span>
+<figure class="highlight"><pre><code class="language-bash" 
data-lang="bash"><span class="c"># Make sure that there are no junk files in 
the sandbox</span>
 git clean <span class="nt">-xn</span>
-./mvnw clean
-
-./mvnw <span class="nt">-Papache-release</span> install</code></pre></figure>
+<span class="c"># Publish snapshot artifacts</span>
+./gradlew clean publish <span class="nt">-Pasf</span></code></pre></figure>
 
-<p>When the dry-run has succeeded, change <code 
class="highlighter-rouge">install</code> to <code 
class="highlighter-rouge">deploy</code>.</p>
+<h2 id="making-a-release-candidate-for-calcite-committers">Making a release 
candidate (for Calcite committers)</h2>
 
-<h2 id="making-a-release-for-calcite-committers">Making a release (for Calcite 
committers)</h2>
+<p>Note: release artifacts (dist.apache.org and repository.apache.org) are 
managed with
+<a 
href="https://github.com/vlsi/vlsi-release-plugins/tree/master/plugins/stage-vote-release-plugin";>stage-vote-release-plugin</a></p>
 
 <p>Before you start:</p>
 
@@ -630,20 +663,18 @@ git clean <span class="nt">-xn</span>
   <li>Make sure you are using JDK 8 (not 9 or 10).</li>
   <li>Check that <code class="highlighter-rouge">README</code> and <code 
class="highlighter-rouge">site/_docs/howto.md</code> have the correct version 
number.</li>
   <li>Check that <code class="highlighter-rouge">NOTICE</code> has the current 
copyright year.</li>
-  <li>Set <code class="highlighter-rouge">version.major</code> and <code 
class="highlighter-rouge">version.minor</code> in <code 
class="highlighter-rouge">pom.xml</code>.</li>
-  <li>Make sure build and tests succeed, including with <code 
class="highlighter-rouge">-P it,it-oracle</code>.</li>
-  <li>Make sure that <code class="highlighter-rouge">./mvnw javadoc:javadoc 
javadoc:test-javadoc</code> succeeds
+  <li>Check that <code class="highlighter-rouge">calcite.version</code> has 
the proper value in <code 
class="highlighter-rouge">/gradle.properties</code>.</li>
+  <li>Make sure build and tests succeed</li>
+  <li>Make sure that <code class="highlighter-rouge">./gradlew javadoc</code> 
succeeds
 (i.e. gives no errors; warnings are OK)</li>
   <li>Generate a report of vulnerabilities that occur among dependencies,
-using <code class="highlighter-rouge">-Ppedantic</code>; if you like, run 
again with <code class="highlighter-rouge">-DfailBuildOnCVSS=8</code> to see
-whether serious vulnerabilities exist. Report to <a 
href="mailto:priv...@calcite.apache.org";>priv...@calcite.apache.org</a>
+using <code class="highlighter-rouge">./gradlew dependencyCheckUpdate 
dependencyCheckAggregate</code>.
+Report to <a 
href="mailto:priv...@calcite.apache.org";>priv...@calcite.apache.org</a>
 if new critical vulnerabilities are found among dependencies.</li>
-  <li>Make sure that <code class="highlighter-rouge">./mvnw 
apache-rat:check</code> succeeds. (It will be run as part of
-the release, but it’s better to trouble-shoot early.)</li>
   <li>Decide the supported configurations of JDK, operating system and
 Guava.  These will probably be the same as those described in the
 release notes of the previous release.  Document them in the release
-notes.  To test Guava version <em>x.y</em>, specify <code 
class="highlighter-rouge">-Dguava.version=x.y</code></li>
+notes.  To test Guava version <em>x.y</em>, specify <code 
class="highlighter-rouge">-Pguava.version=x.y</code></li>
   <li>Optional extra tests:
     <ul>
       <li><code class="highlighter-rouge">-Dcalcite.test.db=mysql</code></li>
@@ -672,66 +703,44 @@ just about to release)</li>
 <figure class="highlight"><pre><code class="language-sql" 
data-lang="sql"><span class="err">$</span> <span class="p">.</span><span 
class="o">/</span><span class="n">sqlline</span>
 <span class="o">&gt;</span> <span class="o">!</span><span 
class="k">connect</span> <span class="n">jdbc</span><span 
class="p">:</span><span class="n">calcite</span><span class="p">:</span><span 
class="n">fun</span><span class="o">=</span><span class="n">spatial</span><span 
class="p">,</span><span class="n">oracle</span> <span class="nv">"sa"</span> 
<span class="nv">""</span>
 <span class="k">SELECT</span> <span class="n">NVL</span><span 
class="p">(</span><span class="n">ST_Is3D</span><span class="p">(</span><span 
class="n">ST_PointFromText</span><span class="p">(</span><span 
class="s1">'POINT(-71.064544 42.28787)'</span><span class="p">)),</span> <span 
class="k">TRUE</span><span class="p">);</span>
-<span class="o">+</span><span class="c1">--------+
-</span>
+<span class="o">+</span><span class="c1">--------+</span>
 <span class="o">|</span> <span class="n">EXPR</span><span 
class="err">$</span><span class="mi">0</span> <span class="o">|</span>
-<span class="o">+</span><span class="c1">--------+
-</span>
+<span class="o">+</span><span class="c1">--------+</span>
 <span class="o">|</span> <span class="k">false</span>  <span class="o">|</span>
-<span class="o">+</span><span class="c1">--------+
-</span>
+<span class="o">+</span><span class="c1">--------+</span>
 <span class="mi">1</span> <span class="k">row</span> <span 
class="n">selected</span> <span class="p">(</span><span 
class="mi">0</span><span class="p">.</span><span class="mi">039</span> <span 
class="n">seconds</span><span class="p">)</span>
 <span class="o">&gt;</span> <span class="o">!</span><span 
class="n">quit</span></code></pre></figure>
 
-<p>Create a release branch named after the release, e.g. <code 
class="highlighter-rouge">branch-1.1</code>, and push it to Apache.</p>
+<p>The release candidate process does not add commits,
+so there’s no harm if it fails. It might leave <code 
class="highlighter-rouge">-rc</code> tag behind
+which can be removed if required.</p>
 
-<figure class="highlight"><pre><code class="language-bash" 
data-lang="bash"><span class="nv">$ </span>git checkout <span 
class="nt">-b</span> branch-X.Y
-<span class="nv">$ </span>git push <span class="nt">-u</span> origin 
branch-X.Y</code></pre></figure>
+<p>You can perform a dry-run release with a help of 
https://github.com/vlsi/asflike-release-environment
+That would perform the same steps, however it would push changes to the mock 
Nexus, Git, and SVN servers.</p>
 
-<p>We will use the branch for the entire the release process. Meanwhile,
-we do not allow commits to the master branch. After the release is
-final, we can use <code class="highlighter-rouge">git merge --ff-only</code> 
to append the changes on the
-release branch onto the master branch. (Apache does not allow reverts
-to the master branch, which makes it difficult to clean up the kind of
-messy commits that inevitably happen while you are trying to finalize
-a release.)</p>
+<p>If any of the steps fail, fix the problem, and
+start again from the top.</p>
 
-<p>Now, set up your environment and do a dry run. The dry run will not
-commit any changes back to git and gives you the opportunity to verify
-that the release process will complete as expected.</p>
+<h3 id="to-prepare-a-release-candidate-directly-in-your-environment">To 
prepare a release candidate directly in your environment:</h3>
 
-<p>If any of the steps fail, clean up (see below), fix the problem, and
-start again from the top.</p>
+<p>Pick a release candidate index and ensure it does not interfere with 
previous candidates for the version.</p>
 
-<figure class="highlight"><pre><code class="language-bash" 
data-lang="bash"><span class="c"># Tell GPG how to read a password from your 
terminal
-</span>
+<figure class="highlight"><pre><code class="language-bash" 
data-lang="bash"><span class="c"># Tell GPG how to read a password from your 
terminal</span>
 <span class="nb">export </span><span class="nv">GPG_TTY</span><span 
class="o">=</span><span class="k">$(</span>tty<span class="k">)</span>
 
-<span class="c"># Make sure that there are no junk files in the sandbox
-</span>
+<span class="c"># Make sure that there are no junk files in the sandbox</span>
 git clean <span class="nt">-xn</span>
-./mvnw clean
-
-<span class="c"># Do a dry run of the release:prepare step, which sets version 
numbers
-</span>
-<span class="c"># (accept the default tag name of calcite-X.Y.Z).
-</span>
-<span class="c"># Note X.Y.Z is the current version we're trying to release 
(e.g. 1.8.0),
-</span>
-<span class="c"># and X.(Y+1).Z is the next development version (e.g. 1.9.0).
-</span>
-./mvnw <span class="nt">-DdryRun</span><span class="o">=</span><span 
class="nb">true</span> <span class="nt">-DskipTests</span> <span 
class="nt">-DreleaseVersion</span><span class="o">=</span>X.Y.Z <span 
class="nt">-DdevelopmentVersion</span><span class="o">=</span>X.<span 
class="o">(</span>Y+1<span class="o">)</span>.Z-SNAPSHOT <span 
class="nt">-Papache-release</span> <span class="nt">-Darguments</span><span 
class="o">=</span><span class="nt">-DskipTests</span> release:prepare 2&gt;&amp 
[...]
-
-<span class="c"># 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`:
-</span>
-./mvnw <span class="nt">-DdryRun</span><span class="o">=</span><span 
class="nb">true</span> <span class="nt">-DskipTests</span> <span 
class="nt">-DreleaseVersion</span><span class="o">=</span>X.Y.Z <span 
class="nt">-DdevelopmentVersion</span><span class="o">=</span>X.<span 
class="o">(</span>Y+1<span class="o">)</span>.Z-SNAPSHOT <span 
class="nt">-Papache-release</span> <span class="nt">-Darguments</span><span 
class="o">=</span><span class="s2">"-DskipTests -Dgpg.keyname=</span><span clas 
[...]
-
-<p>Check the artifacts.
-Note that when performing the dry run <code 
class="highlighter-rouge">SNAPSHOT</code> will appear in any file or directory 
names given below.
-The version will be automatically changed when performing the release for 
real.</p>
+
+<span class="c"># Dry run the release candidate (push to 
asf-like-environment)</span>
+./gradlew prepareVote <span class="nt">-Prc</span><span class="o">=</span>1
+
+<span class="c"># Push release candidate to ASF servers</span>
+./gradlew prepareVote <span class="nt">-Prc</span><span class="o">=</span>1 
<span class="nt">-Pasf</span></code></pre></figure>
+
+<h4 id="checking-the-artifacts">Checking the artifacts</h4>
 
 <ul>
-  <li>In the <code class="highlighter-rouge">target</code> directory should be 
these 3 files, among others:
+  <li>In the <code 
class="highlighter-rouge">release/build/distributions</code> directory should 
be these 3 files, among others:
     <ul>
       <li><code 
class="highlighter-rouge">apache-calcite-X.Y.Z-src.tar.gz</code></li>
       <li><code 
class="highlighter-rouge">apache-calcite-X.Y.Z-src.tar.gz.asc</code></li>
@@ -751,42 +760,13 @@ no binary distro), check that all files belong to a 
directory called
   </li>
   <li>Make sure that there is no <code class="highlighter-rouge">KEYS</code> 
file in the source distros</li>
   <li>In each .jar (for example
-<code class="highlighter-rouge">core/target/calcite-core-X.Y.Z.jar</code> and
-<code 
class="highlighter-rouge">mongodb/target/calcite-mongodb-X.Y.Z-sources.jar</code>),
 check
-that the <code class="highlighter-rouge">META-INF</code> directory contains 
<code class="highlighter-rouge">DEPENDENCIES</code>, <code 
class="highlighter-rouge">LICENSE</code>,
-<code class="highlighter-rouge">NOTICE</code> and <code 
class="highlighter-rouge">git.properties</code></li>
-  <li>In <code 
class="highlighter-rouge">core/target/calcite-core-X.Y.Z.jar</code>,
-check that <code 
class="highlighter-rouge">org-apache-calcite-jdbc.properties</code> is
-present and does not contain un-substituted <code 
class="highlighter-rouge">${...}</code> variables</li>
+<code class="highlighter-rouge">core/build/libs/calcite-core-X.Y.Z.jar</code> 
and
+<code 
class="highlighter-rouge">mongodb/build/libs/calcite-mongodb-X.Y.Z-sources.jar</code>),
 check
+that the <code class="highlighter-rouge">META-INF</code> directory contains 
<code class="highlighter-rouge">LICENSE</code>,
+<code class="highlighter-rouge">NOTICE</code></li>
   <li>Check PGP, per <a 
href="https://httpd.apache.org/dev/verification.html";>this</a></li>
 </ul>
 
-<p>Now, remove the <code class="highlighter-rouge">-DdryRun</code> flag and 
run the release for real.
-For this step you’ll have to add the <a 
href="https://maven.apache.org/developers/committer-settings.html";>Apache 
servers</a> to <code class="highlighter-rouge">~/.m2/settings.xml</code>.</p>
-
-<figure class="highlight"><pre><code class="language-bash" 
data-lang="bash"><span class="c"># Make sure that there are no junk files in 
the sandbox; performing a dry run may have generated
-</span>
-<span class="c"># redundant files that do not need to be present in the 
release artifacts.
-</span>
-git clean <span class="nt">-xn</span>
-./mvnw clean
-
-<span class="c"># Prepare sets the version numbers, creates a tag, and pushes 
it to git
-</span>
-<span class="c"># Note X.Y.Z is the current version we're trying to release, 
and X.Y+1.Z is the next development version.
-</span>
-<span class="c"># 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.
-</span>
-./mvnw <span class="nt">-DdryRun</span><span class="o">=</span><span 
class="nb">false</span> <span class="nt">-DskipTests</span> <span 
class="nt">-DreleaseVersion</span><span class="o">=</span>X.Y.Z <span 
class="nt">-DdevelopmentVersion</span><span class="o">=</span>X.Y+1.Z-SNAPSHOT 
<span class="nt">-Papache-release</span> <span 
class="nt">-Darguments</span><span class="o">=</span><span 
class="nt">-DskipTests</span> release:prepare 2&gt;&amp;1 | tee /tmp/prepare.log
-
-<span class="c"># 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`:
-</span>
-./mvnw <span class="nt">-DdryRun</span><span class="o">=</span><span 
class="nb">false</span> <span class="nt">-DskipTests</span> <span 
class="nt">-DreleaseVersion</span><span class="o">=</span>X.Y.Z <span 
class="nt">-DdevelopmentVersion</span><span class="o">=</span>X.Y+1.Z-SNAPSHOT 
<span class="nt">-Papache-release</span> <span 
class="nt">-Darguments</span><span class="o">=</span><span 
class="s2">"-DskipTests -Dgpg.keyname=</span><span class="k">${</span><span 
class="nv">GPG_KEY_ID</spa [...]
-
-<span class="c"># Perform checks out the tagged version, builds, and deploys 
to the staging repository
-</span>
-./mvnw <span class="nt">-DskipTests</span> <span 
class="nt">-Papache-release</span> release:perform 2&gt;&amp;1 | tee 
/tmp/perform.log</code></pre></figure>
-
 <p>Verify the staged artifacts in the Nexus repository:</p>
 
 <ul>
@@ -800,65 +780,21 @@ 
https://repository.apache.org/content/repositories/orgapachecalcite-1000
 (or a similar URL)</li>
 </ul>
 
-<p>Upload the artifacts via subversion to a staging area,
-https://dist.apache.org/repos/dist/dev/calcite/apache-calcite-X.Y.Z-rcN:</p>
-
-<figure class="highlight"><pre><code class="language-bash" 
data-lang="bash"><span class="c"># Create a subversion workspace, if you 
haven't already
-</span>
-mkdir <span class="nt">-p</span> ~/dist/dev
-<span class="nb">pushd</span> ~/dist/dev
-svn co https://dist.apache.org/repos/dist/dev/calcite
-<span class="nb">popd</span>
-
-<span class="c"># Move the files into a directory
-</span>
-mkdir ~/dist/dev/calcite/apache-calcite-X.Y.Z-rcN
-mv apache-calcite-<span class="k">*</span> 
~/dist/dev/calcite/apache-calcite-X.Y.Z-rcN
-
-<span class="c"># Check in
-</span>
-<span class="nb">cd</span> ~/dist/dev/calcite
-svn add apache-calcite-X.Y.Z-rcN
-svn ci</code></pre></figure>
-
 <h2 
id="cleaning-up-after-a-failed-release-attempt-for-calcite-committers">Cleaning 
up after a failed release attempt (for Calcite committers)</h2>
 
-<figure class="highlight"><pre><code class="language-bash" 
data-lang="bash"><span class="c"># Make sure that the tag you are about to 
generate does not already
-</span>
-<span class="c"># exist (due to a failed release attempt)
-</span>
-git tag
-
-<span class="c"># If the tag exists, delete it locally and remotely
-</span>
-git tag <span class="nt">-d</span> calcite-X.Y.Z
-git push origin :refs/tags/calcite-X.Y.Z
-
-<span class="c"># Remove modified files
-</span>
-./mvnw release:clean
-
-<span class="c"># Check whether there are modified files and if so, go back to 
the
-</span>
-<span class="c"># original git commit
-</span>
-git status
-git reset <span class="nt">--hard</span> HEAD</code></pre></figure>
+<p>If something is not correct, you can fix it, commit it, and prepare the 
next candidate.
+The release candidate tags might be kept for a while.</p>
 
 <h2 id="validate-a-release">Validate a release</h2>
 
-<figure class="highlight"><pre><code class="language-bash" 
data-lang="bash"><span class="c"># Check that the signing key (e.g. 
DDB6E9812AD3FAE3) is pushed
-</span>
+<figure class="highlight"><pre><code class="language-bash" 
data-lang="bash"><span class="c"># Check that the signing key (e.g. 
DDB6E9812AD3FAE3) is pushed</span>
 gpg <span class="nt">--recv-keys</span> key
 
-<span class="c"># Check keys
-</span>
+<span class="c"># Check keys</span>
 curl <span class="nt">-O</span> 
https://dist.apache.org/repos/dist/release/calcite/KEYS
 
-<span class="c"># Sign/check sha256 hashes
-</span>
-<span class="c"># (Assumes your O/S has a 'shasum' command.)
-</span>
+<span class="c"># Sign/check sha256 hashes</span>
+<span class="c"># (Assumes your O/S has a 'shasum' command.)</span>
 <span class="k">function </span>checkHash<span class="o">()</span> <span 
class="o">{</span>
   <span class="nb">cd</span> <span class="s2">"</span><span 
class="nv">$1</span><span class="s2">"</span>
   <span class="k">for </span>i <span class="k">in</span> <span 
class="k">*</span>.<span class="o">{</span>pom,gz<span class="o">}</span><span 
class="p">;</span> <span class="k">do
@@ -881,7 +817,9 @@ checkHash apache-calcite-X.Y.Z-rcN</code></pre></figure>
 
 <h2 
id="get-approval-for-a-release-via-apache-voting-process-for-calcite-committers">Get
 approval for a release via Apache voting process (for Calcite committers)</h2>
 
-<p>Release vote on dev list</p>
+<p>Release vote on dev list
+Note: the draft mail is printed as the final step of <code 
class="highlighter-rouge">prepareVote</code> task,
+and you can find the draft in <code 
class="highlighter-rouge">/build/prepareVote/mail.txt</code></p>
 
 <figure class="highlight"><pre><code class="language-text" 
data-lang="text">To: d...@calcite.apache.org
 Subject: [VOTE] Release apache-calcite-X.Y.Z (release candidate N)
@@ -971,35 +909,13 @@ This is based on the time when you expect to announce the 
release.
 This is usually a day after the vote closes.
 Remember that UTC date changes at 4pm Pacific time.</p>
 
-<p>Promote the staged nexus artifacts.</p>
+<h3 id="publishing-directly-in-your-environment">Publishing directly in your 
environment:</h3>
 
-<ul>
-  <li>Go to <a 
href="https://repository.apache.org/";>https://repository.apache.org/</a> and 
login</li>
-  <li>Under “Build Promotion” click “Staging Repositories”</li>
-  <li>In the line with “orgapachecalcite-xxxx”, check the box</li>
-  <li>Press “Release” button</li>
-</ul>
+<figure class="highlight"><pre><code class="language-bash" 
data-lang="bash"><span class="c"># Dry run publishing the release (push to 
asf-like-environment)</span>
+./gradlew publishDist <span class="nt">-Prc</span><span class="o">=</span>1
 
-<p>Check the artifacts into svn.</p>
-
-<figure class="highlight"><pre><code class="language-bash" 
data-lang="bash"><span class="c"># Get the release candidate.
-</span>
-mkdir <span class="nt">-p</span> ~/dist/dev
-<span class="nb">cd</span> ~/dist/dev
-svn co https://dist.apache.org/repos/dist/dev/calcite
-
-<span class="c"># Copy the artifacts. Note that the copy does not have '-rcN' 
suffix.
-</span>
-mkdir <span class="nt">-p</span> ~/dist/release
-<span class="nb">cd</span> ~/dist/release
-svn co https://dist.apache.org/repos/dist/release/calcite
-<span class="nb">cd </span>calcite
-cp <span class="nt">-rp</span> ../../dev/calcite/apache-calcite-X.Y.Z-rcN 
apache-calcite-X.Y.Z
-svn add apache-calcite-X.Y.Z
-
-<span class="c"># Check in.
-</span>
-svn ci</code></pre></figure>
+<span class="c"># Publish the release to ASF servers</span>
+./gradlew publishDist <span class="nt">-Prc</span><span class="o">=</span>1 
<span class="nt">-Pasf</span></code></pre></figure>
 
 <p>Svnpubsub will publish to the
 <a href="https://dist.apache.org/repos/dist/release/calcite";>release repo</a> 
and propagate to the
@@ -1375,7 +1291,7 @@ as a template. Be sure to include a brief description of 
the project.</p>
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>
diff --git a/docs/index.html b/docs/index.html
index ef780a6..f1c941d 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -197,7 +197,6 @@ more details in the <a href="reference.html">SQL 
reference</a></li>
   <li>Several <a href="adapter.html">adapters</a></li>
 </ul>
 
-
           
 
 
@@ -478,7 +477,7 @@ more details in the <a href="reference.html">SQL 
reference</a></li>
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>
diff --git a/docs/kafka_adapter.html b/docs/kafka_adapter.html
index 1de1a17..847d795 100644
--- a/docs/kafka_adapter.html
+++ b/docs/kafka_adapter.html
@@ -478,7 +478,7 @@ sqlline&gt; <span class="o">!</span>connect 
jdbc:calcite:model<span class="o">=<
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>
diff --git a/docs/lattice.html b/docs/lattice.html
index a1479eb..23bdac3 100644
--- a/docs/lattice.html
+++ b/docs/lattice.html
@@ -242,11 +242,9 @@ populating materialized views. Let’s run a query and check 
out its plan:</p>
 <span class="p">.</span> <span class="p">.</span> <span class="p">.</span> 
<span class="p">.</span><span class="o">&gt;</span> <span class="k">from</span> 
<span class="nv">"sales_fact_1997"</span>
 <span class="p">.</span> <span class="p">.</span> <span class="p">.</span> 
<span class="p">.</span><span class="o">&gt;</span> <span class="k">join</span> 
<span class="nv">"time_by_day"</span> <span class="k">using</span> <span 
class="p">(</span><span class="nv">"time_id"</span><span class="p">)</span>
 <span class="p">.</span> <span class="p">.</span> <span class="p">.</span> 
<span class="p">.</span><span class="o">&gt;</span> <span 
class="k">group</span> <span class="k">by</span> <span 
class="nv">"the_year"</span><span class="p">,</span><span 
class="nv">"the_month"</span><span class="p">;</span>
-<span class="o">+</span><span class="c1">----------+-----------+------+
-</span>
+<span class="o">+</span><span class="c1">----------+-----------+------+</span>
 <span class="o">|</span> <span class="n">the_year</span> <span 
class="o">|</span> <span class="n">the_month</span> <span class="o">|</span>    
<span class="k">C</span> <span class="o">|</span>
-<span class="o">+</span><span class="c1">----------+-----------+------+
-</span>
+<span class="o">+</span><span class="c1">----------+-----------+------+</span>
 <span class="o">|</span> <span class="mi">1997</span>     <span 
class="o">|</span> <span class="n">September</span> <span class="o">|</span> 
<span class="mi">6663</span> <span class="o">|</span>
 <span class="o">|</span> <span class="mi">1997</span>     <span 
class="o">|</span> <span class="n">April</span>     <span class="o">|</span> 
<span class="mi">6590</span> <span class="o">|</span>
 <span class="o">|</span> <span class="mi">1997</span>     <span 
class="o">|</span> <span class="n">January</span>   <span class="o">|</span> 
<span class="mi">7034</span> <span class="o">|</span>
@@ -259,8 +257,7 @@ populating materialized views. Let’s run a query and check 
out its plan:</p>
 <span class="o">|</span> <span class="mi">1997</span>     <span 
class="o">|</span> <span class="n">December</span>  <span class="o">|</span> 
<span class="mi">8717</span> <span class="o">|</span>
 <span class="o">|</span> <span class="mi">1997</span>     <span 
class="o">|</span> <span class="n">July</span>      <span class="o">|</span> 
<span class="mi">7752</span> <span class="o">|</span>
 <span class="o">|</span> <span class="mi">1997</span>     <span 
class="o">|</span> <span class="n">November</span>  <span class="o">|</span> 
<span class="mi">8232</span> <span class="o">|</span>
-<span class="o">+</span><span class="c1">----------+-----------+------+
-</span>
+<span class="o">+</span><span class="c1">----------+-----------+------+</span>
 <span class="mi">12</span> <span class="k">rows</span> <span 
class="n">selected</span> <span class="p">(</span><span 
class="mi">0</span><span class="p">.</span><span class="mi">147</span> <span 
class="n">seconds</span><span class="p">)</span>
 
 <span class="n">sqlline</span><span class="o">&gt;</span> <span 
class="k">explain</span> <span class="n">plan</span> <span class="k">for</span>
@@ -268,11 +265,9 @@ populating materialized views. Let’s run a query and check 
out its plan:</p>
 <span class="p">.</span> <span class="p">.</span> <span class="p">.</span> 
<span class="p">.</span><span class="o">&gt;</span> <span class="k">from</span> 
<span class="nv">"sales_fact_1997"</span>
 <span class="p">.</span> <span class="p">.</span> <span class="p">.</span> 
<span class="p">.</span><span class="o">&gt;</span> <span class="k">join</span> 
<span class="nv">"time_by_day"</span> <span class="k">using</span> <span 
class="p">(</span><span class="nv">"time_id"</span><span class="p">)</span>
 <span class="p">.</span> <span class="p">.</span> <span class="p">.</span> 
<span class="p">.</span><span class="o">&gt;</span> <span 
class="k">group</span> <span class="k">by</span> <span 
class="nv">"the_year"</span><span class="p">,</span><span 
class="nv">"the_month"</span><span class="p">;</span>
-<span class="o">+</span><span 
class="c1">--------------------------------------------------------------------------------+
-</span>
+<span class="o">+</span><span 
class="c1">--------------------------------------------------------------------------------+</span>
 <span class="o">|</span> <span class="n">PLAN</span>                           
                                                <span class="o">|</span>
-<span class="o">+</span><span 
class="c1">--------------------------------------------------------------------------------+
-</span>
+<span class="o">+</span><span 
class="c1">--------------------------------------------------------------------------------+</span>
 <span class="o">|</span> <span class="n">EnumerableCalc</span><span 
class="p">(</span><span class="n">expr</span><span class="o">#</span><span 
class="mi">0</span><span class="p">..</span><span class="mi">2</span><span 
class="o">=</span><span class="p">[</span><span class="err">{</span><span 
class="n">inputs</span><span class="err">}</span><span class="p">],</span> 
<span class="n">the_year</span><span class="o">=</span><span 
class="p">[</span><span class="err">$</span><span class="n">t1</ [...]
 <span class="o">|</span>   <span class="n">EnumerableAggregate</span><span 
class="p">(</span><span class="k">group</span><span class="o">=</span><span 
class="p">[</span><span class="err">{</span><span class="mi">3</span><span 
class="p">,</span> <span class="mi">4</span><span class="err">}</span><span 
class="p">],</span> <span class="k">C</span><span class="o">=</span><span 
class="p">[</span><span class="err">$</span><span class="n">SUM0</span><span 
class="p">(</span><span class="err">$</ [...]
 <span class="o">|</span>     <span class="n">EnumerableTableScan</span><span 
class="p">(</span><span class="k">table</span><span class="o">=</span><span 
class="p">[[</span><span class="n">adhoc</span><span class="p">,</span> <span 
class="n">m</span><span class="err">{</span><span class="mi">16</span><span 
class="p">,</span> <span class="mi">17</span><span class="p">,</span> <span 
class="mi">27</span><span class="p">,</span> <span class="mi">31</span><span 
class="p">,</span> <span class=" [...]
@@ -287,11 +282,9 @@ tiles created at the start of the connection.</p>
 so is a more efficient way to answer the query:</p>
 
 <figure class="highlight"><pre><code class="language-sql" 
data-lang="sql"><span class="n">sqlline</span><span class="o">&gt;</span> <span 
class="o">!</span><span class="k">describe</span> <span 
class="nv">"adhoc"</span><span class="p">.</span><span class="nv">"m{16, 17, 
27, 31, 32, 36, 37}"</span>
-<span class="o">+</span><span 
class="c1">-------------+-------------------------------+--------------------+-----------+-----------------+
-</span>
+<span class="o">+</span><span 
class="c1">-------------+-------------------------------+--------------------+-----------+-----------------+</span>
 <span class="o">|</span> <span class="n">TABLE_SCHEM</span> <span 
class="o">|</span> <span class="k">TABLE_NAME</span>                    <span 
class="o">|</span> <span class="k">COLUMN_NAME</span>        <span 
class="o">|</span> <span class="n">DATA_TYPE</span> <span class="o">|</span> 
<span class="n">TYPE_NAME</span>       <span class="o">|</span>
-<span class="o">+</span><span 
class="c1">-------------+-------------------------------+--------------------+-----------+-----------------+
-</span>
+<span class="o">+</span><span 
class="c1">-------------+-------------------------------+--------------------+-----------+-----------------+</span>
 <span class="o">|</span> <span class="n">adhoc</span>       <span 
class="o">|</span> <span class="n">m</span><span class="err">{</span><span 
class="mi">16</span><span class="p">,</span> <span class="mi">17</span><span 
class="p">,</span> <span class="mi">27</span><span class="p">,</span> <span 
class="mi">31</span><span class="p">,</span> <span class="mi">32</span><span 
class="p">,</span> <span class="mi">36</span><span class="p">,</span> <span 
class="mi">37</span><span class="err">}</span [...]
 <span class="o">|</span> <span class="n">adhoc</span>       <span 
class="o">|</span> <span class="n">m</span><span class="err">{</span><span 
class="mi">16</span><span class="p">,</span> <span class="mi">17</span><span 
class="p">,</span> <span class="mi">27</span><span class="p">,</span> <span 
class="mi">31</span><span class="p">,</span> <span class="mi">32</span><span 
class="p">,</span> <span class="mi">36</span><span class="p">,</span> <span 
class="mi">37</span><span class="err">}</span [...]
 <span class="o">|</span> <span class="n">adhoc</span>       <span 
class="o">|</span> <span class="n">m</span><span class="err">{</span><span 
class="mi">16</span><span class="p">,</span> <span class="mi">17</span><span 
class="p">,</span> <span class="mi">27</span><span class="p">,</span> <span 
class="mi">31</span><span class="p">,</span> <span class="mi">32</span><span 
class="p">,</span> <span class="mi">36</span><span class="p">,</span> <span 
class="mi">37</span><span class="err">}</span [...]
@@ -300,19 +293,15 @@ so is a more efficient way to answer the query:</p>
 <span class="o">|</span> <span class="n">adhoc</span>       <span 
class="o">|</span> <span class="n">m</span><span class="err">{</span><span 
class="mi">16</span><span class="p">,</span> <span class="mi">17</span><span 
class="p">,</span> <span class="mi">27</span><span class="p">,</span> <span 
class="mi">31</span><span class="p">,</span> <span class="mi">32</span><span 
class="p">,</span> <span class="mi">36</span><span class="p">,</span> <span 
class="mi">37</span><span class="err">}</span [...]
 <span class="o">|</span> <span class="n">adhoc</span>       <span 
class="o">|</span> <span class="n">m</span><span class="err">{</span><span 
class="mi">16</span><span class="p">,</span> <span class="mi">17</span><span 
class="p">,</span> <span class="mi">27</span><span class="p">,</span> <span 
class="mi">31</span><span class="p">,</span> <span class="mi">32</span><span 
class="p">,</span> <span class="mi">36</span><span class="p">,</span> <span 
class="mi">37</span><span class="err">}</span [...]
 <span class="o">|</span> <span class="n">adhoc</span>       <span 
class="o">|</span> <span class="n">m</span><span class="err">{</span><span 
class="mi">16</span><span class="p">,</span> <span class="mi">17</span><span 
class="p">,</span> <span class="mi">27</span><span class="p">,</span> <span 
class="mi">31</span><span class="p">,</span> <span class="mi">32</span><span 
class="p">,</span> <span class="mi">36</span><span class="p">,</span> <span 
class="mi">37</span><span class="err">}</span [...]
-<span class="o">+</span><span 
class="c1">-------------+-------------------------------+--------------------+-----------+-----------------+
-</span>
+<span class="o">+</span><span 
class="c1">-------------+-------------------------------+--------------------+-----------+-----------------+</span>
 
 <span class="n">sqlline</span><span class="o">&gt;</span> <span 
class="k">select</span> <span class="k">count</span><span 
class="p">(</span><span class="o">*</span><span class="p">)</span> <span 
class="k">as</span> <span class="k">c</span>
 <span class="p">.</span> <span class="p">.</span> <span class="p">.</span> 
<span class="p">.</span><span class="o">&gt;</span> <span class="k">from</span> 
<span class="nv">"adhoc"</span><span class="p">.</span><span class="nv">"m{16, 
17, 27, 31, 32, 36, 37}"</span><span class="p">;</span>
-<span class="o">+</span><span class="c1">-----+
-</span>
+<span class="o">+</span><span class="c1">-----+</span>
 <span class="o">|</span>   <span class="k">C</span> <span class="o">|</span>
-<span class="o">+</span><span class="c1">-----+
-</span>
+<span class="o">+</span><span class="c1">-----+</span>
 <span class="o">|</span> <span class="mi">120</span> <span class="o">|</span>
-<span class="o">+</span><span class="c1">-----+
-</span>
+<span class="o">+</span><span class="c1">-----+</span>
 <span class="mi">1</span> <span class="k">row</span> <span 
class="n">selected</span> <span class="p">(</span><span 
class="mi">0</span><span class="p">.</span><span class="mi">12</span> <span 
class="n">seconds</span><span class="p">)</span></code></pre></figure>
 
 <p>Let’s list the tables, and you will see several more tiles. There are also
@@ -320,11 +309,9 @@ tables of the <code 
class="highlighter-rouge">foodmart</code> schema, and the sy
 and the lattice itself, which appears as a table called <code 
class="highlighter-rouge">star</code>.</p>
 
 <figure class="highlight"><pre><code class="language-sql" 
data-lang="sql"><span class="n">sqlline</span><span class="o">&gt;</span> <span 
class="o">!</span><span class="n">tables</span>
-<span class="o">+</span><span 
class="c1">-------------+-------------------------------+--------------+
-</span>
+<span class="o">+</span><span 
class="c1">-------------+-------------------------------+--------------+</span>
 <span class="o">|</span> <span class="n">TABLE_SCHEM</span> <span 
class="o">|</span> <span class="k">TABLE_NAME</span>                    <span 
class="o">|</span> <span class="n">TABLE_TYPE</span>   <span class="o">|</span>
-<span class="o">+</span><span 
class="c1">-------------+-------------------------------+--------------+
-</span>
+<span class="o">+</span><span 
class="c1">-------------+-------------------------------+--------------+</span>
 <span class="o">|</span> <span class="n">adhoc</span>       <span 
class="o">|</span> <span class="n">m</span><span class="err">{</span><span 
class="mi">16</span><span class="p">,</span> <span class="mi">17</span><span 
class="p">,</span> <span class="mi">18</span><span class="p">,</span> <span 
class="mi">32</span><span class="p">,</span> <span class="mi">37</span><span 
class="err">}</span>         <span class="o">|</span> <span 
class="k">TABLE</span>        <span class="o">|</span>
 <span class="o">|</span> <span class="n">adhoc</span>       <span 
class="o">|</span> <span class="n">m</span><span class="err">{</span><span 
class="mi">16</span><span class="p">,</span> <span class="mi">17</span><span 
class="p">,</span> <span class="mi">19</span><span class="p">,</span> <span 
class="mi">27</span><span class="p">,</span> <span class="mi">32</span><span 
class="p">,</span> <span class="mi">36</span><span class="p">,</span> <span 
class="mi">37</span><span class="err">}</span [...]
 <span class="o">|</span> <span class="n">adhoc</span>       <span 
class="o">|</span> <span class="n">m</span><span class="err">{</span><span 
class="mi">4</span><span class="p">,</span> <span class="mi">7</span><span 
class="p">,</span> <span class="mi">16</span><span class="p">,</span> <span 
class="mi">27</span><span class="p">,</span> <span class="mi">32</span><span 
class="p">,</span> <span class="mi">37</span><span class="err">}</span>       
<span class="o">|</span> <span class="k">TABL [...]
@@ -420,7 +407,6 @@ data is changed.</li>
     In <i>Proc. ACM SIGMOD Conf.</i>, Montreal, 1996.</li>
 </ul>
 
-
           
 
 
@@ -724,7 +710,7 @@ data is changed.</li>
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>
diff --git a/docs/materialized_views.html b/docs/materialized_views.html
index 06a2439..194de56 100644
--- a/docs/materialized_views.html
+++ b/docs/materialized_views.html
@@ -732,7 +732,7 @@ GROUP BY empid, deptname
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>
diff --git a/docs/model.html b/docs/model.html
index dedaf62..abff380 100644
--- a/docs/model.html
+++ b/docs/model.html
@@ -1080,7 +1080,7 @@ when you want to pass the column as a measure 
argument.</p>
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>
diff --git a/docs/os_adapter.html b/docs/os_adapter.html
index 7bfba61..e6c3017 100644
--- a/docs/os_adapter.html
+++ b/docs/os_adapter.html
@@ -635,7 +635,7 @@ into <a 
href="https://github.com/julianhyde/sqlline";>sqlline</a></li>
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>
diff --git a/docs/pig_adapter.html b/docs/pig_adapter.html
index 8045f66..be8b01f 100644
--- a/docs/pig_adapter.html
+++ b/docs/pig_adapter.html
@@ -459,7 +459,7 @@ So, Piglet is basically the opposite of the Pig adapter.</p>
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>
diff --git a/docs/powered_by.html b/docs/powered_by.html
index 6fa0bf9..81f7a2b 100644
--- a/docs/powered_by.html
+++ b/docs/powered_by.html
@@ -543,7 +543,7 @@ graph database.</p>
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>
diff --git a/docs/reference.html b/docs/reference.html
index 22061c5..65d2969 100644
--- a/docs/reference.html
+++ b/docs/reference.html
@@ -5173,7 +5173,7 @@ and <em>filePathLiteral</em> are character literals.</p>
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>
diff --git a/docs/spatial.html b/docs/spatial.html
index c5162d3..90809e2 100644
--- a/docs/spatial.html
+++ b/docs/spatial.html
@@ -436,7 +436,7 @@ when the specification wasn’t clear. Thank you to these 
awesome projects.</p>
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>
diff --git a/docs/stream.html b/docs/stream.html
index 057ac41..e517b9f 100644
--- a/docs/stream.html
+++ b/docs/stream.html
@@ -1373,7 +1373,7 @@ MillWheel: Fault-Tolerant Stream Processing at Internet 
Scale</a>.</li>
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>
diff --git a/docs/tutorial.html b/docs/tutorial.html
index 0bf2996..f4ac934 100644
--- a/docs/tutorial.html
+++ b/docs/tutorial.html
@@ -114,12 +114,11 @@ to relational operators using planner rules.</li>
 
 <h2 id="download-and-build">Download and build</h2>
 
-<p>You need Java (version 8, 9 or 10) and git.</p>
+<p>You need Java (version 8, 9 or 10) and Git.</p>
 
 <figure class="highlight"><pre><code class="language-bash" 
data-lang="bash"><span class="nv">$ </span>git clone 
https://github.com/apache/calcite.git
-<span class="nv">$ </span><span class="nb">cd </span>calcite
-<span class="nv">$ </span>./mvnw install <span class="nt">-DskipTests</span> 
<span class="nt">-Dcheckstyle</span>.skip<span class="o">=</span><span 
class="nb">true</span>
-<span class="nv">$ </span><span class="nb">cd 
</span>example/csv</code></pre></figure>
+<span class="nv">$ </span><span class="nb">cd </span>calcite/example/csv
+<span class="nv">$ </span>./sqlline</code></pre></figure>
 
 <h2 id="first-queries">First queries</h2>
 
@@ -128,7 +127,7 @@ to relational operators using planner rules.</li>
 that is included in this project.</p>
 
 <figure class="highlight"><pre><code class="language-bash" 
data-lang="bash"><span class="nv">$ </span>./sqlline
-sqlline&gt; <span class="o">!</span>connect jdbc:calcite:model<span 
class="o">=</span>target/test-classes/model.json admin 
admin</code></pre></figure>
+sqlline&gt; <span class="o">!</span>connect jdbc:calcite:model<span 
class="o">=</span>src/test/resources/model.json admin 
admin</code></pre></figure>
 
 <p>(If you are running Windows, the command is <code 
class="highlighter-rouge">sqlline.bat</code>.)</p>
 
@@ -158,7 +157,7 @@ system tables are always present in Calcite, but the other 
tables are
 provided by the specific implementation of the schema; in this case,
 the <code>EMPS</code> and <code>DEPTS</code> tables are based on the
 <code>EMPS.csv</code> and <code>DEPTS.csv</code> files in the
-<code>target/test-classes</code> directory.</p>
+<code>resources/sales</code> directory.</p>
 
 <p>Let’s execute some queries on those tables, to show that Calcite is 
providing
 a full implementation of SQL. First, a table scan:</p>
@@ -227,7 +226,7 @@ format. Here is the model:</p>
       </span><span class="err">type</span><span class="p">:</span><span 
class="w"> </span><span class="err">'custom'</span><span 
class="p">,</span><span class="w">
       </span><span class="err">factory</span><span class="p">:</span><span 
class="w"> </span><span 
class="err">'org.apache.calcite.adapter.csv.CsvSchemaFactory'</span><span 
class="p">,</span><span class="w">
       </span><span class="err">operand</span><span class="p">:</span><span 
class="w"> </span><span class="p">{</span><span class="w">
-        </span><span class="err">directory</span><span class="p">:</span><span 
class="w"> </span><span class="err">'target/test-classes/sales'</span><span 
class="w">
+        </span><span class="err">directory</span><span class="p">:</span><span 
class="w"> </span><span class="err">'sales'</span><span class="w">
       </span><span class="p">}</span><span class="w">
     </span><span class="p">}</span><span class="w">
   </span><span class="p">]</span><span class="w">
@@ -276,10 +275,8 @@ and its sub-classes.</p>
 method in the <code>AbstractSchema</code> base class.</p>
 
 <figure class="highlight"><pre><code class="language-java" 
data-lang="java"><span class="kd">protected</span> <span 
class="n">Map</span><span class="o">&lt;</span><span 
class="n">String</span><span class="o">,</span> <span 
class="n">Table</span><span class="o">&gt;</span> <span 
class="nf">getTableMap</span><span class="o">()</span> <span class="o">{</span>
-  <span class="c1">// Look for files in the directory ending in ".csv", 
".csv.gz", ".json",
-</span>
-  <span class="c1">// ".json.gz".
-</span>
+  <span class="c1">// Look for files in the directory ending in ".csv", 
".csv.gz", ".json",</span>
+  <span class="c1">// ".json.gz".</span>
   <span class="n">File</span><span class="o">[]</span> <span 
class="n">files</span> <span class="o">=</span> <span 
class="n">directoryFile</span><span class="o">.</span><span 
class="na">listFiles</span><span class="o">(</span>
       <span class="k">new</span> <span class="nf">FilenameFilter</span><span 
class="o">()</span> <span class="o">{</span>
         <span class="kd">public</span> <span class="kt">boolean</span> <span 
class="nf">accept</span><span class="o">(</span><span class="n">File</span> 
<span class="n">dir</span><span class="o">,</span> <span 
class="n">String</span> <span class="n">name</span><span class="o">)</span> 
<span class="o">{</span>
@@ -292,8 +289,7 @@ method in the <code>AbstractSchema</code> base class.</p>
     <span class="n">System</span><span class="o">.</span><span 
class="na">out</span><span class="o">.</span><span 
class="na">println</span><span class="o">(</span><span class="s">"directory 
"</span> <span class="o">+</span> <span class="n">directoryFile</span> <span 
class="o">+</span> <span class="s">" not found"</span><span class="o">);</span>
     <span class="n">files</span> <span class="o">=</span> <span 
class="k">new</span> <span class="n">File</span><span class="o">[</span><span 
class="mi">0</span><span class="o">];</span>
   <span class="o">}</span>
-  <span class="c1">// Build a map from table name to table; each file becomes 
a table.
-</span>
+  <span class="c1">// Build a map from table name to table; each file becomes 
a table.</span>
   <span class="kd">final</span> <span class="n">ImmutableMap</span><span 
class="o">.</span><span class="na">Builder</span><span 
class="o">&lt;</span><span class="n">String</span><span class="o">,</span> 
<span class="n">Table</span><span class="o">&gt;</span> <span 
class="n">builder</span> <span class="o">=</span> <span 
class="n">ImmutableMap</span><span class="o">.</span><span 
class="na">builder</span><span class="o">();</span>
   <span class="k">for</span> <span class="o">(</span><span 
class="n">File</span> <span class="n">file</span> <span class="o">:</span> 
<span class="n">files</span><span class="o">)</span> <span class="o">{</span>
     <span class="n">String</span> <span class="n">tableName</span> <span 
class="o">=</span> <span class="n">trim</span><span class="o">(</span><span 
class="n">file</span><span class="o">.</span><span 
class="na">getName</span><span class="o">(),</span> <span 
class="s">".gz"</span><span class="o">);</span>
@@ -326,7 +322,7 @@ method in the <code>AbstractSchema</code> base class.</p>
 
 <p>The schema scans the directory and finds all files whose name ends
 with “.csv” and creates tables for them. In this case, the directory
-is <code>target/test-classes/sales</code> and contains files
+is <code>sales</code> and contains files
 <code>EMPS.csv</code> and <code>DEPTS.csv</code>, which these become
 the tables <code>EMPS</code> and <code>DEPTS</code>.</p>
 
@@ -359,7 +355,7 @@ clause that are not used in the final result.</p>
       </span><span class="err">type</span><span class="p">:</span><span 
class="w"> </span><span class="err">'custom'</span><span 
class="p">,</span><span class="w">
       </span><span class="err">factory</span><span class="p">:</span><span 
class="w"> </span><span 
class="err">'org.apache.calcite.adapter.csv.CsvSchemaFactory'</span><span 
class="p">,</span><span class="w">
       </span><span class="err">operand</span><span class="p">:</span><span 
class="w"> </span><span class="p">{</span><span class="w">
-        </span><span class="err">directory</span><span class="p">:</span><span 
class="w"> </span><span class="err">'target/test-classes/sales'</span><span 
class="w">
+        </span><span class="err">directory</span><span class="p">:</span><span 
class="w"> </span><span class="err">'sales'</span><span class="w">
       </span><span class="p">},</span><span class="w">
       </span><span class="err">tables</span><span class="p">:</span><span 
class="w"> </span><span class="p">[</span><span class="w">
         </span><span class="p">{</span><span class="w">
@@ -393,11 +389,9 @@ supply a list of lines rather than a single string:</p>
 <p>Now we have defined a view, we can use it in queries just as if it were a 
table:</p>
 
 <figure class="highlight"><pre><code class="language-sql" 
data-lang="sql"><span class="n">sqlline</span><span class="o">&gt;</span> <span 
class="k">SELECT</span> <span class="n">e</span><span class="p">.</span><span 
class="n">name</span><span class="p">,</span> <span class="n">d</span><span 
class="p">.</span><span class="n">name</span> <span class="k">FROM</span> <span 
class="n">female_emps</span> <span class="k">AS</span> <span class="n">e</span> 
<span class="k">JOIN</span> <span class= [...]
-<span class="o">+</span><span class="c1">--------+------------+
-</span>
+<span class="o">+</span><span class="c1">--------+------------+</span>
 <span class="o">|</span>  <span class="n">NAME</span>  <span 
class="o">|</span>    <span class="n">NAME</span>    <span class="o">|</span>
-<span class="o">+</span><span class="c1">--------+------------+
-</span>
+<span class="o">+</span><span class="c1">--------+------------+</span>
 <span class="o">|</span> <span class="n">Wilma</span>  <span 
class="o">|</span> <span class="n">Marketing</span>  <span class="o">|</span>
 <span class="o">+</span><span 
class="c1">--------+------------+</span></code></pre></figure>
 
@@ -420,7 +414,7 @@ They don’t need to live in a custom schema.</p>
           </span><span class="err">type</span><span class="p">:</span><span 
class="w"> </span><span class="err">'custom'</span><span 
class="p">,</span><span class="w">
           </span><span class="err">factory</span><span class="p">:</span><span 
class="w"> </span><span 
class="err">'org.apache.calcite.adapter.csv.CsvTableFactory'</span><span 
class="p">,</span><span class="w">
           </span><span class="err">operand</span><span class="p">:</span><span 
class="w"> </span><span class="p">{</span><span class="w">
-            </span><span class="err">file</span><span class="p">:</span><span 
class="w"> </span><span 
class="err">'target/test-classes/sales/EMPS.csv.gz'</span><span 
class="p">,</span><span class="w">
+            </span><span class="err">file</span><span class="p">:</span><span 
class="w"> </span><span class="err">'sales/EMPS.csv.gz'</span><span 
class="p">,</span><span class="w">
             </span><span class="err">flavor</span><span 
class="p">:</span><span class="w"> </span><span 
class="s2">"scannable"</span><span class="w">
           </span><span class="p">}</span><span class="w">
         </span><span class="p">}</span><span class="w">
@@ -431,13 +425,11 @@ They don’t need to live in a custom schema.</p>
 
 <p>We can query the table in the usual way:</p>
 
-<figure class="highlight"><pre><code class="language-sql" 
data-lang="sql"><span class="n">sqlline</span><span class="o">&gt;</span> <span 
class="o">!</span><span class="k">connect</span> <span 
class="n">jdbc</span><span class="p">:</span><span 
class="n">calcite</span><span class="p">:</span><span 
class="n">model</span><span class="o">=</span><span 
class="n">target</span><span class="o">/</span><span class="n">test</span><span 
class="o">-</span><span class="n">classes</span><span class="o [...]
+<figure class="highlight"><pre><code class="language-sql" 
data-lang="sql"><span class="n">sqlline</span><span class="o">&gt;</span> <span 
class="o">!</span><span class="k">connect</span> <span 
class="n">jdbc</span><span class="p">:</span><span 
class="n">calcite</span><span class="p">:</span><span 
class="n">model</span><span class="o">=</span><span class="n">src</span><span 
class="o">/</span><span class="n">test</span><span class="o">/</span><span 
class="n">resources</span><span class="o" [...]
 <span class="n">sqlline</span><span class="o">&gt;</span> <span 
class="k">SELECT</span> <span class="n">empno</span><span class="p">,</span> 
<span class="n">name</span> <span class="k">FROM</span> <span 
class="n">custom_table</span><span class="p">.</span><span 
class="n">emps</span><span class="p">;</span>
-<span class="o">+</span><span class="c1">--------+--------+
-</span>
+<span class="o">+</span><span class="c1">--------+--------+</span>
 <span class="o">|</span> <span class="n">EMPNO</span>  <span 
class="o">|</span>  <span class="n">NAME</span>  <span class="o">|</span>
-<span class="o">+</span><span class="c1">--------+--------+
-</span>
+<span class="o">+</span><span class="c1">--------+--------+</span>
 <span class="o">|</span> <span class="mi">100</span>    <span 
class="o">|</span> <span class="n">Fred</span>   <span class="o">|</span>
 <span class="o">|</span> <span class="mi">110</span>    <span 
class="o">|</span> <span class="n">Eric</span>   <span class="o">|</span>
 <span class="o">|</span> <span class="mi">110</span>    <span 
class="o">|</span> <span class="n">John</span>   <span class="o">|</span>
@@ -511,24 +503,19 @@ schema, and then you define some rules to make the access 
efficient.</p>
 a subset of columns from a CSV file. Let’s run the same query against two very
 similar schemas:</p>
 
-<figure class="highlight"><pre><code class="language-sql" 
data-lang="sql"><span class="n">sqlline</span><span class="o">&gt;</span> <span 
class="o">!</span><span class="k">connect</span> <span 
class="n">jdbc</span><span class="p">:</span><span 
class="n">calcite</span><span class="p">:</span><span 
class="n">model</span><span class="o">=</span><span 
class="n">target</span><span class="o">/</span><span class="n">test</span><span 
class="o">-</span><span class="n">classes</span><span class="o [...]
+<figure class="highlight"><pre><code class="language-sql" 
data-lang="sql"><span class="n">sqlline</span><span class="o">&gt;</span> <span 
class="o">!</span><span class="k">connect</span> <span 
class="n">jdbc</span><span class="p">:</span><span 
class="n">calcite</span><span class="p">:</span><span 
class="n">model</span><span class="o">=</span><span class="n">src</span><span 
class="o">/</span><span class="n">test</span><span class="o">/</span><span 
class="n">resources</span><span class="o" [...]
 <span class="n">sqlline</span><span class="o">&gt;</span> <span 
class="k">explain</span> <span class="n">plan</span> <span class="k">for</span> 
<span class="k">select</span> <span class="n">name</span> <span 
class="k">from</span> <span class="n">emps</span><span class="p">;</span>
-<span class="o">+</span><span 
class="c1">-----------------------------------------------------+
-</span>
+<span class="o">+</span><span 
class="c1">-----------------------------------------------------+</span>
 <span class="o">|</span> <span class="n">PLAN</span>                           
                     <span class="o">|</span>
-<span class="o">+</span><span 
class="c1">-----------------------------------------------------+
-</span>
+<span class="o">+</span><span 
class="c1">-----------------------------------------------------+</span>
 <span class="o">|</span> <span class="n">EnumerableCalcRel</span><span 
class="p">(</span><span class="n">expr</span><span class="o">#</span><span 
class="mi">0</span><span class="p">..</span><span class="mi">9</span><span 
class="o">=</span><span class="p">[</span><span class="err">{</span><span 
class="n">inputs</span><span class="err">}</span><span class="p">],</span> 
<span class="n">NAME</span><span class="o">=</span><span 
class="p">[</span><span class="err">$</span><span class="n">t1</s [...]
 <span class="o">|</span>   <span class="n">EnumerableTableScan</span><span 
class="p">(</span><span class="k">table</span><span class="o">=</span><span 
class="p">[[</span><span class="n">SALES</span><span class="p">,</span> <span 
class="n">EMPS</span><span class="p">]])</span>        <span class="o">|</span>
-<span class="o">+</span><span 
class="c1">-----------------------------------------------------+
-</span>
-<span class="n">sqlline</span><span class="o">&gt;</span> <span 
class="o">!</span><span class="k">connect</span> <span 
class="n">jdbc</span><span class="p">:</span><span 
class="n">calcite</span><span class="p">:</span><span 
class="n">model</span><span class="o">=</span><span 
class="n">target</span><span class="o">/</span><span class="n">test</span><span 
class="o">-</span><span class="n">classes</span><span class="o">/</span><span 
class="n">smart</span><span class="p">.</span><span class= [...]
+<span class="o">+</span><span 
class="c1">-----------------------------------------------------+</span>
+<span class="n">sqlline</span><span class="o">&gt;</span> <span 
class="o">!</span><span class="k">connect</span> <span 
class="n">jdbc</span><span class="p">:</span><span 
class="n">calcite</span><span class="p">:</span><span 
class="n">model</span><span class="o">=</span><span class="n">src</span><span 
class="o">/</span><span class="n">test</span><span class="o">/</span><span 
class="n">resources</span><span class="o">/</span><span 
class="n">smart</span><span class="p">.</span><span class=" [...]
 <span class="n">sqlline</span><span class="o">&gt;</span> <span 
class="k">explain</span> <span class="n">plan</span> <span class="k">for</span> 
<span class="k">select</span> <span class="n">name</span> <span 
class="k">from</span> <span class="n">emps</span><span class="p">;</span>
-<span class="o">+</span><span 
class="c1">-----------------------------------------------------+
-</span>
+<span class="o">+</span><span 
class="c1">-----------------------------------------------------+</span>
 <span class="o">|</span> <span class="n">PLAN</span>                           
                     <span class="o">|</span>
-<span class="o">+</span><span 
class="c1">-----------------------------------------------------+
-</span>
+<span class="o">+</span><span 
class="c1">-----------------------------------------------------+</span>
 <span class="o">|</span> <span class="n">EnumerableCalcRel</span><span 
class="p">(</span><span class="n">expr</span><span class="o">#</span><span 
class="mi">0</span><span class="p">..</span><span class="mi">9</span><span 
class="o">=</span><span class="p">[</span><span class="err">{</span><span 
class="n">inputs</span><span class="err">}</span><span class="p">],</span> 
<span class="n">NAME</span><span class="o">=</span><span 
class="p">[</span><span class="err">$</span><span class="n">t1</s [...]
 <span class="o">|</span>   <span class="n">CsvTableScan</span><span 
class="p">(</span><span class="k">table</span><span class="o">=</span><span 
class="p">[[</span><span class="n">SALES</span><span class="p">,</span> <span 
class="n">EMPS</span><span class="p">]])</span>               <span 
class="o">|</span>
 <span class="o">+</span><span 
class="c1">-----------------------------------------------------+</span></code></pre></figure>
@@ -572,8 +559,7 @@ but we have created a distinctive sub-type that will cause 
rules to fire.</p>
     <span class="kd">final</span> <span class="n">CsvTableScan</span> <span 
class="n">scan</span> <span class="o">=</span> <span class="n">call</span><span 
class="o">.</span><span class="na">rel</span><span class="o">(</span><span 
class="mi">1</span><span class="o">);</span>
     <span class="kt">int</span><span class="o">[]</span> <span 
class="n">fields</span> <span class="o">=</span> <span 
class="n">getProjectFields</span><span class="o">(</span><span 
class="n">project</span><span class="o">.</span><span 
class="na">getProjects</span><span class="o">());</span>
     <span class="k">if</span> <span class="o">(</span><span 
class="n">fields</span> <span class="o">==</span> <span 
class="kc">null</span><span class="o">)</span> <span class="o">{</span>
-      <span class="c1">// Project contains expressions more complex than just 
field references.
-</span>
+      <span class="c1">// Project contains expressions more complex than just 
field references.</span>
       <span class="k">return</span><span class="o">;</span>
     <span class="o">}</span>
     <span class="n">call</span><span class="o">.</span><span 
class="na">transformTo</span><span class="o">(</span>
@@ -591,8 +577,7 @@ but we have created a distinctive sub-type that will cause 
rules to fire.</p>
       <span class="k">if</span> <span class="o">(</span><span 
class="n">exp</span> <span class="k">instanceof</span> <span 
class="n">RexInputRef</span><span class="o">)</span> <span class="o">{</span>
         <span class="n">fields</span><span class="o">[</span><span 
class="n">i</span><span class="o">]</span> <span class="o">=</span> <span 
class="o">((</span><span class="n">RexInputRef</span><span class="o">)</span> 
<span class="n">exp</span><span class="o">).</span><span 
class="na">getIndex</span><span class="o">();</span>
       <span class="o">}</span> <span class="k">else</span> <span 
class="o">{</span>
-        <span class="k">return</span> <span class="kc">null</span><span 
class="o">;</span> <span class="c1">// not a simple projection
-</span>
+        <span class="k">return</span> <span class="kc">null</span><span 
class="o">;</span> <span class="c1">// not a simple projection</span>
       <span class="o">}</span>
     <span class="o">}</span>
     <span class="k">return</span> <span class="n">fields</span><span 
class="o">;</span>
@@ -752,7 +737,6 @@ initial implementations.</p>
 <p>There are many other ways to extend Calcite not yet described in this 
tutorial.
 The <a href="adapter.html">adapter specification</a> describes the APIs 
involved.</p>
 
-
           
 
 
@@ -1038,7 +1022,7 @@ The <a href="adapter.html">adapter specification</a> 
describes the APIs involved
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>
diff --git a/downloads/index.html b/downloads/index.html
index 79c60b1..e30337e 100644
--- a/downloads/index.html
+++ b/downloads/index.html
@@ -312,7 +312,7 @@ forth.</p>
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>
diff --git a/index.html b/index.html
index 3470db6..496c87d 100644
--- a/index.html
+++ b/index.html
@@ -146,7 +146,7 @@
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>
diff --git a/news/2014/06/27/release-0.8.0-incubating/index.html 
b/news/2014/06/27/release-0.8.0-incubating/index.html
index e8f4ed9..cf2be46 100644
--- a/news/2014/06/27/release-0.8.0-incubating/index.html
+++ b/news/2014/06/27/release-0.8.0-incubating/index.html
@@ -236,7 +236,7 @@ new utility, <code 
class="highlighter-rouge">SqlRun</code>.</p>
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>
diff --git a/news/2014/08/19/release-0.9.0-incubating/index.html 
b/news/2014/08/19/release-0.9.0-incubating/index.html
index 742e837..d8a59ef 100644
--- a/news/2014/08/19/release-0.9.0-incubating/index.html
+++ b/news/2014/08/19/release-0.9.0-incubating/index.html
@@ -234,7 +234,7 @@
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>
diff --git a/news/2014/10/02/release-0.9.1-incubating/index.html 
b/news/2014/10/02/release-0.9.1-incubating/index.html
index 6b6c8c0..7d05137 100644
--- a/news/2014/10/02/release-0.9.1-incubating/index.html
+++ b/news/2014/10/02/release-0.9.1-incubating/index.html
@@ -234,7 +234,7 @@
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>
diff --git a/news/2014/11/05/release-0.9.2-incubating/index.html 
b/news/2014/11/05/release-0.9.2-incubating/index.html
index 7536627..a4fcd82 100644
--- a/news/2014/11/05/release-0.9.2-incubating/index.html
+++ b/news/2014/11/05/release-0.9.2-incubating/index.html
@@ -237,7 +237,7 @@ before you move on to 1.0.</p>
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>
diff --git a/news/2015/01/31/release-1.0.0-incubating/index.html 
b/news/2015/01/31/release-1.0.0-incubating/index.html
index 2d47770..1201756 100644
--- a/news/2015/01/31/release-1.0.0-incubating/index.html
+++ b/news/2015/01/31/release-1.0.0-incubating/index.html
@@ -247,7 +247,7 @@ and fixes about 30 bugs.</p>
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>
diff --git a/news/2015/03/13/release-1.1.0-incubating/index.html 
b/news/2015/03/13/release-1.1.0-incubating/index.html
index d14f7f5..dea1701 100644
--- a/news/2015/03/13/release-1.1.0-incubating/index.html
+++ b/news/2015/03/13/release-1.1.0-incubating/index.html
@@ -246,7 +246,7 @@ calling constructors directly.</p>
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>
diff --git a/news/2015/04/07/release-1.2.0-incubating/index.html 
b/news/2015/04/07/release-1.2.0-incubating/index.html
index 64e067f..58c64cd 100644
--- a/news/2015/04/07/release-1.2.0-incubating/index.html
+++ b/news/2015/04/07/release-1.2.0-incubating/index.html
@@ -246,7 +246,7 @@ improve implicit and explicit conversions in SQL.</p>
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>
diff --git a/news/2015/04/24/new-committers/index.html 
b/news/2015/04/24/new-committers/index.html
index fa307c5..ada3531 100644
--- a/news/2015/04/24/new-committers/index.html
+++ b/news/2015/04/24/new-committers/index.html
@@ -240,7 +240,7 @@ committers for their work on Calcite. Welcome all!</p>
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>
diff --git a/news/2015/05/30/release-1.3.0-incubating/index.html 
b/news/2015/05/30/release-1.3.0-incubating/index.html
index 6a5db32..7c630f6 100644
--- a/news/2015/05/30/release-1.3.0-incubating/index.html
+++ b/news/2015/05/30/release-1.3.0-incubating/index.html
@@ -238,7 +238,7 @@ and various improvements to Avatica.</p>
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>
diff --git a/news/2015/06/05/algebra-builder/index.html 
b/news/2015/06/05/algebra-builder/index.html
index fff4def..2f25afd 100644
--- a/news/2015/06/05/algebra-builder/index.html
+++ b/news/2015/06/05/algebra-builder/index.html
@@ -285,7 +285,7 @@ extensive set of query-optimization rules.</p>
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>
diff --git a/news/2015/07/31/xldb-best-lightning-talk/index.html 
b/news/2015/07/31/xldb-best-lightning-talk/index.html
index 7b1aa79..c640b97 100644
--- a/news/2015/07/31/xldb-best-lightning-talk/index.html
+++ b/news/2015/07/31/xldb-best-lightning-talk/index.html
@@ -245,7 +245,7 @@ and <a 
href="https://www.youtube.com/watch?v=5_MyORYjq3w";>video</a>.</p>
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>
diff --git a/news/2015/09/02/release-1.4.0-incubating/index.html 
b/news/2015/09/02/release-1.4.0-incubating/index.html
index 670d423..88c9d9b 100644
--- a/news/2015/09/02/release-1.4.0-incubating/index.html
+++ b/news/2015/09/02/release-1.4.0-incubating/index.html
@@ -244,7 +244,7 @@ so that you can easily create relational algebra 
expressions.</p>
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>
diff --git a/news/2015/10/22/calcite-graduates/index.html 
b/news/2015/10/22/calcite-graduates/index.html
index 129d643..c57cc16 100644
--- a/news/2015/10/22/calcite-graduates/index.html
+++ b/news/2015/10/22/calcite-graduates/index.html
@@ -266,7 +266,7 @@ celebrated with a graduation cake.</p>
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>
diff --git a/news/2015/11/08/new-committers/index.html 
b/news/2015/11/08/new-committers/index.html
index 61c9bfc..82e573b 100644
--- a/news/2015/11/08/new-committers/index.html
+++ b/news/2015/11/08/new-committers/index.html
@@ -237,7 +237,7 @@ committers for their work on Calcite. Welcome!</p>
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>
diff --git a/news/2015/11/10/release-1.5.0/index.html 
b/news/2015/11/10/release-1.5.0/index.html
index 2d8ce42..a06d930 100644
--- a/news/2015/11/10/release-1.5.0/index.html
+++ b/news/2015/11/10/release-1.5.0/index.html
@@ -238,7 +238,7 @@
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>
diff --git a/news/2016/01/22/release-1.6.0/index.html 
b/news/2016/01/22/release-1.6.0/index.html
index 4feb733..902b3b0 100644
--- a/news/2016/01/22/release-1.6.0/index.html
+++ b/news/2016/01/22/release-1.6.0/index.html
@@ -264,7 +264,7 @@ further tune the metadata layer.</p>
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>
diff --git a/news/2016/02/17/elser-pmc/index.html 
b/news/2016/02/17/elser-pmc/index.html
index b4d8600..8a13f27 100644
--- a/news/2016/02/17/elser-pmc/index.html
+++ b/news/2016/02/17/elser-pmc/index.html
@@ -237,7 +237,7 @@ not least in discussing <a 
href="https://mail-archives.apache.org/mod_mbox/calci
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>
diff --git a/news/2016/02/17/streaming-sql-talk/index.html 
b/news/2016/02/17/streaming-sql-talk/index.html
index a312d56..4d1a9da 100644
--- a/news/2016/02/17/streaming-sql-talk/index.html
+++ b/news/2016/02/17/streaming-sql-talk/index.html
@@ -246,7 +246,7 @@ and
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>
diff --git a/news/2016/03/22/cassandra-adapter/index.html 
b/news/2016/03/22/cassandra-adapter/index.html
index bf1e3a8..e992879 100644
--- a/news/2016/03/22/cassandra-adapter/index.html
+++ b/news/2016/03/22/cassandra-adapter/index.html
@@ -247,7 +247,7 @@ for CSV and JSON files, and JDBC data source, MongoDB, 
Spark and Splunk.</p>
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>
diff --git a/news/2016/03/22/release-1.7.0/index.html 
b/news/2016/03/22/release-1.7.0/index.html
index f97ec67..4df445b 100644
--- a/news/2016/03/22/release-1.7.0/index.html
+++ b/news/2016/03/22/release-1.7.0/index.html
@@ -269,7 +269,7 @@ to SLF4J’s <code class="highlighter-rouge">DEBUG</code> 
level, while <code cla
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>
diff --git a/news/2016/06/13/release-1.8.0/index.html 
b/news/2016/06/13/release-1.8.0/index.html
index 6ad20db..ee2e516 100644
--- a/news/2016/06/13/release-1.8.0/index.html
+++ b/news/2016/06/13/release-1.8.0/index.html
@@ -260,7 +260,7 @@ planner rules and APIs.</p>
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>
diff --git a/news/2016/09/22/release-1.9.0/index.html 
b/news/2016/09/22/release-1.9.0/index.html
index cf75c0e..746b135 100644
--- a/news/2016/09/22/release-1.9.0/index.html
+++ b/news/2016/09/22/release-1.9.0/index.html
@@ -258,7 +258,7 @@ changes to planner rules and APIs.</p>
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>
diff --git a/news/2016/10/12/release-1.10.0/index.html 
b/news/2016/10/12/release-1.10.0/index.html
index 9597969..488bfd3 100644
--- a/news/2016/10/12/release-1.10.0/index.html
+++ b/news/2016/10/12/release-1.10.0/index.html
@@ -241,7 +241,7 @@ prevented us from handling consistently time dimensions in 
different time zones.
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>
diff --git a/news/2017/01/09/release-1.11.0/index.html 
b/news/2017/01/09/release-1.11.0/index.html
index 2334a90..5ea06a9 100644
--- a/news/2017/01/09/release-1.11.0/index.html
+++ b/news/2017/01/09/release-1.11.0/index.html
@@ -279,7 +279,7 @@ See the cases for more details.</p>
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>
diff --git a/news/2017/03/24/release-1.12.0/index.html 
b/news/2017/03/24/release-1.12.0/index.html
index 868b678..1bb22bd 100644
--- a/news/2017/03/24/release-1.12.0/index.html
+++ b/news/2017/03/24/release-1.12.0/index.html
@@ -283,7 +283,7 @@ allows the corresponding time-unit arguments.</li>
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>
diff --git a/news/2017/03/31/new-avatica-repository/index.html 
b/news/2017/03/31/new-avatica-repository/index.html
index 368d977..4dcf8e3 100644
--- a/news/2017/03/31/new-avatica-repository/index.html
+++ b/news/2017/03/31/new-avatica-repository/index.html
@@ -242,7 +242,7 @@ with a mirrored-copy also available on Github at <a 
href="https://github.com/apa
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>
diff --git a/news/2017/06/26/release-1.13.0/index.html 
b/news/2017/06/26/release-1.13.0/index.html
index 7c4869d..465ebfb 100644
--- a/news/2017/06/26/release-1.13.0/index.html
+++ b/news/2017/06/26/release-1.13.0/index.html
@@ -259,7 +259,7 @@ e.g., <a 
href="https://issues.apache.org/jira/browse/CALCITE-1707";>using extract
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>
diff --git a/news/2017/10/02/release-1.14.0/index.html 
b/news/2017/10/02/release-1.14.0/index.html
index e86884d..a46dd1d 100644
--- a/news/2017/10/02/release-1.14.0/index.html
+++ b/news/2017/10/02/release-1.14.0/index.html
@@ -246,7 +246,7 @@ Several minor improvements are added as well including 
improved <code class="hig
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>
diff --git a/news/2017/12/11/release-1.15.0/index.html 
b/news/2017/12/11/release-1.15.0/index.html
index ca3a2c3..8f24824 100644
--- a/news/2017/12/11/release-1.15.0/index.html
+++ b/news/2017/12/11/release-1.15.0/index.html
@@ -265,7 +265,7 @@ release that will support JDK 7</a>.</p>
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>
diff --git a/news/2018/03/19/release-1.16.0/index.html 
b/news/2018/03/19/release-1.16.0/index.html
index f36200d..3715a4f 100644
--- a/news/2018/03/19/release-1.16.0/index.html
+++ b/news/2018/03/19/release-1.16.0/index.html
@@ -257,7 +257,7 @@ support for <a 
href="https://issues.apache.org/jira/browse/CALCITE-2191";>Guava v
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>
diff --git a/news/2018/07/20/release-1.17.0/index.html 
b/news/2018/07/20/release-1.17.0/index.html
index 04e11be..42aba26 100644
--- a/news/2018/07/20/release-1.17.0/index.html
+++ b/news/2018/07/20/release-1.17.0/index.html
@@ -247,7 +247,7 @@ that accepts all SQL dialects.</li>
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>
diff --git a/news/2018/12/21/release-1.18.0/index.html 
b/news/2018/12/21/release-1.18.0/index.html
index c2fb5ed..7c429c3 100644
--- a/news/2018/12/21/release-1.18.0/index.html
+++ b/news/2018/12/21/release-1.18.0/index.html
@@ -247,7 +247,7 @@ and the Elasticsearch and Apache Geode adapters.</p>
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>
diff --git a/news/2019/03/25/release-1.19.0/index.html 
b/news/2019/03/25/release-1.19.0/index.html
index 8126e79..7dc0034 100644
--- a/news/2019/03/25/release-1.19.0/index.html
+++ b/news/2019/03/25/release-1.19.0/index.html
@@ -138,7 +138,6 @@ is pleased to announce
 
 <p>This release comes three months after 1.18.0. It includes more than 80 
resolved issues, comprising of a few new features as well as general 
improvements and bug-fixes. Among others, there have been significant 
improvements in JSON query support.</p>
 
-
     
     <p>See the <a href="/docs/history.html#v1-19-0">release notes</a>;
       <a href="/downloads#source-releases">download</a> the release.</p>
@@ -239,7 +238,7 @@ is pleased to announce
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>
diff --git a/news/2019/06/24/release-1.20.0/index.html 
b/news/2019/06/24/release-1.20.0/index.html
index 85f14d5..a8a78cd 100644
--- a/news/2019/06/24/release-1.20.0/index.html
+++ b/news/2019/06/24/release-1.20.0/index.html
@@ -239,7 +239,7 @@ It includes support for anti-joins, recursive queries, new 
functions, a new adap
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>
diff --git a/news/2019/09/11/release-1.21.0/index.html 
b/news/2019/09/11/release-1.21.0/index.html
index bd21973..9575355 100644
--- a/news/2019/09/11/release-1.21.0/index.html
+++ b/news/2019/09/11/release-1.21.0/index.html
@@ -261,7 +261,7 @@ and bug-fixes.</p>
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>
diff --git a/news/index.html b/news/index.html
index 13e43f7..e5d437e 100644
--- a/news/index.html
+++ b/news/index.html
@@ -257,7 +257,6 @@ is pleased to announce
 
 <p>This release comes three months after 1.18.0. It includes more than 80 
resolved issues, comprising of a few new features as well as general 
improvements and bug-fixes. Among others, there have been significant 
improvements in JSON query support.</p>
 
-
     
     <p>See the <a href="/docs/history.html#v1-19-0">release notes</a>;
       <a href="/downloads#source-releases">download</a> the release.</p>
@@ -2213,7 +2212,7 @@ of the website.</p>
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>
diff --git a/news/releases/index.html b/news/releases/index.html
index 4eccee5..fbe6609 100644
--- a/news/releases/index.html
+++ b/news/releases/index.html
@@ -257,7 +257,6 @@ is pleased to announce
 
 <p>This release comes three months after 1.18.0. It includes more than 80 
resolved issues, comprising of a few new features as well as general 
improvements and bug-fixes. Among others, there have been significant 
improvements in JSON query support.</p>
 
-
     
     <p>See the <a href="/docs/history.html#v1-19-0">release notes</a>;
       <a href="/downloads#source-releases">download</a> the release.</p>
@@ -1696,7 +1695,7 @@ new utility, <code 
class="highlighter-rouge">SqlRun</code>.</p>
       <img src="/img/feather.png" width="190" height="77" alt="Apache 
Logo"></a>
   </div>
   <div id="copyright">
-  <p>The contents of this website are Copyright &copy;&nbsp;2019
+  <p>The contents of this website are Copyright &copy;&nbsp;2020
      <a href="https://www.apache.org/";>Apache Software Foundation</a>
      under the terms of
      the <a href="https://www.apache.org/licenses/";>

Reply via email to