You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@calcite.apache.org by jh...@apache.org on 2022/09/10 16:39:17 UTC
[calcite] branch main updated (e2f949d5d -> f72f2a4fc)
This is an automated email from the ASF dual-hosted git repository.
jhyde pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/calcite.git
from e2f949d5d [CALCITE-5126] Implicit column alias for single-column UNNEST should work with any single-column UNNEST’s input
add 3d39fdcee [CALCITE-5243] `SELECT NULL AS C` causes NoSuchMethodException: java.sql.ResultSet.getVoid(int)
add 71e30e2c7 [CALCITE-4999] ARRAY, MULTISET functions should return a collection of scalars if a sub-query returns 1 column
add fe1455936 [CALCITE-5247] FilterJoinRule cannot simplify left join to inner join for `WHERE RHS.C1 IS NOT NULL OR RHS.C2 IS NOT NULL`
add 250d13c56 [CALCITE-4294] Use JTS and proj4j rather than ESRI as the underlying library for geospatial (ST_) functions
add df8ee289b Add tests for correlated CTEs
add ba80b9156 [CALCITE-5263] Improve XmlFunctions by using an XML DocumentBuilder
add baeecc82b [CALCITE-5251] Support SQL hint for Snapshot
add 6302e6fa8 [CALCITE-5277] Make EnumerableRelImplementor stashedParameters order deterministic to increase BINDABLE_CACHE hit rate
add d20fd09a1 [CALCITE-5274] Improve DocumentBuilderFactory in DiffRepository test class by using secure features
add 89c940cc8 [CALCITE-5241] Implement CHAR function for MySQL and Spark, also JDBC '{fn CHAR(n)}'
add 1167b1257 [CALCITE-5270] JDBC adapter should not generate 'FILTER (WHERE)' in Firebolt dialect
add 479afa681 [CALCITE-5278] Upgrade Janino from 3.1.6 to 3.1.8
add 262492527 [CALCITE-5262] Add many spatial functions, including support for WKB (well-known binary) and GeoJSON
add 57aafa355 Cosmetic changes to release notes
add 413eded69 [CALCITE-5275] Release Calcite 1.32.0
new f72f2a4fc Prepare for next development iteration
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:
README | 2 +-
bom/build.gradle.kts | 4 +-
core/build.gradle.kts | 4 +-
core/src/main/codegen/templates/Parser.jj | 1 +
.../adapter/enumerable/EnumerableCollect.java | 30 +-
.../enumerable/EnumerableRelImplementor.java | 14 +-
.../calcite/adapter/enumerable/RexImpTable.java | 5 +-
.../adapter/enumerable/RexToLixTranslator.java | 8 +-
.../adapter/jdbc/JdbcToEnumerableConverter.java | 4 +
.../apache/calcite/jdbc/JavaTypeFactoryImpl.java | 4 +-
.../main/java/org/apache/calcite/plan/Strong.java | 27 +-
.../java/org/apache/calcite/rel/core/Collect.java | 45 +
.../java/org/apache/calcite/rel/core/Snapshot.java | 33 +-
.../apache/calcite/rel/hint/HintPredicates.java | 5 +
.../calcite/rel/hint/NodeTypeHintPredicate.java | 8 +-
.../calcite/rel/logical/LogicalSnapshot.java | 29 +-
.../apache/calcite/rel/mutable/MutableRels.java | 3 +-
.../org/apache/calcite/rel/rules/SpatialRules.java | 37 +-
.../calcite/rel/rules/SubQueryRemoveRule.java | 14 +-
.../java/org/apache/calcite/rex/RexBuilder.java | 4 +-
.../java/org/apache/calcite/rex/RexLiteral.java | 8 +-
.../java/org/apache/calcite/rex/RexSubQuery.java | 9 +-
.../calcite/runtime/CoordinateTransformer.java | 51 +
.../org/apache/calcite/runtime/GeoFunctions.java | 595 --------
.../org/apache/calcite/runtime/Geometries.java | 293 ----
.../calcite/runtime/ProjectionTransformer.java | 166 +++
.../calcite/runtime/SpatialTypeFunctions.java | 1424 ++++++++++++++++++++
.../apache/calcite/runtime/SpatialTypeUtils.java | 261 ++++
.../org/apache/calcite/runtime/SqlFunctions.java | 19 +-
.../org/apache/calcite/runtime/XmlFunctions.java | 67 +-
.../apache/calcite/sql/SqlJdbcFunctionCall.java | 1 +
.../calcite/sql/dialect/FireboltSqlDialect.java | 4 +
.../calcite/sql/fun/SqlArrayQueryConstructor.java | 2 +-
.../calcite/sql/fun/SqlLibraryOperators.java | 15 +-
.../sql/fun/SqlMultisetQueryConstructor.java | 2 +-
...Functions.java => SqlSpatialTypeFunctions.java} | 29 +-
.../sql/type/JavaToSqlTypeConversionRules.java | 4 +-
.../org/apache/calcite/sql/type/ReturnTypes.java | 7 +
.../apache/calcite/sql/type/SqlTypeTransforms.java | 21 +
.../org/apache/calcite/sql/type/SqlTypeUtil.java | 22 +
.../apache/calcite/sql/util/SqlOperatorTables.java | 8 +-
.../apache/calcite/sql2rel/SqlToRelConverter.java | 6 +-
.../calcite/sql2rel/StandardConvertletTable.java | 16 +-
.../org/apache/calcite/util/BuiltInMethod.java | 6 +-
.../calcite/adapter/enumerable/EnumUtilsTest.java | 6 +-
.../calcite/rel/rel2sql/RelToSqlConverterTest.java | 34 +-
.../org/apache/calcite/rex/RexProgramTest.java | 3 +
.../calcite/runtime/SpatialTypeUtilsTest.java | 48 +
.../apache/calcite/sql/test/SqlAdvisorTest.java | 1 +
.../org/apache/calcite/test/JdbcAdapterTest.java | 13 +
.../java/org/apache/calcite/test/JdbcTest.java | 10 +-
.../org/apache/calcite/test/RelOptRulesTest.java | 42 +-
.../apache/calcite/test/SqlHintsConverterTest.java | 13 +
.../org/apache/calcite/test/SqlValidatorTest.java | 32 +-
.../apache/calcite/test/SqlXmlFunctionsTest.java | 48 +
.../org/apache/calcite/test/RelOptRulesTest.xml | 70 +-
.../apache/calcite/test/SqlHintsConverterTest.xml | 23 +-
core/src/test/resources/sql/functions.iq | 15 +-
core/src/test/resources/sql/spatial.iq | 1196 +++++++++++++---
core/src/test/resources/sql/sub-query.iq | 56 +-
.../adapter/geode/rel/GeodeSchemaFactory.java | 4 +-
gradle.properties | 8 +-
site/_docs/history.md | 406 ++++--
site/_docs/howto.md | 13 +-
site/_docs/reference.md | 175 +--
site/_docs/spatial.md | 2 +-
site/_posts/2022-09-10-release-1.32.0.md | 49 +
src/main/config/checkstyle/suppressions.xml | 2 +-
.../org/apache/calcite/test/CalciteAssert.java | 10 +-
.../org/apache/calcite/test/DiffRepository.java | 32 +-
.../org/apache/calcite/test/SqlOperatorTest.java | 53 +-
.../java/org/apache/calcite/util/TestUtil.java | 63 +
.../java/org/apache/calcite/util/TestUtilTest.java | 20 +
73 files changed, 4274 insertions(+), 1490 deletions(-)
create mode 100644 core/src/main/java/org/apache/calcite/runtime/CoordinateTransformer.java
delete mode 100644 core/src/main/java/org/apache/calcite/runtime/GeoFunctions.java
delete mode 100644 core/src/main/java/org/apache/calcite/runtime/Geometries.java
create mode 100644 core/src/main/java/org/apache/calcite/runtime/ProjectionTransformer.java
create mode 100644 core/src/main/java/org/apache/calcite/runtime/SpatialTypeFunctions.java
create mode 100644 core/src/main/java/org/apache/calcite/runtime/SpatialTypeUtils.java
rename core/src/main/java/org/apache/calcite/sql/fun/{SqlGeoFunctions.java => SqlSpatialTypeFunctions.java} (84%)
create mode 100644 core/src/test/java/org/apache/calcite/runtime/SpatialTypeUtilsTest.java
create mode 100644 site/_posts/2022-09-10-release-1.32.0.md
[calcite] 01/01: Prepare for next development iteration
Posted by jh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
jhyde pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/calcite.git
commit f72f2a4fc055b8ad51aaac380fcfde4db7ed9c7d
Author: Julian Hyde <jh...@apache.org>
AuthorDate: Sat Sep 10 00:49:04 2022 -0700
Prepare for next development iteration
---
gradle.properties | 2 +-
site/_docs/history.md | 37 +++++++++++++++++++-----
site/_docs/howto.md | 7 ++---
site/_posts/2022-09-10-release-1.32.0.md | 49 ++++++++++++++++++++++++++++++++
4 files changed, 82 insertions(+), 13 deletions(-)
diff --git a/gradle.properties b/gradle.properties
index 0c7b4e502..f50de1ee4 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -27,7 +27,7 @@ systemProp.org.gradle.internal.publish.checksums.insecure=true
# This is version for Calcite itself
# Note: it should not include "-SNAPSHOT" as it is automatically added by build.gradle.kts
# Release version can be generated by using -Prelease or -Prc=<int> arguments
-calcite.version=1.32.0
+calcite.version=1.33.0
# This is a version to be used from Maven repository. It can be overridden by localAvatica below
calcite.avatica.version=1.22.0
diff --git a/site/_docs/history.md b/site/_docs/history.md
index 0b97b636b..1b3fcfc6c 100644
--- a/site/_docs/history.md
+++ b/site/_docs/history.md
@@ -28,6 +28,7 @@ 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.33.0">1.33.0</a> / YYYY-MM-DD
{: #v1-33-0}
@@ -64,12 +65,28 @@ other software versions as specified in gradle.properties.
{: #site-1-33-0}
{% endcomment %}
+-->
-## <a href="https://github.com/apache/calcite/releases/tag/calcite-1.32.0">1.32.0</a> / 2022-09-12
+## <a href="https://github.com/apache/calcite/releases/tag/calcite-1.32.0">1.32.0</a> / 2022-09-10
{: #v1-32-0}
-This release comes 1 month after [1.31.0](#v1-31-0),
-contains contributions from 15 contributors, and resolves x issues.
+Coming 1 month after [1.31.0](#v1-31-0) with 19 issues fixed by 16
+contributors, this release fixes
+<a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=2022-39135">CVE-2022-39135</a>,
+an XML External Entity (XEE) vulnerability that allows a SQL query to
+read the contents of files via the SQL functions `EXISTS_NODE`,
+`EXTRACT_XML`, `XML_TRANSFORM` or `EXTRACT_VALUE`.
+
+With contributions from 16 contributors, this release
+<a href="https://issues.apache.org/jira/browse/CALCITE-4294">replaces
+the ESRI spatial engine with JTS and proj4j</a>, adds
+<a href="https://issues.apache.org/jira/browse/CALCITE-5262">65
+spatial SQL functions</a> including `ST_Centroid`, `ST_Covers` and
+`ST_GeomFromGeoJSON`, adds the
+<a href="https://issues.apache.org/jira/browse/CALCITE-5241">CHAR</a>
+SQL function, and improves the return type of the
+<a href="https://issues.apache.org/jira/browse/CALCITE-4999">ARRAY and
+MULTISET</a> functions.
Contributors to this release:
Alessandro Solimando,
@@ -82,9 +99,11 @@ Dmitry Sysolyatin,
Jiajun Bernoulli,
Jing Zhang,
Julian Hyde (release manager),
+Lincoln Lee,
Mou Wu,
Ruben Quesada Lopez,
Stamatis Zampetakis,
+TJ Banghart,
Zhengqiang Duan.
{: #breaking-1-32-0}
@@ -130,7 +149,10 @@ other software versions as specified in gradle.properties.
Increase `BINDABLE_CACHE` hit rate by making the order of
`EnumerableRelImplementor.stashedParameters` deterministic
* [<a href="https://issues.apache.org/jira/browse/CALCITE-5263">CALCITE-5263</a>]
- Improve `XmlFunctions` by using an XML `DocumentBuilder`
+ SQL functions `EXISTS_NODE`, `EXTRACT_XML`, `XML_TRANSFORM` and `EXTRACT_VALUE`
+ allow user files to be read via XML External Entity (XEE) vulnerability
+ <a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=2022-39135">CVE-2022-39135</a>
+ (fixed by using a secure implementation of XML `DocumentBuilder`)
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4294">CALCITE-4294</a>]
Use JTS and proj4j rather than ESRI as the underlying library for geospatial
(`ST_`) functions
@@ -166,9 +188,7 @@ other software versions as specified in gradle.properties.
* Cosmetic changes to release notes
* Remove redundant 'the' in javadoc
* Change sereda's role from Committer to PMC
-* [<a href="https://issues.apache.org/jira/browse/CALCITE-5092">CALCITE-5092</a>]
- Update site/README.md about how to release the site
-* Fix 1.31.0 release date to 2022-08-22 (was 2022-08-22)
+* Fix 1.31.0 release date to 2022-08-02 (was 2022-08-01)
* Fix checkstyle violation for Calcite 1.31 release note
## <a href="https://github.com/apache/calcite/releases/tag/calcite-1.31.0">1.31.0</a> / 2022-08-02
@@ -416,6 +436,9 @@ other software versions as specified in gradle.properties.
#### Web site and documentation
{: #site-1-31-0}
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-5092">CALCITE-5092</a>]
+ Update [site/README.md](https://github.com/apache/calcite/blob/main/site/README.md)
+ about how to release the site
* Site: Add Jing Zhang as committer
* Site: Add Benchao Li as committer
* Site: Add Chunwei Lei and Vladimir Ozerov as PMC members
diff --git a/site/_docs/howto.md b/site/_docs/howto.md
index 6876ca70d..4025da758 100644
--- a/site/_docs/howto.md
+++ b/site/_docs/howto.md
@@ -755,7 +755,7 @@ The release candidate process does not add commits,
so there's no harm if it fails. It might leave `-rc` tag behind
which can be removed if required.
-You can perform a dry-run release with a help of
+If you wish, you can perform a dry-run release with a help of
[asflike-release-environment](https://github.com/vlsi/asflike-release-environment);
it would perform the same steps, but it would push changes to the mock Nexus, Git, and SVN servers.
@@ -820,11 +820,8 @@ Verify the staged artifacts in the Nexus repository:
* Go to [https://repository.apache.org/](https://repository.apache.org/) and login
* Under `Build Promotion`, click `Staging Repositories`
* In the `Staging Repositories` tab there should be a line with profile `org.apache.calcite`
+ and status `closed`
* Navigate through the artifact tree and make sure the .jar, .pom, .asc files are present
-* Check the box on in the first column of the row,
- and press the 'Close' button to publish the repository at
- https://repository.apache.org/content/repositories/orgapachecalcite-1000
- (or a similar URL)
## Cleaning up after a failed release attempt
diff --git a/site/_posts/2022-09-10-release-1.32.0.md b/site/_posts/2022-09-10-release-1.32.0.md
new file mode 100644
index 000000000..3f8db3f86
--- /dev/null
+++ b/site/_posts/2022-09-10-release-1.32.0.md
@@ -0,0 +1,49 @@
+---
+layout: news_item
+date: "2022-09-10 12:00:00 +0000"
+author: jhyde
+version: 1.32.0
+categories: [release]
+tag: v1-32-0
+sha: 413eded6
+---
+<!--
+{% comment %}
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to you under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License. You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+{% endcomment %}
+-->
+
+The [Apache Calcite PMC]({{ site.baseurl }})
+is pleased to announce
+[Apache Calcite release 1.32.0]({{ site.baseurl }}/docs/history.html#v1-32-0).
+
+Coming 1 month after [1.31.0](#v1-31-0) with 19 issues fixed by 16
+contributors, this release fixes
+<a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=2022-39135">CVE-2022-39135</a>,
+an XML External Entity (XEE) vulnerability that allows a SQL query to
+read the contents of files via the SQL functions `EXISTS_NODE`,
+`EXTRACT_XML`, `XML_TRANSFORM` or `EXTRACT_VALUE`.
+
+With contributions from 16 contributors, this release
+<a href="https://issues.apache.org/jira/browse/CALCITE-4294">replaces
+the ESRI spatial engine with JTS and proj4j</a>, adds
+<a href="https://issues.apache.org/jira/browse/CALCITE-5262">65
+spatial SQL functions</a> including `ST_Centroid`, `ST_Covers` and
+`ST_GeomFromGeoJSON`, adds the
+<a href="https://issues.apache.org/jira/browse/CALCITE-5241">CHAR</a>
+SQL function, and improves the return type of the
+<a href="https://issues.apache.org/jira/browse/CALCITE-4999">ARRAY and
+MULTISET</a> functions.