This is an automated email from the ASF dual-hosted git repository. jhyde pushed a commit to branch stage in repository https://gitbox.apache.org/repos/asf/calcite.git
commit 57aafa3551847da0a69696660bfe391e1d3a7a6c Author: Julian Hyde <jh...@apache.org> AuthorDate: Wed Sep 7 21:58:16 2022 -0700 Cosmetic changes to release notes --- site/_docs/history.md | 272 ++++++++++++++++++++++++++++++-------------------- 1 file changed, 161 insertions(+), 111 deletions(-) diff --git a/site/_docs/history.md b/site/_docs/history.md index 13ef8b17ac..098ea89673 100644 --- a/site/_docs/history.md +++ b/site/_docs/history.md @@ -28,6 +28,42 @@ For a full list of releases, see Downloads are available on the [downloads page]({{ site.baseurl }}/downloads/). +{% comment %} +## <a href="https://github.com/apache/calcite/releases/tag/calcite-1.32.0">1.32.0</a> / YYYY-MM-DD +{: #v1-32-0} + +This release comes x months after [1.31.0](#v1-31-0), +contains contributions from x contributors, and resolves x issues. + +Contributors to this release: +x, +y (release manager), +z. + +#### Breaking Changes +{: #breaking-1-32-0} + +Compatibility: This release is tested on Linux, macOS, Microsoft Windows; +using JDK/OpenJDK versions 8 to 18; +Guava versions 19.0 to 31.1-jre; +other software versions as specified in gradle.properties. + +#### New features +{: #new-features-1-32-0} + +#### Dependency version upgrade +{: #dependency-1-32-0} + +#### Bug-fixes, API changes and minor enhancements +{: #fixes-1-32-0} + +#### Build and test suite +{: #build-1-32-0} + +#### Web site and documentation +{: #site-1-32-0} +{% endcomment %} + ## <a href="https://github.com/apache/calcite/releases/tag/calcite-1.31.0">1.31.0</a> / 2022-08-02 {: #v1-31-0} @@ -37,18 +73,17 @@ contains contributions from 28 contributors, and resolves 81 issues. Among others, it is worth highlighting the following improvements: * [<a href="https://issues.apache.org/jira/browse/CALCITE-4865">CALCITE-4865</a>] - Allow table functions to be polymorphic + Allow table functions to be polymorphic * [<a href="https://issues.apache.org/jira/browse/CALCITE-5107">CALCITE-5107</a>] - Support SQL hint for `Filter`, `SetOp`, `Sort`, `Window`, `Values` + Support SQL hint for `Filter`, `SetOp`, `Sort`, `Window`, `Values` * [<a href="https://issues.apache.org/jira/browse/CALCITE-35">CALCITE-35</a>] - Support parsing parenthesized joins + Support parsing parenthesized joins * [<a href="https://issues.apache.org/jira/browse/CALCITE-3890">CALCITE-3890</a>] - Derive `IS NOT NULL` filter for the inputs of inner join + Derive `IS NOT NULL` filter for the inputs of inner join * [<a href="https://issues.apache.org/jira/browse/CALCITE-5085">CALCITE-5085</a>] - Firebolt dialect implementation - + Firebolt dialect implementation -Thanks to all contributors (in alphabetical order): +Contributors to this release: Ada Wang, Andrei Sereda (release manager), Benchao Li, @@ -76,18 +111,16 @@ Volodymyr Vysotskyi, Wenrui Meng, xiejiajun, xurenhe, -zhangyue - +zhangyue. #### Breaking Changes {: #breaking-1-31-0} * [<a href="https://issues.apache.org/jira/browse/CALCITE-4936">CALCITE-4936</a>] - Generalize `FilterCalcMergeRule`/`ProjectCalcMergeRule` to accept any `Filter`/`Project`/`Calc` operator. - - Old behavior: The Project operator is transformed into Calc. - - New behavior: The Project operator is not transformed and the rule becomes NOOP. + Generalize `FilterCalcMergeRule`/`ProjectCalcMergeRule` to accept any + `Filter`/`Project`/`Calc` operator. + * Old behavior: The Project operator is transformed into Calc. + * New behavior: The Project operator is not transformed and the rule becomes NOOP. Compatibility: This release is tested on Linux, macOS, Microsoft Windows; using JDK/OpenJDK versions 8 to 18; @@ -98,164 +131,180 @@ other software versions as specified in gradle.properties. {: #new-features-1-31-0} * [<a href="https://issues.apache.org/jira/browse/CALCITE-4865">CALCITE-4865</a>] - Allow table functions to be polymorphic + Allow table functions to be polymorphic * [<a href="https://issues.apache.org/jira/browse/CALCITE-5089">CALCITE-5089</a>] - Allow `GROUP BY ALL` or `DISTINCT` set quantifier on `GROUPING SETS` + Allow `GROUP BY ALL` or `DISTINCT` set quantifier on `GROUPING SETS` * [<a href="https://issues.apache.org/jira/browse/CALCITE-5085">CALCITE-5085</a>] - Firebolt dialect implementation + Firebolt dialect implementation * [<a href="https://issues.apache.org/jira/browse/CALCITE-5086">CALCITE-5086</a>] - SQL parser should allow `OFFSET` to occur before `LIMIT` + SQL parser should allow `OFFSET` to occur before `LIMIT` * [<a href="https://issues.apache.org/jira/browse/CALCITE-5125">CALCITE-5125</a>] - Extend `||` operator to work with arrays + Extend `||` operator to work with arrays #### Dependency version upgrade {: #dependency-1-31-0} * [<a href="https://issues.apache.org/jira/browse/CALCITE-5196">CALCITE-5196</a>] - Bump apiguardian to 1.1.2 + Bump apiguardian to 1.1.2 * [<a href="https://issues.apache.org/jira/browse/CALCITE-5221">CALCITE-5221</a>] - Upgrade Avatica version to 1.22.0. Vulnerability fix CVE-2022-36364 (see <a href="https://issues.apache.org/jira/browse/CALCITE-5218">CALCITE-5218</a>) + Upgrade Avatica version to 1.22.0. Vulnerability fix + <a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=2022-36364">CVE-2022-36364</a> + (see <a href="https://issues.apache.org/jira/browse/CALCITE-5218">CALCITE-5218</a>) * [<a href="https://issues.apache.org/jira/browse/CALCITE-5115">CALCITE-5115</a>] - Upgrade jackson-databind from 2.9.10.1 to 2.13.2.1, and jackson from 2.10.0 to 2.13.2.1 + Upgrade jackson-databind from 2.9.10.1 to 2.13.2.1, and jackson from 2.10.0 to 2.13.2.1 * [<a href="https://issues.apache.org/jira/browse/CALCITE-5112">CALCITE-5112</a>] - Upgrade Jetty from 9.4.15.v20190215 to 9.4.46.v20220331 + Upgrade Jetty from 9.4.15.v20190215 to 9.4.46.v20220331 * [<a href="https://issues.apache.org/jira/browse/CALCITE-5070">CALCITE-5070</a>] - Upgrade Jekyll and ruby gems for site generation + Upgrade Jekyll and ruby gems for site generation * [<a href="https://issues.apache.org/jira/browse/CALCITE-5037">CALCITE-5037</a>] - Upgrade HSQLDB to 2.5.2 + Upgrade HSQLDB to 2.5.2 #### Bug-fixes, API changes and minor enhancements {: #fixes-1-31-0} * [<a href="https://issues.apache.org/jira/browse/CALCITE-35">CALCITE-35</a>] - Support parsing parenthesized joins + Support parsing parenthesized joins * [<a href="https://issues.apache.org/jira/browse/CALCITE-5169">CALCITE-5169</a>] - `xx < 1 OR xx > 1` cannot be simplified to `xx <> 1` + `xx < 1 OR xx > 1` cannot be simplified to `xx <> 1` * [<a href="https://issues.apache.org/jira/browse/CALCITE-4448">CALCITE-4448</a>] - Use `TableMacro` user-defined table functions with `QueryableTable` + Use `TableMacro` user-defined table functions with `QueryableTable` * [<a href="https://issues.apache.org/jira/browse/CALCITE-5000">CALCITE-5000</a>] - Expand `AGGREGATE_REDUCE_FUNCTIONS`, when arg of agg-call exists in the aggregate's group + Expand `AGGREGATE_REDUCE_FUNCTIONS`, when arg of agg-call exists in the + aggregate's group * [<a href="https://issues.apache.org/jira/browse/CALCITE-5091">CALCITE-5091</a>] - `RelMdRowCount` can return more accurate rowCount when fetch is deterministic and offset is dynamic + `RelMdRowCount` can return more accurate rowCount when fetch is deterministic + and offset is dynamic * [<a href="https://issues.apache.org/jira/browse/CALCITE-5149">CALCITE-5149</a>] - Refine `RelMdColumnUniqueness` for Aggregate by considering intersect keys between target keys and group keys + Refine `RelMdColumnUniqueness` for Aggregate by considering intersect keys + between target keys and group keys * [<a href="https://issues.apache.org/jira/browse/CALCITE-5036">CALCITE-5036</a>] - `RelMdPredicates` support to analyze constant key for the operator of `IS_NOT_DISTINCT_FROM` + `RelMdPredicates` support to analyze constant key for the operator of + `IS_NOT_DISTINCT_FROM` * [<a href="https://issues.apache.org/jira/browse/CALCITE-5044">CALCITE-5044</a>] - JDBC adapter generates integer literal in `ORDER BY`, which some dialects wrongly interpret as a reference to a field + JDBC adapter generates integer literal in `ORDER BY`, which some dialects + wrongly interpret as a reference to a field * [<a href="https://issues.apache.org/jira/browse/CALCITE-4936">CALCITE-4936</a>] - Generalize `FilterCalcMergeRule`/`ProjectCalcMergeRule` to accept any `Filter`/`Project`/`Calc` operator + Generalize `FilterCalcMergeRule`/`ProjectCalcMergeRule` to accept any + `Filter`/`Project`/`Calc` operator * [<a href="https://issues.apache.org/jira/browse/CALCITE-5083">CALCITE-5083</a>] - In `RelBuilder.project_`, do not unwrap SARGs + In `RelBuilder.project_`, do not unwrap SARGs * [<a href="https://issues.apache.org/jira/browse/CALCITE-5061">CALCITE-5061</a>] - Improve recursive application of the field trimming + Improve recursive application of the field trimming * [<a href="https://issues.apache.org/jira/browse/CALCITE-3890">CALCITE-3890</a>] - Derive `IS NOT NULL` filter for the inputs of inner join + Derive `IS NOT NULL` filter for the inputs of inner join * [<a href="https://issues.apache.org/jira/browse/CALCITE-5118">CALCITE-5118</a>] - `SqlDatePartFunction#rewriteCall` should check operands length + `SqlDatePartFunction#rewriteCall` should check operands length * [<a href="https://issues.apache.org/jira/browse/CALCITE-5162">CALCITE-5162</a>] - RelMdUniqueKeys can return more precise unique keys for Aggregate + `RelMdUniqueKeys` can return more precise unique keys for Aggregate * [<a href="https://issues.apache.org/jira/browse/CALCITE-5073">CALCITE-5073</a>] - JoinConditionPushRule cannot infer `LHS.C1 = LHS.C2` from `LHS.C1 = RHS.C1 AND LHS.C2 = RHS.C1` + `JoinConditionPushRule` cannot infer `LHS.C1 = LHS.C2` from + `LHS.C1 = RHS.C1 AND LHS.C2 = RHS.C1` * [<a href="https://issues.apache.org/jira/browse/CALCITE-5107">CALCITE-5107</a>] - Support SQL hint for `Filter`, `SetOp`, `Sort`, `Window`, `Values` - - + Support SQL hint for `Filter`, `SetOp`, `Sort`, `Window`, `Values` * [<a href="https://issues.apache.org/jira/browse/CALCITE-5194">CALCITE-5194</a>] - Cannot parse parenthesized `UNION` in `FROM` + Cannot parse parenthesized `UNION` in `FROM` * [<a href="https://issues.apache.org/jira/browse/CALCITE-5206">CALCITE-5206</a>] - Parser allows `MERGE` with mismatched parentheses + Parser allows `MERGE` with mismatched parentheses * [<a href="https://issues.apache.org/jira/browse/CALCITE-4746">CALCITE-4746</a>] - `PIVOT` with aggregate and no without alias fails in Babel parser + `PIVOT` with aggregate and no without alias fails in Babel parser * [<a href="https://issues.apache.org/jira/browse/CALCITE-5045">CALCITE-5045</a>] - Alias within GroupingSets throws type mis-match exception + Alias within GroupingSets throws type mis-match exception * [<a href="https://issues.apache.org/jira/browse/CALCITE-5145">CALCITE-5145</a>] - `CASE` statement within `GROUPING SETS` throws type mis-match exception + `CASE` statement within `GROUPING SETS` throws type mis-match exception * [<a href="https://issues.apache.org/jira/browse/CALCITE-5195">CALCITE-5195</a>] - `ArrayIndexOutOfBoundsException` when inferring more equal conditions from join condition for semi join + `ArrayIndexOutOfBoundsException` when inferring more equal conditions from join + condition for semi join * [<a href="https://issues.apache.org/jira/browse/CALCITE-5157">CALCITE-5157</a>] - Query that applies dot operator (field access) to parenthesized expression throws `ClassCastException` + Query that applies dot operator (field access) to parenthesized expression + throws `ClassCastException` * [<a href="https://issues.apache.org/jira/browse/CALCITE-5191">CALCITE-5191</a>] - Allow `ORDER BY` alias in BigQuery + Allow `ORDER BY` alias in BigQuery * [<a href="https://issues.apache.org/jira/browse/CALCITE-5134">CALCITE-5134</a>] - Queries with subquery inside select list does not work if subquery uses table from left join + Queries with subquery inside select list does not work if subquery uses table + from left join * [<a href="https://issues.apache.org/jira/browse/CALCITE-5177">CALCITE-5177</a>] - Query loses hint after decorrelation + Query loses hint after decorrelation * [<a href="https://issues.apache.org/jira/browse/CALCITE-5143">CALCITE-5143</a>] - Allow custom time unit abbreviations in `FLOOR`, `CEIL`, `EXTRACT`, `DATE_PART`, `DATEADD`, `DATEDIFF` and similar functions + Allow custom time unit abbreviations in `FLOOR`, `CEIL`, `EXTRACT`, + `DATE_PART`, `DATEADD`, `DATEDIFF` and similar functions * [<a href="https://issues.apache.org/jira/browse/CALCITE-5179">CALCITE-5179</a>] - In `RelToSqlConverter`, `AssertionError` for values with more than two items when `SqlDialect#supportsAliasedValues` is false + In `RelToSqlConverter`, `AssertionError` for values with more than two items + when `SqlDialect#supportsAliasedValues` is false * [<a href="https://issues.apache.org/jira/browse/CALCITE-4907">CALCITE-4907</a>] - JDBC adapter cannot push down join ON `TRUE` (cartesian product) + JDBC adapter cannot push down join ON `TRUE` (cartesian product) * [<a href="https://issues.apache.org/jira/browse/CALCITE-5147">CALCITE-5147</a>] - Allow `DATE`, `TIME`, `TIMESTAMP`, `INTERVAL` literals in BigQuery dialect + Allow `DATE`, `TIME`, `TIMESTAMP`, `INTERVAL` literals in BigQuery dialect * [<a href="https://issues.apache.org/jira/browse/CALCITE-5013">CALCITE-5013</a>] - Unparse SqlSetOperator should be retained parentheses when generating SQL for `UNION ... LIMIT` + Unparse `SqlSetOperator` should be retained parentheses when generating SQL for + `UNION ... LIMIT` * [<a href="https://issues.apache.org/jira/browse/CALCITE-4897">CALCITE-4897</a>] - Implicit type conversion is not complete for set operation in DML + Implicit type conversion is not complete for set operation in DML * [<a href="https://issues.apache.org/jira/browse/CALCITE-5027">CALCITE-5027</a>] - Incorrect format for timestamp literals in SqlDialect#quoteTimestampLiteral + Incorrect format for timestamp literals in `SqlDialect.quoteTimestampLiteral` * [<a href="https://issues.apache.org/jira/browse/CALCITE-5153">CALCITE-5153</a>] - Create an immutable version of ListSqlOperatorTable + Create an immutable version of `ListSqlOperatorTable` * [<a href="https://issues.apache.org/jira/browse/CALCITE-5139">CALCITE-5139</a>] - Improve Join print plan to add the `CorrelationId` info + Improve Join print plan to add the `CorrelationId` info * [<a href="https://issues.apache.org/jira/browse/CALCITE-5003">CALCITE-5003</a>] - MergeUnion on types with different collators produces wrong result + `MergeUnion` on types with different collators produces wrong result * [<a href="https://issues.apache.org/jira/browse/CALCITE-5117">CALCITE-5117</a>] - Optimize the `EXISTS` sub-query by Metadata RowCount + Optimize the `EXISTS` sub-query using `RelMdRowCount` metadata * [<a href="https://issues.apache.org/jira/browse/CALCITE-4861">CALCITE-4861</a>] - Optimization of chained `CAST` calls can lead to unexpected behavior + Optimization of chained `CAST` calls can lead to unexpected behavior * [<a href="https://issues.apache.org/jira/browse/CALCITE-5048">CALCITE-5048</a>] - Query with parameterized `LIMIT` and correlated sub-query throws `AssertionError not a literal` + Query with parameterized `LIMIT` and correlated sub-query throws + `AssertionError`, "not a literal" * [<a href="https://issues.apache.org/jira/browse/CALCITE-5032">CALCITE-5032</a>] - `RelOptUtil#splitJoinCondition` returns wrong when there is no equal condition + `RelOptUtil#splitJoinCondition` returns wrong when there is no equal condition * [<a href="https://issues.apache.org/jira/browse/CALCITE-4992">CALCITE-4992</a>] - Resource leak in Elasticsearch adapter + Resource leak in Elasticsearch adapter * [<a href="https://issues.apache.org/jira/browse/CALCITE-4401">CALCITE-4401</a>] - `SqlJoin.toString` throws RuntimeException, "No list started" + `SqlJoin.toString` throws `RuntimeException`, "No list started" * [<a href="https://issues.apache.org/jira/browse/CALCITE-5088">CALCITE-5088</a>] - JsonBuilder should escape backslashes in JSON strings + `JsonBuilder` should escape backslashes in JSON strings * [<a href="https://issues.apache.org/jira/browse/CALCITE-5021">CALCITE-5021</a>] - Double `JOIN` is created for `NOT IN` when `IN`-list that the values all non-nullable is converted to Values + Double `JOIN` is created for `NOT IN` when `IN`-list that the values all + non-nullable is converted to `Values` * [<a href="https://issues.apache.org/jira/browse/CALCITE-5064">CALCITE-5064</a>] - Dialect factory returns ANSI SQL dialect for BigQuery + Dialect factory returns ANSI SQL dialect for BigQuery * [<a href="https://issues.apache.org/jira/browse/CALCITE-4989">CALCITE-4989</a>] - Nested JSON_OBJECT creation does not produce proper json + Nested JSON_OBJECT creation does not produce proper JSON * [<a href="https://issues.apache.org/jira/browse/CALCITE-5050">CALCITE-5050</a>] - Metadata (`RelMdRowCount`) should reflect the fact that an `Aggregate` with no `GROUP BY` always returns 1 row + Metadata (`RelMdRowCount`) should reflect the fact that an `Aggregate` with no + `GROUP BY` always returns 1 row * [<a href="https://issues.apache.org/jira/browse/CALCITE-4913">CALCITE-4913</a>] - Deduplicate correlated variables in `SELECT` clause + Deduplicate correlated variables in `SELECT` clause * [<a href="https://issues.apache.org/jira/browse/CALCITE-5150">CALCITE-5150</a>] - Parser should parse subquery with order by inside array constructor + Parser should parse subquery with order by inside array constructor * [<a href="https://issues.apache.org/jira/browse/CALCITE-5171">CALCITE-5171</a>] - `NATURAL` join and `USING` should fail if join columns are not unique + `NATURAL` join and `USING` should fail if join columns are not unique * [<a href="https://issues.apache.org/jira/browse/CALCITE-5170">CALCITE-5170</a>] - Assertion error on range distribution creation + Assertion error on range distribution creation * [<a href="https://issues.apache.org/jira/browse/CALCITE-5163">CALCITE-5163</a>] - `MysqlSqlDialect` support to unparse `LISTAGG` aggregate function + `MysqlSqlDialect` support to unparse `LISTAGG` aggregate function * [<a href="https://issues.apache.org/jira/browse/CALCITE-5166">CALCITE-5166</a>] - Method `accept(RelShuttle)` is not overridden in `LogicalCalc` and `LogicalTableModify` + Method `accept(RelShuttle)` is not overridden in `LogicalCalc` and + `LogicalTableModify` * [<a href="https://issues.apache.org/jira/browse/CALCITE-5137">CALCITE-5137</a>] - EnumerableUncollect throws NPE if input has ((List) null) + `EnumerableUncollect` throws `NullPointerException` if input has ((List) null) * [<a href="https://issues.apache.org/jira/browse/CALCITE-5081">CALCITE-5081</a>] - Group keys of Aggregate are wrongly changed during decorrelation + Group keys of Aggregate are wrongly changed during decorrelation * [<a href="https://issues.apache.org/jira/browse/CALCITE-5138">CALCITE-5138</a>] - Join on condition generates wrong plan when the condition is sub-query + Join on condition generates wrong plan when the condition is sub-query * [<a href="https://issues.apache.org/jira/browse/CALCITE-5131">CALCITE-5131</a>] - Remove redundant type cast - + Remove redundant type cast #### Build and test suite {: #build-1-31-0} * [<a href="https://issues.apache.org/jira/browse/CALCITE-5095">CALCITE-5095</a>] - Support Java 18 and Guava 31.1-jre + Support Java 18 and Guava 31.1-jre * [<a href="https://issues.apache.org/jira/browse/CALCITE-5140">CALCITE-5140</a>] - Spark, Piglet tests fail in GitHub CI with OpenJ9 + Spark, Piglet tests fail in GitHub CI with OpenJ9 * [<a href="https://issues.apache.org/jira/browse/CALCITE-4147">CALCITE-4147</a>] - Rename master branch to main + Rename master branch to main * [<a href="https://issues.apache.org/jira/browse/CALCITE-5038">CALCITE-5038</a>] - Making `AGGREGATE_ANY_PULL_UP_CONSTANTS`'s test case more rigorous + Making `AGGREGATE_ANY_PULL_UP_CONSTANTS`'s test case more rigorous #### Web site and documentation {: #site-1-31-0} @@ -267,26 +316,26 @@ other software versions as specified in gradle.properties. * Site: Remove missing avatar for Ted Dunning * Site: Fix release announcement for 1.30.0 * [<a href="https://issues.apache.org/jira/browse/CALCITE-5075">CALCITE-5075</a>] - Build fails due to rat check on Gemfile.lock + Build fails due to rat check on Gemfile.lock * [<a href="https://issues.apache.org/jira/browse/CALCITE-5079">CALCITE-5079</a>] - Update code demo of tutorial + Update code demo of tutorial * [<a href="https://issues.apache.org/jira/browse/CALCITE-5102">CALCITE-5102</a>] - Update github-pages gem for site build + Update github-pages gem for site build * [<a href="https://issues.apache.org/jira/browse/CALCITE-5106">CALCITE-5106</a>] - Upgrade to Jekyll 4 and remove unnecessary dependencies from gemfile for site + Upgrade to Jekyll 4 and remove unnecessary dependencies from gemfile for site * [<a href="https://issues.apache.org/jira/browse/CALCITE-5108">CALCITE-5108</a>] - Make website GDPR-compliant + Make website GDPR-compliant * [<a href="https://issues.apache.org/jira/browse/CALCITE-5110">CALCITE-5110</a>] - Geode adapter's java doc url is invalid + Geode adapter's java doc url is invalid * [<a href="https://issues.apache.org/jira/browse/CALCITE-5165">CALCITE-5165</a>] - Improve javadoc + Improve javadoc * [<a href="https://issues.apache.org/jira/browse/CALCITE-3129">CALCITE-3129</a>] - Automate website builds + Automate website builds * [<a href="https://issues.apache.org/jira/browse/CALCITE-5111">CALCITE-5111</a>] - jekyll-cache directory should be ignored by git + jekyll-cache directory should be ignored by git * [<a href="https://issues.apache.org/jira/browse/CALCITE-5015">CALCITE-5015</a>] - Fix typo in PartiallyOrderedSet - + Fix typo in `PartiallyOrderedSet` + ## <a href="https://github.com/apache/calcite/releases/tag/calcite-1.30.0">1.30.0</a> / 2022-03-20 {: #v1-30-0} @@ -307,7 +356,6 @@ Guava versions 19.0 to 31.0.1-jre; other software versions as specified in gradle.properties. Contributors to this release: - Alessandro Solimando, Bill Neil, Chen Kai, @@ -319,8 +367,9 @@ Jay Narale, Jiatao Tao, Jing Zhang, Julian Hyde, -LM Kang, Liya Fan (release manager), +LM Kang, +mans2singh, Marco Jorge, Marieke Gueye, NobiGo, @@ -332,11 +381,10 @@ Stamatis Zampetakis, Vova Vysotskyi, Will Noble, Xiong Duan, +Xurenhe, Yanjing Wang, Yiqun Zhang, -Xurenhe, -Zhe Hu, -mans2singh. +Zhe Hu. #### New features {: #new-features-1-30-0} @@ -398,7 +446,8 @@ mans2singh. * [<a href="https://issues.apache.org/jira/browse/CALCITE-4323">CALCITE-4323</a>] If a view definition has an `ORDER BY` clause, retain the sort if the view is used in a query at top level * [<a href="https://issues.apache.org/jira/browse/CALCITE-4054">CALCITE-4054</a>] - `RepeatUnion` containing a `Correlate` with a `transientScan` on its RHS causes NPE + `RepeatUnion` containing a `Correlate` with a `transientScan` on its RHS + causes `NullPointerException` * [<a href="https://issues.apache.org/jira/browse/CALCITE-3673">CALCITE-3673</a>] `ListTransientTable` should not leave tables in the schema * [<a href="https://issues.apache.org/jira/browse/CALCITE-3627">CALCITE-3627</a>] @@ -1156,7 +1205,8 @@ other software versions as specified in gradle.properties. * [<a href="https://issues.apache.org/jira/browse/CALCITE-4214">CALCITE-4214</a>] Make `RelDataType#getSqlTypeName` non-nullable * [<a href="https://issues.apache.org/jira/browse/CALCITE-4251">CALCITE-4251</a>] - `NPE` in `LoptMultiJoin` when `mq#getColumnOrigin(left, i)` returns `null` + `NullPointerException` in `LoptMultiJoin` when `mq#getColumnOrigin(left, i)` + returns `null` * [<a href="https://issues.apache.org/jira/browse/CALCITE-4415">CALCITE-4415</a>] `SqlStdOperatorTable.NOT_LIKE` has a wrong implementor * [<a href="https://issues.apache.org/jira/browse/CALCITE-4317">CALCITE-4317</a>] @@ -1169,8 +1219,8 @@ other software versions as specified in gradle.properties. Improve exception when `RelBuilder` tries to create a field on a non-struct expression * [<a href="https://issues.apache.org/jira/browse/CALCITE-4393">CALCITE-4393</a>] - `ExceptionInInitializerError` due to `NPE` in `SqlCallBinding` caused by circular - dependency + `ExceptionInInitializerError` due to `NullPointerException` in `SqlCallBinding` + caused by circular dependency * [<a href="https://issues.apache.org/jira/browse/CALCITE-4251">CALCITE-4251</a>] Support `Calc` and `SetOp` operator in `RelMdAllPredicates` (Xu Zhaohui) * [<a href="https://issues.apache.org/jira/browse/CALCITE-4402">CALCITE-4402</a>] @@ -1253,8 +1303,8 @@ other software versions as specified in gradle.properties. * Remove the insecure, unused `TrustAllSslSocketFactory` class (intrigus-lgtm) * Remove multiple blank lines after package statements * Remove multiple blank lines after import statements -* Cleanup code after errorprone upgrade: `IdentityHashMapUsage`, `JdkObsolete` -> - `JavaUtilDate` +* Cleanup code after errorprone upgrade: `IdentityHashMapUsage`, `JdkObsolete` + → `JavaUtilDate` #### Build and test suite {: #build-1-27-0}