apache-calcite-1.26.0-src.tar.gz 2020-10-06 15:39 4.5M
apache-calcite-1.26.0-src.tar.gz.asc 2020-10-06 15:39 853
apache-calcite-1.26.0-src.tar.gz.sha512 2020-10-06 15:39 163
转自 https://downloads.apache.org/calcite/apache-calcite-1.26.0/
Assets 2
转自 https://github.com/apache/calcite/releases/tag/calcite-1.26.0
1.26.0 / 2020-10-06{: #v1-26-0}
This release comes about two months after 1.25.0. It includes more than 70 resolved issues, comprising a lot of new features and bug-fixes. Among others, it is worth highlighting the following.
- SEARCH operator and Sarg literal
- PIVOT operator in SQL
- Spatial index based on Hilbert space-filling curve
- Provide utility to visualize RelNode
- Support JDK 15 and Guava version 29.0-jre
Compatibility: This release is tested on Linux, macOS, Microsoft Windows; using JDK/OpenJDK versions 8 to 15; Guava versions 19.0 to 29.0-jre; other software versions as specified in gradle.properties.
Breaking Changes
- [CALCITE-2082] Do not store types or type factories inside operators
New features
- [CALCITE-4173] Add internal
SEARCH
operator andSarg
literal that represents a set of values or ranges - [CALCITE-3752] Add
PIVOT
operator to SQL - [CALCITE-1861] Spatial index, based on Hilbert space-filling curve
- [CALCITE-3920] Improve
ORDER BY
computation in Enumerable convention by exploitingLIMIT
(Thomas Rebele) - [CALCITE-4015] Pass through parent collation request on subset or superset of join keys for
EnumerableMergeJoin
- [CALCITE-3782] Bitwise functions
BIT_AND
,BIT_OR
andBIT_XOR
support binary and varbinary type (Hailong Wang) - [CALCITE-4197] Provide utility to visualize
RelNode
plans (Liya Fan) - [CALCITE-4113] Support
LEFT JOIN
inEnumerableMergeJoin
Bug fixes, API changes and minor enhancements
- [CALCITE-2833] In JDBC adapter for Hive and BigQuery, implement
Values
by generatingSELECT
withoutFROM
(Stuti Gupta) - [CALCITE-4160] Add configuration (
SqlToRelConverter.Config
) to retainORDER BY
in sub-query (Jiatao Tao) - [CALCITE-3399] Field-pruning for set operators (except
UNION ALL
) changes query semantics (Jin Xing) - [CALCITE-4182] Support materialized view recognition when query has constant filter for missing columns in
GROUP BY
list of materialized view (Wang Yanlin) - [CALCITE-4171] Support named parameters for table window functions
- [CALCITE-4167] Group by
COALESCE IN
throwsNullPointerException
- [CALCITE-4172] Expand columnar identifiers before resolving (James Starr)
- [CALCITE-4180] Support for Elasticsearch basic authentication (fageiguanbing)
- [CALCITE-4241] Some improvements to metadata query
- [CALCITE-4170] Improve simplification of
<>
predicates - [CALCITE-4159] Simplify always-true expressions (such as
LIKE '%'
) toTRUE
- [CALCITE-4192]
RelMdColumnOrigins
gets the wrong index of group by columns afterRelNode
was optimized byAggregateProjectMergeRule
rule (FangZheng Li) - [CALCITE-4203]
RelMdUniqueKeys
should not return empty when meetingIntersect
andMinus
if its input has unique keys - [CALCITE-4207] Validation fails for positional aggregate with
CURRENT_DATE
inCASE
expression - [CALCITE-4206]
RelDecorrelator
outputs wrong plan for correlate sort with fetch limit - [CALCITE-4209] In
RelBuilder
, add an option to not simplifyLIMIT 0
to an empty relation - [CALCITE-4208] Improve metadata row count for
Join
- [CALCITE-4210] Replaying subqueries in
ON
clauses (James Starr) - [CALCITE-4214] Make
RelDataType.getSqlTypeName
non-nullable - [CALCITE-4217] Unlock
RelCrossType#getFieldCount()
- [CALCITE-4220] In
SqlToRelConverter
, useRelBuilder
for creatingAggregate
- [CALCITE-4226] Add
Mappings#asListNonNull
as a null-safe alternative forMappings#asList
- [CALCITE-4237]
AssertionError
inSqlTypeFactoryImpl.leastRestrictive
when running slow tests - [CALCITE-4254]
ImmutableBeans
should make an immutable copy of property values of typeList
,Set
, orMap
- [CALCITE-4249] JDBC adapter cannot translate
NOT LIKE
in join condition - [CALCITE-4266] JDBC adapter throws
UnsupportedOperationException
if query contains range predicate on columns from sub-query - [CALCITE-4176] Key descriptor can be optional in
SESSION
table function - [CALCITE-4279]
SEARCH
operator cannot be pushed into Druid - [CALCITE-4280] Replace Guava’s
Lists.transform
andIterables.transform
withUtil.transform
- [CALCITE-4282] Promote the window table functions window attribute data type with precision 3
- [CALCITE-4287]
AggregateJoinRemoveRule
andProjectJoinRemoveRule
are not fired if the last column of the join’s left input is referenced (Liya Fan) - [CALCITE-4238] Create a default parser configuration, to reduce redundant information in sub-parsers
- [CALCITE-4289] Wrong signature for
SqlTumbleTableFunction
- [CALCITE-4295] Composite of two checkers with
SqlOperandCountRange
throwsIllegalArgumentException
(Zhenghua Gao) - [CALCITE-4190]
OR
simplification incorrectly loses term - [CALCITE-4195] Cast between types with different collators must be evaluated as not monotonic
- [CALCITE-4200]
ExceptionInInitializerError
when initializing DruidRules - [CALCITE-4201]
AssertionError
when registering Druid rules due to conflict in description - [CALCITE-4221] Update stale integration tests in Druid adapter
- [CALCITE-4239]
RelMdUniqueKeys
returns wrong unique keys forAggregate
with grouping sets - [CALCITE-4271]
RelBuilder.in
should allow duplicate values - [CALCITE-4258]
SqlToRelConverter
:SELECT 1 IS DISTINCT FROM NULL
fails withAssertionError
- [CALCITE-4246] When parsing SQL in BigQuery dialect, allow unquoted table names to contain hyphens
- [CALCITE-4230] When parsing SQL in BigQuery dialect, split quoted table names that contain dots
- [CALCITE-4247] When parsing SQL in BigQuery dialect, character literals may be enclosed in single- or double-quotes, and use backslashes as escapes
- [CALCITE-4215] Ensure
org.apache.calcite.schema.Statistic
usesnull
vsemptyList
appropriately - [CALCITE-4227]
ImmutableIntList#toArray(Integer[])
should support arguments larger than the collection itself - [CALCITE-4228]
FlatLists.Flat6List#append
should not throw NPE if there are null elements in the list - [CALCITE-4229]
Add Util.throwAsRuntime
andUtil.causeOrSelf
to simplify exception re-throwing - [CALCITE-4269] Improvement on enumerable implementation for
HOP
andSESSION
- [CALCITE-4275]
EnumerableMergeJoin#create
does not setEnumerableConvention
in the trait set - [CALCITE-4283] Do not force implement
SqlTableFunction
when creating table function scan - [CALCITE-4261] Join with three tables causes
IllegalArgumentException
inEnumerableBatchNestedLoopJoinRule
- [CALCITE-4288] Create
SqlTypeUtil#deriveType(SqlCallBinding)
to make type computation simpler - [CALCITE-4216] Make
org.apache.calcite.rel.type.RelDataType#getFamily
non-nullable - [CALCITE-4298] Avoid disabling hostname verification on HTTPS connections
- [CALCITE-4300]
EnumerableBatchNestedLoopJoin
dynamic code generation can lead to variable name issues if two EBNLJ are nested - [CALCITE-4224] Add a method for
RelNode
to output its relational expression string (Jiatao Tao) - [CALCITE-4248] Deprecate
SqlParser.ConfigBuilder
- Remove
ArrayList
allocation fromMappings#bijection
, and add helpful message in case NPE is thrown - Improve positions in SQL validator error messages
- Simplify
Pair.left(Iterable)
andPair.right(Iterable)
implementation - Refactor
Pair
comparison to useComparator.nullsFirst
and.naturalOrder
- Obsolete
SqlToRelConverter.ConfigBuilder
, and refactorSqlToRelConverterTest
- Refactor
SqlParserTest
- Minor refactoring of
DruidAdapterIT
andDruidAdapter2IT
Build and test suite
- [CALCITE-4278] Add Druid adapter tests in GitHub CI
- [CALCITE-4259] Support JDK 15 and Guava version 29.0-jre
- [CALCITE-4184] Update Gradle: 6.3 -> 6.6
- [CALCITE-4168] Configure Gradle Local Build Cache
- [CALCITE-4185] Remove dependency between checkstyle and compilation tasks
- Add
MaxMetaspaceSize=512m
to avoid metaspace issues when building Calcite - Make project buildable from folders that include special characters
- Use
merge=union
strategy to avoid false merge conflicts onCalciteResource.properties
- Add GC options to GitHub and Travis CI so they fail on low memory condition faster
- Update Checkstyle from 8.27 to 8.28 to support
package-info
files with imports - Update
org.nosphere.apache.rat
plugin from 0.5.2 to 0.7.0, and print files with unapproved licenses to console
Web site and documentation
- [CALCITE-3841] Change downloads page to use downloads.apache.org
- Fix documentation errors
- Site: Add Rui Wang as committer, Ruben Quesada Lopez as PMC
转自 https://github.com/apache/calcite/blob/master/site/_docs/history.md