You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@calcite.apache.org by hy...@apache.org on 2020/05/16 03:34:49 UTC

[calcite] branch branch-1.23 updated (edc37c0 -> 2143ac6)

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

hyuan pushed a change to branch branch-1.23
in repository https://gitbox.apache.org/repos/asf/calcite.git.


    omit edc37c0  [CALCITE-3989] Release Calcite 1.23.0
     add ffa22f7  [CALCITE-3979] Simplification might have removed CAST expression(s) incorrectly
     add 7be30db  [CALCITE-3997] Logical rules matched with physical operators but failed to handle traits
     add 05376d6  Following [CALCITE-3997] Remove TransformationRule from CalcMergeRule temporarily
     new 2143ac6  [CALCITE-3989] Release Calcite 1.23.0

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (edc37c0)
            \
             N -- N -- N   refs/heads/branch-1.23 (2143ac6)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../org/apache/calcite/plan/volcano/RuleQueue.java |  2 +-
 .../calcite/plan/volcano/VolcanoPlanner.java       | 10 +++
 .../calcite/plan/volcano/VolcanoRuleCall.java      |  2 +-
 .../rel/rules/AbstractJoinExtractFilterRule.java   |  3 +-
 .../rel/rules/AggregateCaseToFilterRule.java       |  3 +-
 .../AggregateExpandDistinctAggregatesRule.java     |  3 +-
 .../rel/rules/AggregateExtractProjectRule.java     |  3 +-
 .../rel/rules/AggregateFilterTransposeRule.java    |  3 +-
 .../rel/rules/AggregateJoinJoinRemoveRule.java     |  3 +-
 .../calcite/rel/rules/AggregateJoinRemoveRule.java |  2 +-
 .../rel/rules/AggregateJoinTransposeRule.java      |  2 +-
 .../calcite/rel/rules/AggregateMergeRule.java      |  2 +-
 .../rel/rules/AggregateProjectMergeRule.java       |  2 +-
 .../rules/AggregateProjectPullUpConstantsRule.java |  3 +-
 .../rel/rules/AggregateReduceFunctionsRule.java    |  3 +-
 .../calcite/rel/rules/AggregateRemoveRule.java     |  3 +-
 .../calcite/rel/rules/AggregateStarTableRule.java  |  2 +-
 .../rel/rules/AggregateUnionAggregateRule.java     |  2 +-
 .../rel/rules/AggregateUnionTransposeRule.java     |  2 +-
 .../calcite/rel/rules/AggregateValuesRule.java     |  1 -
 .../apache/calcite/rel/rules/CalcRemoveRule.java   |  1 -
 .../apache/calcite/rel/rules/CalcSplitRule.java    |  2 +-
 .../apache/calcite/rel/rules/CoerceInputsRule.java |  2 +-
 .../apache/calcite/rel/rules/DateRangeRules.java   |  2 +-
 .../rel/rules/ExchangeRemoveConstantKeysRule.java  |  1 -
 .../rel/rules/FilterAggregateTransposeRule.java    |  2 +-
 .../calcite/rel/rules/FilterCalcMergeRule.java     |  2 +-
 .../calcite/rel/rules/FilterCorrelateRule.java     |  2 +-
 .../apache/calcite/rel/rules/FilterJoinRule.java   |  2 +-
 .../apache/calcite/rel/rules/FilterMergeRule.java  |  1 -
 .../rel/rules/FilterMultiJoinMergeRule.java        |  2 +-
 .../rel/rules/FilterProjectTransposeRule.java      |  2 +-
 .../rules/FilterRemoveIsNotDistinctFromRule.java   |  3 +-
 .../rel/rules/FilterSetOpTransposeRule.java        |  2 +-
 .../rules/FilterTableFunctionTransposeRule.java    |  3 +-
 .../apache/calcite/rel/rules/FilterToCalcRule.java |  2 +-
 .../calcite/rel/rules/IntersectToDistinctRule.java |  2 +-
 .../rel/rules/JoinAddRedundantSemiJoinRule.java    |  3 +-
 .../calcite/rel/rules/JoinAssociateRule.java       |  2 +-
 .../apache/calcite/rel/rules/JoinCommuteRule.java  |  2 +-
 .../rel/rules/JoinProjectTransposeRule.java        |  2 +-
 .../calcite/rel/rules/JoinPushExpressionsRule.java |  2 +-
 .../calcite/rel/rules/JoinPushThroughJoinRule.java |  2 +-
 .../rules/JoinPushTransitivePredicatesRule.java    |  2 +-
 .../calcite/rel/rules/JoinToCorrelateRule.java     |  2 +-
 .../calcite/rel/rules/JoinToMultiJoinRule.java     |  2 +-
 .../calcite/rel/rules/JoinUnionTransposeRule.java  |  2 +-
 .../calcite/rel/rules/LoptOptimizeJoinRule.java    |  2 +-
 .../org/apache/calcite/rel/rules/MatchRule.java    |  2 +-
 .../rel/rules/MaterializedViewFilterScanRule.java  |  2 +-
 .../rel/rules/MultiJoinOptimizeBushyRule.java      |  2 +-
 .../calcite/rel/rules/ProjectCalcMergeRule.java    |  2 +-
 .../rel/rules/ProjectCorrelateTransposeRule.java   |  2 +-
 .../rel/rules/ProjectFilterTransposeRule.java      |  2 +-
 .../rel/rules/ProjectJoinJoinRemoveRule.java       |  1 -
 .../calcite/rel/rules/ProjectJoinRemoveRule.java   |  1 -
 .../rel/rules/ProjectJoinTransposeRule.java        |  2 +-
 .../apache/calcite/rel/rules/ProjectMergeRule.java |  8 ++-
 .../rel/rules/ProjectMultiJoinMergeRule.java       |  2 +-
 .../calcite/rel/rules/ProjectRemoveRule.java       |  1 -
 .../rel/rules/ProjectSetOpTransposeRule.java       |  2 +-
 .../rel/rules/ProjectSortTransposeRule.java        |  2 +-
 .../calcite/rel/rules/ProjectToCalcRule.java       |  2 +-
 .../calcite/rel/rules/ProjectToWindowRule.java     |  2 +-
 .../rel/rules/ProjectWindowTransposeRule.java      |  2 +-
 .../apache/calcite/rel/rules/PruneEmptyRules.java  |  1 -
 .../calcite/rel/rules/ReduceDecimalsRule.java      |  2 +-
 .../calcite/rel/rules/ReduceExpressionsRule.java   | 84 ++--------------------
 .../rel/rules/SemiJoinFilterTransposeRule.java     |  2 +-
 .../rel/rules/SemiJoinJoinTransposeRule.java       |  2 +-
 .../rel/rules/SemiJoinProjectTransposeRule.java    |  2 +-
 .../calcite/rel/rules/SemiJoinRemoveRule.java      |  2 +-
 .../org/apache/calcite/rel/rules/SemiJoinRule.java |  2 +-
 .../apache/calcite/rel/rules/SortJoinCopyRule.java |  2 +-
 .../calcite/rel/rules/SortJoinTransposeRule.java   |  2 +-
 .../rel/rules/SortProjectTransposeRule.java        |  2 +-
 .../rel/rules/SortRemoveConstantKeysRule.java      |  1 -
 .../apache/calcite/rel/rules/SortRemoveRule.java   |  2 +-
 .../calcite/rel/rules/SortUnionTransposeRule.java  |  2 +-
 .../calcite/rel/rules/SubQueryRemoveRule.java      |  2 +-
 .../{plan => rel/rules}/SubstitutionRule.java      |  4 +-
 .../apache/calcite/rel/rules/TableScanRule.java    |  2 +-
 .../calcite/rel/rules/TransformationRule.java      | 40 +++++++++++
 .../calcite/rel/rules/UnionEliminatorRule.java     |  1 -
 .../apache/calcite/rel/rules/UnionMergeRule.java   |  2 +-
 .../rel/rules/UnionPullUpConstantsRule.java        |  2 +-
 .../calcite/rel/rules/UnionToDistinctRule.java     |  2 +-
 .../apache/calcite/rel/rules/ValuesReduceRule.java |  2 +-
 .../org/apache/calcite/rel/stream/StreamRules.java | 17 ++---
 .../org/apache/calcite/test/RelOptRulesTest.java   | 41 +++++++++++
 .../org/apache/calcite/test/RelOptRulesTest.xml    | 54 +++++++++++++-
 site/_docs/history.md                              | 18 +++--
 92 files changed, 264 insertions(+), 180 deletions(-)
 rename core/src/main/java/org/apache/calcite/{plan => rel/rules}/SubstitutionRule.java (93%)
 create mode 100644 core/src/main/java/org/apache/calcite/rel/rules/TransformationRule.java


[calcite] 01/01: [CALCITE-3989] Release Calcite 1.23.0

Posted by hy...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

hyuan pushed a commit to branch branch-1.23
in repository https://gitbox.apache.org/repos/asf/calcite.git

commit 2143ac6510d9cc8b34a75c17b7b69af3d8f437e0
Author: Haisheng Yuan <h....@alibaba-inc.com>
AuthorDate: Mon May 11 18:48:12 2020 -0500

    [CALCITE-3989] Release Calcite 1.23.0
---
 README                |   2 +-
 site/_docs/history.md | 162 ++++++++++++++++++++++++++++++++++++++++++++++++--
 site/_docs/howto.md   |   6 +-
 3 files changed, 161 insertions(+), 9 deletions(-)

diff --git a/README b/README
index 7eeca3a..b03b439 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-Apache Calcite release 1.22.0
+Apache Calcite release 1.23.0
 
 This is a source or binary distribution of Apache Calcite.
 
diff --git a/site/_docs/history.md b/site/_docs/history.md
index 04dc02f..15f5202 100644
--- a/site/_docs/history.md
+++ b/site/_docs/history.md
@@ -28,18 +28,170 @@ For a full list of releases, see
 Downloads are available on the
 [downloads page]({{ site.baseurl }}/downloads/).
 
-## <a href="https://github.com/apache/calcite/releases/tag/calcite-1.23.0">1.23.0</a> / under development
+## <a href="https://github.com/apache/calcite/releases/tag/calcite-1.23.0">1.23.0</a> / 2020-05-15
 {: #v1-23-0}
 
+This release comes two months after 1.22.0. It includes more than 100 resolved
+issues, comprising a lot of new features as well as performance improvements
+and bug-fixes. This is the fastest version of Calcite, for some complex queries,
+the planning speed can be 50x or more faster than previous versions. TPC-H
+queries that can't finish planning in previous versions now can finish in
+several seconds. Among others, it is worth highlighting the following.
+
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3896">CALCITE-3896</a>] `VolcanoPlanner` supports top down trait request and trait enforcement without abstract converter
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3753">CALCITE-3753</a>] Boost `VolcanoPlanner` performance by removing rule match and subset importance
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-2970">CALCITE-2970</a>] Improve `VolcanoPlanner` performance when abstract converter is enabled
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-2157">CALCITE-2157</a>] ClickHouse dialect implementation (Chris Baynes)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3780">CALCITE-3780</a>] Support `SESSION` Table function (Rui Wang)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3737">CALCITE-3737</a>] Support `HOP` Table function (Rui Wang)
+
 Compatibility: This release is tested on Linux, macOS, Microsoft Windows;
 using Oracle JDK 8, 9, 10, 11, 12, 13, 14 and OpenJDK 8, 9, 10, 11, 12, 13, 14;
-Guava versions 19.0 to 28.2-jre; Apache Flink 1.10.0;
-other software versions as specified in gradle.properties.
+Guava versions 19.0 to 28.2-jre; other software versions as specified in
+gradle.properties.
 
 #### Breaking Changes
 
-* [<a href="https://issues.apache.org/jira/browse/CALCITE-3877">CALCITE-3877</a>]
-  In `RexWindow`, make fields `upperBound` and `lowerBound` not-nullable
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3877">CALCITE-3877</a>] In `RexWindow`, make fields `upperBound` and `lowerBound` not-nullable
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3868">CALCITE-3868</a>] Remove redundant `ruleSet`(protected)and `ruleNames`(private) in `VolcanoPlanner`
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3753">CALCITE-3753</a>] `VolcanoPlanner` flags `impatient` and `ambitious` are removed, alternatively use `checkCancel()` to achieve `impatient` mode
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3997">CALCITE-3997</a>] In `VolcanoPlanner`, transformation rules won't match with Enumerable physical operators
+
+#### New features
+
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3984">CALCITE-3984</a>] Support `Exchange` operator in `RelFieldTrimmer` (Xu Zhaohui)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3971">CALCITE-3971</a>] Support `Calc` in `RelMdColumnOrigins` (Xu ZhaoHui)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3921">CALCITE-3921</a>] Support `TableModify` json serialization and deserialization (Wang Yanlin)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3938">CALCITE-3938</a>] Support `LogicalCalc` in `RelShuttle` (dz)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3896">CALCITE-3896</a>] `VolcanoPlanner` supports top down trait request and trait enforcement without abstract converter
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3880">CALCITE-3880</a>] Add `SortExchange` support to `RelFieldTrimmer` (Krisztian Kasa)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3867">CALCITE-3867</a>] Support `RelDistribution` json serialization (Krisztian Kasa)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3780">CALCITE-3780</a>] Support `SESSION` Table function (Rui Wang)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3737">CALCITE-3737</a>] Support `HOP` Table function (Rui Wang)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3718">CALCITE-3718</a>] Support `Intersect` and `Minus` in `Bindables` (xzh)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3789">CALCITE-3789</a>] Support Presto style `unnest` with items alias (Will Yu)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-2157">CALCITE-2157</a>] ClickHouse dialect implementation (Chris Baynes)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3833">CALCITE-3833</a>] Support `SemiJoin` in `EnumerableMergeJoin`
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3684">CALCITE-3684</a>] Support `CONCAT` for variable arguments (Wenhui Tang)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3285">CALCITE-3285</a>] `EnumerableMergeJoin` support non-equi join conditions
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3694">CALCITE-3694</a>] Implement `SINH` function
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3647">CALCITE-3647</a>] Support MySQL `COMPRESS` function (ritesh-kapoor)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3726">CALCITE-3726</a>] Allow declaring type objects (ritesh-kapoor)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3815">CALCITE-3815</a>] Support SQL standard aggregate functions: `EVERY`, `SOME`, `INTERSECTION`
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3704">CALCITE-3704</a>] Implement `STRCMP` function
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3634">CALCITE-3634</a>] Add `IntersectOnCalcsToIntersectUnifyRule` for materialized view recognition (dz)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3934">CALCITE-3934</a>] Allow type-coercion in `CONCAT` operator
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3889">CALCITE-3889</a>] Add `apply(Mappings.Mapping)` to `RelTrait` and `RelTraitSet`
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3838">CALCITE-3838</a>] Support `Calc` in `RelMdSize`, `RelMdSelectivity`, `RelMdMaxRowCount`, `RelMdMinRowCount`, `RelMdTableReferences`
+
+#### Bug fixes, API changes and minor enhancements
+
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3997">CALCITE-3997</a>] Logical rules matched with physical operators but failed to handle traits
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3979">CALCITE-3979</a>] Simplification might have removed CAST expression(s) incorrectly
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3968">CALCITE-3968</a>] TPC-H queries take forever for planning
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3877">CALCITE-3877</a>] In `RexWindow`, make fields `upperBound` and `lowerBound` not-nullable
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3969">CALCITE-3969</a>] Trait keys remapping may throw exception when some trait key is not mapped (Roman Kondakov)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3982">CALCITE-3982</a>] Simplify FilterMergeRule to rely on RelBuilder instead of RexProgram
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3983">CALCITE-3983</a>] Add utility methods to RelTraitSet
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3980">CALCITE-3980</a>] Redis-adapter redis connection is not reused when RedisTable is created (Xu Zhang)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3961">CALCITE-3961</a>] VolcanoPlanner.prunedNodes info is lost when duplicate relNode is discarded (Botong Huang)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3866">CALCITE-3866</a>] "numeric field overflow" when running the generated SQL in PostgreSQL (Wenhui Tang)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3926">CALCITE-3926</a>] CannotPlanException when an empty LogicalValues requires a certain collation
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3973">CALCITE-3973</a>] Hints should not unparse as enclosed in parentheses (Alex Baden)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3887">CALCITE-3887</a>] Filter and Join conditions may not need to retain nullability during simplifications
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3966">CALCITE-3966</a>] Trigger rules for existing RelSubset when it becomes delivered
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3928">CALCITE-3928</a>] Trim unused fields before materialized view matching (dz)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3962">CALCITE-3962</a>] Make JSON_VALUE operands varadic
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3827">CALCITE-3827</a>] Reduce the time complexity of finding in-edges of a vertex in the graph (Liya Fan)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3878">CALCITE-3878</a>] Create ArrayList with initial capacity when size is known (Xu Zhang)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3949">CALCITE-3949</a>] RelDistributions.of() and RelCollations.of() should canonize trait instance
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3954">CALCITE-3954</a>] Always compare types using equals
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3955">CALCITE-3955</a>] Remove the first operand of RexCall from SqlWindowTableFunction
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3915">CALCITE-3915</a>] Add rule listener to report rule attempts and time at DEBUG log level (Xiening Dai)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3948">CALCITE-3948</a>] RelSubset matching is not properly handled in VolcanoRuleCall (Botong Huang)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3758">CALCITE-3758</a>] FilterTableScanRule generate wrong mapping for filter condition when underlying is BindableTableScan (Jin Xing)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3942">CALCITE-3942</a>] Move type-coercion configurations into SqlValidator.Config
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3939">CALCITE-3939</a>] Change UnionEliminatorRule and ProjectRemoveRule to auto pruning SubstitutionRule (Botong Huang)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3944">CALCITE-3944</a>] Move dumpSets and dumpGraphviz out of VolcanoPlanner
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3927">CALCITE-3927</a>] RelSubset is not fired for rule when set gets merged (Botong Huang)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3868">CALCITE-3868</a>] Remove redundant `ruleSet`(protected)and `ruleNames`(private) in VolcanoPlanner
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3940">CALCITE-3940</a>] Hint item can not parse correctly if the name is right after token /*+
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3447">CALCITE-3447</a>] MutableScans with the same qualified name are not equivalent (Dai Min, Jin Xing)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3931">CALCITE-3931</a>] Add LOOKAHEAD(2) for methods defined in createStatementParserMethods
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3790">CALCITE-3790</a>] Make the url() of Sources.of(file) available
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3894">CALCITE-3894</a>] SET operation between DATE and TIMESTAMP returns a wrong result
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3881">CALCITE-3881</a>] SqlFunctions#addMonths yields incorrect results in some corner case (Zhenghua Gao)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3324">CALCITE-3324</a>] Set updateCount when creating MetaResultSet (Robert Yokota)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3733">CALCITE-3733</a>] In JDBC adapter, when generating SQL for MYSQL, generate TIMESTAMP type as DATETIME for CAST (Vineet Garg)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3909">CALCITE-3909</a>] RelMdMinRowCount doesn't take into account UNION DISTINCT
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3576">CALCITE-3576</a>] Remove enumerable convention check in FilterIntoJoinRule
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-2593">CALCITE-2593</a>] Plan error when transforming multiple collations to single collation
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-2010">CALCITE-2010</a>] Cannot plan query that is UNION ALL applied to VALUES
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3865">CALCITE-3865</a>] RelCollationTraitDef.canConvert should always return true
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-2970">CALCITE-2970</a>] Improve VolcanoPlanner performance when enabling abstract converter
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3914">CALCITE-3914</a>] Improve SubstitutionVisitor to consider RexCall of type PLUS and TIMES for canonicalization (Vineet Garg)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3912">CALCITE-3912</a>] Incorrect mapping parsing when properties have same name as reserved keywords in ElasticSearch
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3900">CALCITE-3900</a>] Add Config for SqlValidator
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3908">CALCITE-3908</a>] JoinCommuteRule should update all input references in join condition
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3898">CALCITE-3898</a>] RelOptPredicateList may generate incorrect map of constant values
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3835">CALCITE-3835</a>] Overloaded table functions fail with an assertion error if param types differ
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3851">CALCITE-3851</a>] Replace the node importance map with a set for pruned nodes
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3872">CALCITE-3872</a>] Simplify expressions with unary minus
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3814">CALCITE-3814</a>] Support JDK 14 and guava 28.2-jre
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3876">CALCITE-3876</a>] RelToSqlConverter should not merge a Project that contains a window function that references a window function in input Project
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3891">CALCITE-3891</a>] Remove use of Pair.zip in RelTraitSet
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3885">CALCITE-3885</a>] Restore trace logging for rules queue and Volcano planner's internal state (Roman Kondakov)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3886">CALCITE-3886</a>] Execute substitution rule according to the order they get matched
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3882">CALCITE-3882</a>] Remove duplicated code from SqlTypeAssignmentRule (Wenhui Tang)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3846">CALCITE-3846</a>] EnumerableMergeJoin: wrong comparison of composite key with null values
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3829">CALCITE-3829</a>] MergeJoinEnumerator should not use inputs enumerators until it is really required
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3840">CALCITE-3840</a>] Re-aliasing of VALUES that has column aliases produces wrong SQL in the JDBC adapter
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3810">CALCITE-3810</a>] Render ANTI and SEMI join to NOT EXISTS and EXISTS in the JDBC adapter. Also add forgotten IS_DISTINCT_FROM translation support
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3852">CALCITE-3852</a>] RexSimplify doesn't simplify NOT EQUAL predicates
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3862">CALCITE-3862</a>] Materialized view rewriting algorithm throws IndexOutOfBoundsException (Vineet Garg)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3856">CALCITE-3856</a>] Remove code to be removed before 1.23
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3855">CALCITE-3855</a>] Supports snapshot on table with virtual columns during sql-to-rel conversion
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3853">CALCITE-3853</a>] Minor improvements in SortJoinCopyRule
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3848">CALCITE-3848</a>] Rewriting for materialized view consisting of group by on join keys fails with Mappings$NoElementException (Vineet Garg)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3845">CALCITE-3845</a>] CASE WHEN expression with nullability CAST is considered as reduced wrongly in ReduceExpressionsRule
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3847">CALCITE-3847</a>] Decorrelation for join with lateral table outputs wrong plan if the join condition contains correlation variables
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3753">CALCITE-3753</a>] Boost VolcanoPlanner performance by removing rule match and subset importance
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3823">CALCITE-3823</a>] Do not use String.replaceAll
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3412">CALCITE-3412</a>] FLOOR(timestamp TO WEEK) gives wrong result
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3839">CALCITE-3839</a>] After calling RelBuilder.aggregate, cannot lookup field by name
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3819">CALCITE-3819</a>] Prune parent RelNode when merging child RelSet with parent RelSet
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3809">CALCITE-3809</a>] RexSimplify simplifies nondeterministic function incorrectly
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3828">CALCITE-3828</a>] MergeJoin throws NPE in case of null keys
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3820">CALCITE-3820</a>] EnumerableDefaults#orderBy should be lazily computed + support enumerator re-initialization
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3837">CALCITE-3837</a>] AntiJoin with empty right input can always be transformed as its left input
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3821">CALCITE-3821</a>] RelOptUtil::containsMultisetOrWindowedAgg doesn't really check multiset (Xiening Dai)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3825">CALCITE-3825</a>] Split AbstractMaterializedViewRule into multiple classes (addendum)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3824">CALCITE-3824</a>] JoinProjectTransposeRule should skip Projects containing windowing expression (Vineet Garg)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3734">CALCITE-3734</a>] MySQL JDBC rewrite is producing queries with CHAR with range beyond 255 (Vineet Garg)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3817">CALCITE-3817</a>] VolcanoPlanner does not remove the entry in ruleNames when removing a rule
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-2592">CALCITE-2592</a>] EnumerableMergeJoin is never taken
+
+#### Build and test suite
+
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3965">CALCITE-3965</a>] Avoid DiffRepository lock contention
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3924">CALCITE-3924</a>] Fix flakey test to handle TIMESTAMP and TIMESTAMP(0) correctly (neoReMinD)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3888">CALCITE-3888</a>] Switch avatica-server to be test dependency for core
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3660">CALCITE-3660</a>] Disable flaky test PigRelBuilderStyleTest since it fails too often for no reason
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3892">CALCITE-3892</a>] Make junit test classes and methods non-public where possible
+* Update release-plugins: 1.65 -> 1.70
+* Avoid failures in SourceTest when filesystem does not support unicode paths
+* Add AvoidStarImport Checkstyle rule
+* The release tag should be 'calcite-N.N' not 'vN.N'
+
+#### Web site and documentation
+
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3958">CALCITE-3958</a>] Revise documentation of gradle.properties in Cassandra/Piglet and SubstitutionVisitor (xzh)
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3726">CALCITE-3726</a>] Documentation for Declaring Objects For Types Defined In Schema (ritesh-kapoor)
+* Site: Add Ant Financial logo in powered-by image (Wang Yanlin)
+* Site: Change affiliation of Stamatis Zampetakis
+* Site: Add Forward Xu, Jin Xing, Wang Yanlin, as committers
+* Site: Add Vineet Garg as committer
+* Site: Add Feng Zhu as committer
 
 ## <a href="https://github.com/apache/calcite/releases/tag/calcite-1.22.0">1.22.0</a> / 2020-03-05
 {: #v1-22-0}
diff --git a/site/_docs/howto.md b/site/_docs/howto.md
index 9f9ebe5..b74c87e 100644
--- a/site/_docs/howto.md
+++ b/site/_docs/howto.md
@@ -38,8 +38,8 @@ Unpack the source distribution `.tar.gz` file,
 then build using the included maven wrapper:
 
 {% highlight bash %}
-$ tar xvfz calcite-1.22.0-source.tar.gz
-$ cd calcite-1.22.0
+$ tar xvfz calcite-1.23.0-source.tar.gz
+$ cd calcite-1.23.0
 $ ./gradlew build
 {% endhighlight %}
 
@@ -506,7 +506,7 @@ must:
  * resolve the issue (do not close it as this will be done by the release
 manager);
  * select "Fixed" as resolution cause;
- * mark the appropriate version (e.g., 1.22.0) in the "Fix version" field;
+ * mark the appropriate version (e.g., 1.23.0) in the "Fix version" field;
  * add a comment (e.g., "Fixed in ...") with a hyperlink pointing to the commit
 which resolves the issue (in GitHub or GitBox), and also thank the contributor
 for their contribution.