[CALCITE-5275] Release Calcite 1.32.0
Assets
2
-
3 days ago
-
3 days ago
转自 https://github.com/apache/calcite/releases/tag/calcite-1.32.0
更新内容
This release fixes CVE-2022-39135, 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
.
Coming 1 month after 1.31.0 with 19 issues fixed by 17 contributors, this release also replaces the ESRI spatial engine with JTS and proj4j, adds 65 spatial SQL functions including ST_Centroid
, ST_Covers
and ST_GeomFromGeoJSON
, adds the CHAR SQL function, and improves the return type of the ARRAY and MULTISET functions.
Contributors to this release: Alessandro Solimando, Ali Mansour, Andrei Sereda, Benchao Li, Bertil Chapuis, Chunwei Lei, David Handermann, Dmitry Sysolyatin, Jiajun Bernoulli, Jing Zhang, Julian Hyde (release manager), Lincoln Lee, Mou Wu, Ruben Quesada Lopez, Stamatis Zampetakis, TJ Banghart, Zhengqiang Duan.
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 featuresPermalink
- [CALCITE-5262] Add many spatial functions, including support for WKB (well-known binary) and GeoJSON
- [CALCITE-5241] Implement
CHAR
function for MySQL and Spark, also JDBC{fn CHAR(n)}
- [CALCITE-5251] Support SQL hint for
Snapshot
- [CALCITE-4802] Support
IF(condition, then, else)
statements in Babel parser - [CALCITE-4999]
ARRAY
,MULTISET
functions should return a collection of scalars if a sub-query returns 1 column - [CALCITE-5126] Implicit column alias for single-column
UNNEST
should work with any single-columnUNNEST
’s input
Dependency version upgradePermalink
- [CALCITE-5278] Upgrade Janino from 3.1.6 to 3.1.8
- [CALCITE-5232] Upgrade protobuf-java from 3.17.1 to 3.21.5
Bug-fixes, API changes and minor enhancementsPermalink
- [CALCITE-5270] JDBC adapter should not generate
FILTER (WHERE ...)
in Firebolt dialect - [CALCITE-5277] Increase
BINDABLE_CACHE
hit rate by making the order ofEnumerableRelImplementor.stashedParameters
deterministic - [CALCITE-5263] SQL functions
EXISTS_NODE
,EXTRACT_XML
,XML_TRANSFORM
andEXTRACT_VALUE
allow user files to be read via XML External Entity (XEE) vulnerability CVE-2022-39135 (fixed by using a secure implementation of XMLDocumentBuilder
) - [CALCITE-4294] Use JTS and proj4j rather than ESRI as the underlying library for geospatial (
ST_
) functions - [CALCITE-5247]
FilterJoinRule
cannot simplify left join to inner join forWHERE RHS.C1 IS NOT NULL OR RHS.C2 IS NOT NULL
- [CALCITE-5243]
SELECT NULL AS C
causesNoSuchMethodException: java.sql.ResultSet.getVoid(int)
- [CALCITE-5201] Improve
SemiJoinRule
to matchJoin
’s right input which is unique for join keys - [CALCITE-4223] Metadata handlers for
TableScan
should see whether theRelOptTable
implements the handler - [CALCITE-5178] Single column with
ROW
type generates wrong plan
Build and test suitePermalink
- [CALCITE-5274] In
DiffRepository
, use a more secureDocumentBuilderFactory
instance - Add tests for correlated CTEs
- [CALCITE-5192]
CodeGenerationBenchmark
throwsIllegalStateException
Web site and documentationPermalink
- [CALCITE-5275] Release notes for Calcite 1.32.0
- Cosmetic changes to release notes
- Remove redundant ‘the’ in javadoc
- Change sereda’s role from Committer to PMC
- Fix 1.31.0 release date to 2022-08-02 (was 2022-08-01)
- Fix checkstyle violation for Calcite 1.31 release note
转自 https://calcite.apache.org/docs/history.html