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

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


The following commit(s) were added to refs/heads/main by this push:
     new 630647ff9 Website deployed from 
calcite@e2e77aaf172ce997b92a9e574b5fcf77a6dc297a
630647ff9 is described below

commit 630647ff9a4a4f79c2940e43628c25d92ee80169
Author: asolimando <[email protected]>
AuthorDate: Wed May 28 12:37:28 2025 +0000

    Website deployed from calcite@e2e77aaf172ce997b92a9e574b5fcf77a6dc297a
---
 docs/history.html | 266 ++++++++++++++++++++++++++++++++++++++++++++++++++++--
 docs/howto.html   |   5 +-
 2 files changed, 259 insertions(+), 12 deletions(-)

diff --git a/docs/history.html b/docs/history.html
index 6a16746b5..6fa5a0dc1 100644
--- a/docs/history.html
+++ b/docs/history.html
@@ -101,10 +101,10 @@ Downloads are available on the
 
 <!--
 
-## <a 
href="https://github.com/apache/calcite/releases/tag/calcite-1.40.0";>1.40.0</a> 
/ YYYY-MM-DD
-{: #v1-40-0}
+## <a 
href="https://github.com/apache/calcite/releases/tag/calcite-1.41.0";>1.41.0</a> 
/ YYYY-MM-DD
+{: #v1-41-0}
 
-This release comes x months after [1.39.0](#v1-39-0),
+This release comes x months after [1.40.0](#v1-40-0),
 contains contributions from x contributors, and resolves x issues.
 
 Contributors to this release:
@@ -118,23 +118,271 @@ Guava versions 21.0 to 33.3.0-jre;
 other software versions as specified in gradle.properties.
 
 #### Breaking Changes
-{: #breaking-1-40-0}
+{: #breaking-1-41-0}
 
 #### New features
-{: #new-features-1-40-0}
+{: #new-features-1-41-0}
 
 #### Dependency version upgrade
-{: #dependency-1-40-0}
+{: #dependency-1-41-0}
 
 #### Bug-fixes, API changes and minor enhancements
-{: #fixes-1-40-0}
+{: #fixes-1-41-0}
 
 #### Build and test suite
-{: #build-1-40-0}
+{: #build-1-41-0}
 
 #### Web site and documentation
-{: #site-1-40-0}
+{: #site-1-41-0}
 -->
+
+<h2 id="v1-40-0">
+<a 
href="https://github.com/apache/calcite/releases/tag/calcite-1.40.0";>1.40.0</a> 
/ 2025-05-28</h2>
+
+<p>This release comes 2 months after <a href="#v1-39-0">1.39.0</a>,
+contains contributions from 20 contributors, and resolves 102 issues.</p>
+
+<p>Highlights include
+the addition of several improvements and additional optimization rules, 
notably advanced set operation handling with new rules for converting INTERSECT 
to semi-joins and EXISTS subqueries, MINUS to anti-joins and filters, and 
optimizing UNIONs with common sources,
+join optimization is improved through predicate expansion from disjunctions 
and specialized handling of complex join conditions,
+additional optimizations include new rules for MIN/MAX aggregates and smarter 
filter-sort interactions,
+addition of Doris, DuckDB, SQLite, and Trino dialects, as well as improved 
support for ClickHouse,
+support for aliases referencing lateral columns,
+support for defining which rule sets to apply for individual Quidem tests.</p>
+
+<p>Contributors to this release:
+Alessandro Solimando (release manager),
+Chuxin Chen,
+Evgeniy Stanilovsky,
+Julian Hyde,
+Juntao Zhang,
+Kurt Alfred Kluever,
+Mihai Budiu,
+Niels Pardon,
+Ruben Quesada Lopez,
+Sergey Nuyanzin,
+Silun Dong,
+Stamatis Zampetakis,
+suibianwanwan,
+sulees,
+Ulrich Kramer,
+wangdiao,
+Wei Zhou,
+Xiong Duan,
+Yu Xu,
+Zhen Chen,
+zhuyufeng,</p>
+
+<p>Compatibility: This release is tested on Linux, macOS, Microsoft Windows;
+using JDK/OpenJDK versions 8 to 23;
+Guava versions 21.0 to 33.3.0-jre;
+other software versions as specified in gradle.properties.</p>
+
+<h4 id="breaking-1-40-0">Breaking Changes</h4>
+
+<ul>
+  <li>
+    <p>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6920";>CALCITE-6920</a>]
+The fix introduces a new property of the type system called <code 
class="language-plaintext highlighter-rouge">mapKeysCanBeNullable()</code> 
which indicates if keys in a map can be nullable.</p>
+  </li>
+  <li>
+    <p>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6901";>CALCITE-6901</a>]
+changes the way <code class="language-plaintext 
highlighter-rouge">SINGLE_VALUE</code> is rewritten <code 
class="language-plaintext highlighter-rouge">MySQL</code> dialect leading to a 
different exception thrown in case of multiple values.
+Before: <code class="language-plaintext highlighter-rouge">SQL error [1140] 
[42000]: In aggregated query without GROUP BY, expression #1 of SELECT list 
contains nonaggregated column '*****'; this is incompatible with 
sql_mode=only_full_group_by</code>
+After: <code class="language-plaintext highlighter-rouge">SQL error [1242] 
[21000]: Subquery returns more than 1 row</code></p>
+  </li>
+  <li>
+    <p>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6944";>CALCITE-6944</a>]
+<code class="language-plaintext highlighter-rouge">toSqlString</code> now 
doesn’t add an extra pair of parentheses for table functions.
+Before: <code class="language-plaintext highlighter-rouge">F(A =&gt; (TABLE T 
PARTITION BY F1 ORDER BY F2), B =&gt; 1)</code>
+After: <code class="language-plaintext highlighter-rouge">F(A =&gt; TABLE T 
PARTITION BY F1 ORDER BY F2, B =&gt; 1)</code></p>
+  </li>
+  <li>
+    <p>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6964";>CALCITE-6964</a>]
+<code class="language-plaintext 
highlighter-rouge">SqlDelete#getOperandList</code> now returns the elements 
from the source <code class="language-plaintext 
highlighter-rouge">SELECT</code> component.</p>
+  </li>
+  <li>
+    <p>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6989";>CALCITE-6989</a>]
+<code class="language-plaintext highlighter-rouge">RexBuilder#makeIn</code> 
now creates a <code class="language-plaintext highlighter-rouge">SEARCH</code> 
expression for <code class="language-plaintext highlighter-rouge">ARRAY</code> 
literals, similarly to what it does for <code class="language-plaintext 
highlighter-rouge">ROW</code> literals.
+Taking <code class="language-plaintext 
highlighter-rouge">RexBuilder#makeIn($0, ARRAY [100, 200], ARRAY [300, 
400])</code> as an example you have:
+Before: <code class="language-plaintext highlighter-rouge">OR(=($0, ARRAY(100, 
200)), =($0, ARRAY(300, 400)))</code>
+After: <code class="language-plaintext highlighter-rouge">SEARCH($0, 
Sarg[[100:INTEGER, 200:INTEGER]:INTEGER NOT NULL ARRAY, [300:INTEGER, 
400:INTEGER]:INTEGER NOT NULL ARRAY]:INTEGER NOT NULL ARRAY)</code></p>
+  </li>
+</ul>
+
+<h4 id="new-features-1-40-0">New features</h4>
+
+<ul>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6878";>CALCITE-6878</a>] 
Implement <code class="language-plaintext 
highlighter-rouge">FilterSortTransposeRule</code>
+</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6836";>CALCITE-6836</a>] Add 
Rule to convert <code class="language-plaintext 
highlighter-rouge">INTERSECT</code> to <code class="language-plaintext 
highlighter-rouge">EXISTS</code>
+</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6900";>CALCITE-6900</a>] 
Support <code class="language-plaintext highlighter-rouge">Char</code> type 
cast in ClickHouse Dialect</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6825";>CALCITE-6825</a>] Add 
support for <code class="language-plaintext highlighter-rouge">ALL</code>, 
<code class="language-plaintext highlighter-rouge">SOME</code>, <code 
class="language-plaintext highlighter-rouge">ANY</code> in <code 
class="language-plaintext highlighter-rouge">RelToSqlConverter</code>
+</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6888";>CALCITE-6888</a>] 
Doris dialect implementation</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6820";>CALCITE-6820</a>] 
Trino dialect implementation</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6891";>CALCITE-6891</a>] 
Implement <code class="language-plaintext 
highlighter-rouge">IntersectReorderRule</code>
+</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6880";>CALCITE-6880</a>] 
Implement <code class="language-plaintext 
highlighter-rouge">IntersectToSemiJoinRule</code>
+</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6893";>CALCITE-6893</a>] 
Remove agg from Union children in <code class="language-plaintext 
highlighter-rouge">IntersectToDistinctRule</code>
+</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6948";>CALCITE-6948</a>] 
Implement <code class="language-plaintext 
highlighter-rouge">MinusToAntiJoinRule</code>
+</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6927";>CALCITE-6927</a>] Add 
rule for join condition remove <code class="language-plaintext 
highlighter-rouge">IS NOT DISTINCT FROM</code>
+</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6930";>CALCITE-6930</a>] 
Implementing <code class="language-plaintext 
highlighter-rouge">JoinConditionOrExpansionRule</code>
+</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6914";>CALCITE-6914</a>] 
Expand join-dependent predicates from disjunction</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6953";>CALCITE-6953</a>] 
Extend <code class="language-plaintext 
highlighter-rouge">UnionEliminatorRule</code> to support <code 
class="language-plaintext highlighter-rouge">Intersect</code> and <code 
class="language-plaintext highlighter-rouge">Minus</code>
+</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6966";>CALCITE-6966</a>] 
Change <code class="language-plaintext 
highlighter-rouge">JoinConditionOrExpansionRule</code> name and accept more 
predicates that will allow the expansion to be performed</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6969";>CALCITE-6969</a>] 
Support ClickHouse in <code class="language-plaintext 
highlighter-rouge">SqlLibrary</code>
+</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6973";>CALCITE-6973</a>] Add 
rule to convert <code class="language-plaintext highlighter-rouge">Minus</code> 
to <code class="language-plaintext highlighter-rouge">Filter</code>
+</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6988";>CALCITE-6988</a>] 
DuckDB dialect implementation</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6946";>CALCITE-6946</a>] 
Expand predicates from disjunction for inputs of Join</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6939";>CALCITE-6939</a>] Add 
support for Lateral Column Alias</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6985";>CALCITE-6985</a>] Add 
rule to transform <code class="language-plaintext 
highlighter-rouge">MIN</code>/<code class="language-plaintext 
highlighter-rouge">MAX</code> with <code class="language-plaintext 
highlighter-rouge">ORDER BY</code> and <code class="language-plaintext 
highlighter-rouge">LIMIT 1</code>
+</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-7000";>CALCITE-7000</a>] 
Extend <code class="language-plaintext 
highlighter-rouge">IntersectToSemiJoinRule</code> to support n-way inputs</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6997";>CALCITE-6997</a>] 
SQLite dialect implementation</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-7002";>CALCITE-7002</a>] 
Create an optimization rule to eliminate <code class="language-plaintext 
highlighter-rouge">UNION</code> from the same source with different filters</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-7019";>CALCITE-7019</a>] 
Simplify <code class="language-plaintext highlighter-rouge">NULL IN (20, 
10)</code> to <code class="language-plaintext highlighter-rouge">NULL</code>
+</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-7008";>CALCITE-7008</a>] 
Extend <code class="language-plaintext 
highlighter-rouge">MinusToAntiJoinRule</code> to support n-way inputs</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6951";>CALCITE-6951</a>] Add 
<code class="language-plaintext highlighter-rouge">STRING_TO_ARRAY</code> 
function(enabled in PostgreSQL Library)</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-7014";>CALCITE-7014</a>] 
Support <code class="language-plaintext highlighter-rouge">EQUAL</code>/<code 
class="language-plaintext highlighter-rouge">GreaterThanOrEqual</code>/<code 
class="language-plaintext highlighter-rouge">LessThanOrEqual</code> expressions 
to <code class="language-plaintext highlighter-rouge">RexNode</code> In <code 
class="language-plaintext highlighter-rouge">CalcitePrepare</code>
+</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-7030";>CALCITE-7030</a>] 
Enhance <code class="language-plaintext 
highlighter-rouge">TopologicalOrderIterator</code> to support <code 
class="language-plaintext highlighter-rouge">BOTTOM_UP</code>
+</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6887";>CALCITE-6887</a>] 
<code class="language-plaintext highlighter-rouge">ReduceExpressionsRule</code> 
applied to ‘<code class="language-plaintext highlighter-rouge">IN</code> 
subquery’ should make the values distinct if the subquery is a <code 
class="language-plaintext highlighter-rouge">Values</code> composed of 
literals</li>
+</ul>
+
+<h4 id="dependency-1-40-0">Dependency version upgrade</h4>
+
+<ul>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6975";>CALCITE-6975</a>] 
Upgrade <code class="language-plaintext highlighter-rouge">Quidem</code> 
version to 0.12</li>
+  <li>Bump <code class="language-plaintext highlighter-rouge">nokogiri</code> 
from 1.18.2 to 1.18.8 in <code class="language-plaintext 
highlighter-rouge">/site</code>
+</li>
+  <li>Bump <code class="language-plaintext highlighter-rouge">json</code> from 
2.10.1 to 2.10.2 in <code class="language-plaintext 
highlighter-rouge">/site</code>
+</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-7018";>CALCITE-7018</a>] 
Upgrade <code class="language-plaintext highlighter-rouge">Janino</code> from 
3.1.11 to 3.1.12</li>
+</ul>
+
+<h4 id="fixes-1-40-0">Bug-fixes, API changes and minor enhancements</h4>
+
+<ul>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6875";>CALCITE-6875</a>] 
<code class="language-plaintext 
highlighter-rouge">EnumerableFilterRule</code>/<code class="language-plaintext 
highlighter-rouge">EnumerableProjectRule</code> should not convert a <code 
class="language-plaintext highlighter-rouge">Logical Filter</code>/<code 
class="language-plaintext highlighter-rouge">Project</code> to <code 
class="language-plaintext highlighter-rouge">Enumerable Filter</code>/<code cl 
[...]
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6892";>CALCITE-6892</a>] 
<code class="language-plaintext highlighter-rouge">CHAR_LENGTH</code> Function 
is not recognized in DerbySQL</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6901";>CALCITE-6901</a>] 
<code class="language-plaintext highlighter-rouge">SINGLE_VALUE</code> rewrite 
to wrong sql in MySQL dialect</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6903";>CALCITE-6903</a>] 
<code class="language-plaintext 
highlighter-rouge">CalciteSchema#getSubSchemaMap</code> must consider implicit 
sub-schemas</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6897";>CALCITE-6897</a>] 
<code class="language-plaintext highlighter-rouge">AbstractConverter</code> of 
root node is not needed in topdown mode</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6431";>CALCITE-6431</a>] 
Implement the <code class="language-plaintext 
highlighter-rouge">SINGLE_VALUE</code> aggregation in <code 
class="language-plaintext highlighter-rouge">HiveSqlDialect</code> And <code 
class="language-plaintext highlighter-rouge">SparkSQLDialect</code>
+</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6910";>CALCITE-6910</a>] 
<code class="language-plaintext highlighter-rouge">RelToSql</code> does not 
handle <code class="language-plaintext highlighter-rouge">ASOF</code> joins</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6913";>CALCITE-6913</a>] 
Some casts inserted by type coercion do not have source position 
information</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6834";>CALCITE-6834</a>] In 
query that applies <code class="language-plaintext 
highlighter-rouge">COALESCE</code> to nullable <code class="language-plaintext 
highlighter-rouge">SUM</code>,<code class="language-plaintext 
highlighter-rouge">EnumerableProjectToCalcRule</code> throws <code 
class="language-plaintext highlighter-rouge">AssertionError</code>
+</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6920";>CALCITE-6920</a>] The 
type derived for a cast to <code class="language-plaintext 
highlighter-rouge">INT ARRAY</code> always has non-nullable elements</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-2109";>CALCITE-2109</a>] 
MongoAdapter: Support <code class="language-plaintext 
highlighter-rouge">in</code> condition with <code class="language-plaintext 
highlighter-rouge">and</code> condition</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6911";>CALCITE-6911</a>] 
<code class="language-plaintext 
highlighter-rouge">SqlItemOperator.inferReturnType</code> throws <code 
class="language-plaintext highlighter-rouge">AssertionError</code> for out of 
bounds accesses</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6909";>CALCITE-6909</a>] 
ClickHouse dialect should limit the Precision and Scale of the <code 
class="language-plaintext highlighter-rouge">Decimal</code> type to be within 
76</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6931";>CALCITE-6931</a>] 
<code class="language-plaintext highlighter-rouge">STARTSWITH</code>/<code 
class="language-plaintext highlighter-rouge">ENDSWITH</code> in SPARK should 
not convert to <code class="language-plaintext 
highlighter-rouge">STARTS_WITH</code>/<code class="language-plaintext 
highlighter-rouge">ENDS_WITH</code>
+</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6835";>CALCITE-6835</a>] 
Invalid unparse for <code class="language-plaintext highlighter-rouge">IS 
TRUE</code>,<code class="language-plaintext highlighter-rouge">IS 
FALSE</code>,<code class="language-plaintext highlighter-rouge">IS NOT 
TRUE</code> and <code class="language-plaintext highlighter-rouge">IS NOT 
FALSE</code> in <code class="language-plaintext 
highlighter-rouge">StarRocksDialect</code>
+</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6904";>CALCITE-6904</a>] 
<code class="language-plaintext highlighter-rouge">IS_NOT_DISTINCT_FROM</code> 
is incorrectly handled by <code class="language-plaintext 
highlighter-rouge">EnumerableJoinRule</code>
+</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6936";>CALCITE-6936</a>] 
Table function parameter matching should always be case-insensitive</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6923";>CALCITE-6923</a>] 
<code class="language-plaintext 
highlighter-rouge">REGEXP_REPLACE_PG_...</code>: backward references behave 
differently than in postgres</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6921";>CALCITE-6921</a>] 
<code class="language-plaintext highlighter-rouge">REGEXP_REPLACE</code> with 
empty string causes <code class="language-plaintext 
highlighter-rouge">Exception</code>
+</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6943";>CALCITE-6943</a>] 
Calcite JDBC adapter for Hive should translate <code class="language-plaintext 
highlighter-rouge">APPROX_COUNT_DISTINCT</code> to <code 
class="language-plaintext highlighter-rouge">COUNT DISTINCT</code>
+</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6938";>CALCITE-6938</a>] 
Support zero value creation of nested data types</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6941";>CALCITE-6941</a>] 
<code class="language-plaintext highlighter-rouge">Array</code>/<code 
class="language-plaintext highlighter-rouge">Map</code> value constructor is 
unparsed incorrectly in ClickHouse</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6945";>CALCITE-6945</a>] Use 
<code class="language-plaintext highlighter-rouge">LITERAL_AGG</code> to 
simplify <code class="language-plaintext 
highlighter-rouge">SubQueryRemoveRule</code> by avoiding the extra Project</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6949";>CALCITE-6949</a>] 
ClickHouse not support <code class="language-plaintext 
highlighter-rouge">floor</code> <code class="language-plaintext 
highlighter-rouge">date</code> to <code class="language-plaintext 
highlighter-rouge">SECOND</code>/<code class="language-plaintext 
highlighter-rouge">MILLISECOND</code>/<code class="language-plaintext 
highlighter-rouge">MICROSECOND</code>/<code class="language-plaintext 
highlighter-roug [...]
+</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6840";>CALCITE-6840</a>] 
Hive/Phoenix Dialect should not cast to <code class="language-plaintext 
highlighter-rouge">REAL</code> type directly</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6959";>CALCITE-6959</a>] 
Support <code class="language-plaintext 
highlighter-rouge">LogicalAsofJoin</code> in <code class="language-plaintext 
highlighter-rouge">RelShuttle</code>
+</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6958";>CALCITE-6958</a>] 
JDBC adapter for MySQL not support <code class="language-plaintext 
highlighter-rouge">floor</code> <code class="language-plaintext 
highlighter-rouge">date</code> to <code class="language-plaintext 
highlighter-rouge">MILLISECOND</code>/<code class="language-plaintext 
highlighter-rouge">MICROSECOND</code>
+</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6954";>CALCITE-6954</a>] 
<code class="language-plaintext 
highlighter-rouge">SqlTypeFactoryImpl#leastRestrictive</code> returns 
non-canonical collection types</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6961";>CALCITE-6961</a>] 
Support <code class="language-plaintext 
highlighter-rouge">LogicalRepeatUnion</code> in <code class="language-plaintext 
highlighter-rouge">RelShuttle</code>
+</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6955";>CALCITE-6955</a>] 
<code class="language-plaintext highlighter-rouge">PruneEmptyRules</code> does 
not handle the all attribute of <code class="language-plaintext 
highlighter-rouge">SetOp</code> correctly</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-2636";>CALCITE-2636</a>] SQL 
parser has quadratic running time when SQL string is very large</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6944";>CALCITE-6944</a>] 
Align <code class="language-plaintext highlighter-rouge">toSqlString</code> 
with SQL std for Table Args in PTF</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6964";>CALCITE-6964</a>] 
<code class="language-plaintext 
highlighter-rouge">SqlDelete#getOperandList</code> return operands’ both order 
and size not match with <code class="language-plaintext 
highlighter-rouge">SqlDelete#setOperand</code>
+</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6967";>CALCITE-6967</a>] 
Unparsing <code class="language-plaintext 
highlighter-rouge">STARTS_WITH</code>/<code class="language-plaintext 
highlighter-rouge">ENDS_WITH</code>/<code class="language-plaintext 
highlighter-rouge">BIT</code> functions is incorrect for the Clickhouse 
dialect</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-5985";>CALCITE-5985</a>] 
<code class="language-plaintext 
highlighter-rouge">FilterTableFunctionTransposeRule</code> should not use 
“Logical” <code class="language-plaintext highlighter-rouge">RelNodes</code>
+</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6980";>CALCITE-6980</a>] 
<code class="language-plaintext highlighter-rouge">RelJson</code> cannot 
serialize binary literals</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6974";>CALCITE-6974</a>] 
Default typesystem has incorrect limits for <code class="language-plaintext 
highlighter-rouge">DECIMAL</code> for Presto/MySQL/Phoenix</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6979";>CALCITE-6979</a>] 
Invalid unparse for <code class="language-plaintext highlighter-rouge">IS 
TRUE</code>,<code class="language-plaintext highlighter-rouge">IS 
FALSE</code>,<code class="language-plaintext highlighter-rouge">IS NOT 
TRUE</code> and <code class="language-plaintext highlighter-rouge">IS NOT 
FALSE</code> in <code class="language-plaintext 
highlighter-rouge">ClickHouseDialect</code>
+</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6594";>CALCITE-6594</a>] 
<code class="language-plaintext highlighter-rouge">RelMdSize</code> does not 
handle <code class="language-plaintext highlighter-rouge">ARRAY</code> 
constructor calls</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6984";>CALCITE-6984</a>] 
<code class="language-plaintext 
highlighter-rouge">FamilyOperandTypeChecker</code> with a Predicate describing 
optional arguments does not reject mistyped expressions</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6986";>CALCITE-6986</a>] 
Parser rejects SQL sources that produce an empty statement list</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6983";>CALCITE-6983</a>] 
<code class="language-plaintext highlighter-rouge">SortJoinTransposeRule</code> 
should not push <code class="language-plaintext highlighter-rouge">SORT</code> 
past a <code class="language-plaintext highlighter-rouge">JOIN</code> when 
<code class="language-plaintext highlighter-rouge">SORT</code>’s fetch is <code 
class="language-plaintext highlighter-rouge">DynamicParam</code>
+</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6432";>CALCITE-6432</a>] 
Infinite loop for <code class="language-plaintext 
highlighter-rouge">JoinPushTransitivePredicatesRule</code> when there are 
multiple project expressions reference the same input field</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6992";>CALCITE-6992</a>] 
<code class="language-plaintext highlighter-rouge">RelJson</code> cannot 
serialize <code class="language-plaintext highlighter-rouge">UUID</code> 
literals</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6989";>CALCITE-6989</a>] 
Enhance <code class="language-plaintext 
highlighter-rouge">RexBuilder#makeIn</code> to create <code 
class="language-plaintext highlighter-rouge">SEARCH</code> for <code 
class="language-plaintext highlighter-rouge">ARRAY</code> literals</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6977";>CALCITE-6977</a>] 
Unparse <code class="language-plaintext highlighter-rouge">DELETE</code> SQL 
throws unsupported exception</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6981";>CALCITE-6981</a>] 
Runtime conversion of <code class="language-plaintext 
highlighter-rouge">DECIMAL ARRAY</code> to <code class="language-plaintext 
highlighter-rouge">INT ARRAY</code> fails with a <code 
class="language-plaintext highlighter-rouge">ClassCastException</code>
+</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6995";>CALCITE-6995</a>] 
Support <code class="language-plaintext highlighter-rouge">FULL JOIN</code> in 
StarRocks/Doris Dialect</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-5387";>CALCITE-5387</a>] 
Type-mismatch on nullability in <code class="language-plaintext 
highlighter-rouge">JoinPushTransitivePredicatesRule</code> <code 
class="language-plaintext highlighter-rouge">RelRule</code>
+</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6999";>CALCITE-6999</a>] 
Invalid unparse for <code class="language-plaintext 
highlighter-rouge">TRIM</code> in <code class="language-plaintext 
highlighter-rouge">PrestoDialect</code>
+</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-7006";>CALCITE-7006</a>] 
Incorrect <code class="language-plaintext highlighter-rouge">left join</code> 
results with <code class="language-plaintext highlighter-rouge">IS NOT DISTINCT 
FROM</code> under specific plan</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6962";>CALCITE-6962</a>] 
<code class="language-plaintext highlighter-rouge">Exists</code> subquery 
returns incorrect result when <code class="language-plaintext 
highlighter-rouge">or</code> condition involves null column</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-7005";>CALCITE-7005</a>] 
Invalid unparse for <code class="language-plaintext highlighter-rouge">IS 
TRUE</code>,<code class="language-plaintext highlighter-rouge">IS 
FALSE</code>,<code class="language-plaintext highlighter-rouge">IS NOT 
TRUE</code> and <code class="language-plaintext highlighter-rouge">IS NOT 
FALSE</code> in Hive/Presto Dialect</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6991";>CALCITE-6991</a>] 
Validator cannot infer type for <code class="language-plaintext 
highlighter-rouge">COALESCE</code> when call is not expanded</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-7013";>CALCITE-7013</a>] 
Support building <code class="language-plaintext 
highlighter-rouge">RexLiterals</code> from <code class="language-plaintext 
highlighter-rouge">Character</code> values</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-7001";>CALCITE-7001</a>] 
Cast of malformed literal to <code class="language-plaintext 
highlighter-rouge">TIMESTAMP WITH LOCAL TIME ZONE</code> need to throw 
informative error</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-7025";>CALCITE-7025</a>] 
Verifying the Quantify operator without compatible types, should throw an 
exception about the Quantify Operator</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6866";>CALCITE-6866</a>] 
<code class="language-plaintext highlighter-rouge">PostgreSQLDialect</code> 
support to unparse <code class="language-plaintext 
highlighter-rouge">LISTAGG</code> aggregate function</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-7022";>CALCITE-7022</a>] 
Decouple <code class="language-plaintext highlighter-rouge">ModelHandler</code> 
from <code class="language-plaintext highlighter-rouge">CalciteConnection</code>
+</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-5638";>CALCITE-5638</a>] 
Columns trimmer need to consider sub queries</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-7027";>CALCITE-7027</a>] 
Improve error message in case of several <code class="language-plaintext 
highlighter-rouge">UNION</code>, <code class="language-plaintext 
highlighter-rouge">INTERSECT</code>, <code class="language-plaintext 
highlighter-rouge">EXCEPT</code> in a query</li>
+  <li>Documentation Supplement for <code class="language-plaintext 
highlighter-rouge">MinusToAntiJoinRule</code>
+</li>
+  <li>Use <code class="language-plaintext 
highlighter-rouge">StandardCharsets</code> in <code class="language-plaintext 
highlighter-rouge">RuleMatchVisualizer.java</code>
+</li>
+</ul>
+
+<h4 id="build-1-40-0">Build and test suite</h4>
+
+<ul>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6895";>CALCITE-6895</a>] 
Change <code class="language-plaintext 
highlighter-rouge">JdbcTest.testVersion</code> to strictly match minor version 
in <code class="language-plaintext highlighter-rouge">gradle.properties</code>
+</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6915";>CALCITE-6915</a>] 
Generalize terminology Linter to allow pattern based checks in commit 
messages</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6960";>CALCITE-6960</a>] The 
tests for <code class="language-plaintext 
highlighter-rouge">SemiJoinRemoveRule</code> should explicitly include a semi 
join</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6957";>CALCITE-6957</a>] The 
<code class="language-plaintext highlighter-rouge">RelOptRulesTest</code> tests 
should fail if the xml file contains tests that do not exist in Java</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6335";>CALCITE-6335</a>] 
Quidem tests should allow specifying optimization passes to apply to 
programs</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6883";>CALCITE-6883</a>] Add 
Javadoc for <code class="language-plaintext 
highlighter-rouge">RelRoot#isTrivial</code> variants and refactor related 
tests</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6998";>CALCITE-6998</a>] The 
command <code class="language-plaintext highlighter-rouge">!set 
planner-rules</code> does not support rules with multiple <code 
class="language-plaintext highlighter-rouge">Config</code>
+</li>
+</ul>
+
+<h4 id="site-1-40-0">Web site and documentation</h4>
+
+<ul>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-6934";>CALCITE-6934</a>] The 
examples for DDL extension on the official website cannot run</li>
+  <li>Update documentation for example0 in <code class="language-plaintext 
highlighter-rouge">RelBuilderExample</code>
+</li>
+</ul>
+
 <h2 id="v1-39-0">
 <a 
href="https://github.com/apache/calcite/releases/tag/calcite-1.39.0";>1.39.0</a> 
/ 2025-03-16</h2>
 
diff --git a/docs/howto.html b/docs/howto.html
index 7dd02a17c..6aad422ef 100644
--- a/docs/howto.html
+++ b/docs/howto.html
@@ -178,8 +178,8 @@ and Gradle (version 8.7) on your path.</p>
 <code class="language-plaintext highlighter-rouge">cd</code> to the root 
directory of the unpacked source,
 then build using Gradle:</p>
 
-<figure class="highlight"><pre><code class="language-bash" 
data-lang="bash"><span class="nv">$ </span><span class="nb">tar </span>xvfz 
apache-calcite-1.39.0-src.tar.gz
-<span class="nv">$ </span><span class="nb">cd </span>apache-calcite-1.39.0-src
+<figure class="highlight"><pre><code class="language-bash" 
data-lang="bash"><span class="nv">$ </span><span class="nb">tar </span>xvfz 
apache-calcite-1.40.0-src.tar.gz
+<span class="nv">$ </span><span class="nb">cd </span>apache-calcite-1.40.0-src
 <span class="nv">$ </span>gradle build</code></pre></figure>
 
 <p><a href="#running-tests">Running tests</a> describes how to run more or 
fewer
@@ -1042,7 +1042,6 @@ no binary distro), check that all files belong to a 
directory called
 distros: <code class="language-plaintext highlighter-rouge">KEYS</code>, <code 
class="language-plaintext highlighter-rouge">gradlew</code>, <code 
class="language-plaintext highlighter-rouge">gradlew.bat</code>, <code 
class="language-plaintext highlighter-rouge">gradle-wrapper.jar</code>,
 <code class="language-plaintext 
highlighter-rouge">gradle-wrapper.properties</code>
 </li>
-  <li>Make sure that there is no <code class="language-plaintext 
highlighter-rouge">KEYS</code> file in the source distros</li>
   <li>In each .jar (for example
 <code class="language-plaintext 
highlighter-rouge">core/build/libs/calcite-core-X.Y.Z.jar</code> and
 <code class="language-plaintext 
highlighter-rouge">mongodb/build/libs/calcite-mongodb-X.Y.Z-sources.jar</code>),
 check

Reply via email to