Skip to content

Commit

Permalink
[CALCITE-4291] Release Calcite 1.26.0
Browse files Browse the repository at this point in the history
  • Loading branch information
rubenada committed Oct 3, 2020
1 parent 64a0ca7 commit cfa37c3
Show file tree
Hide file tree
Showing 3 changed files with 190 additions and 10 deletions.
2 changes: 1 addition & 1 deletion README
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Apache Calcite release 1.25.0
Apache Calcite release 1.26.0

This is a source or binary distribution of Apache Calcite.

Expand Down
188 changes: 184 additions & 4 deletions site/_docs/history.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,16 +28,196 @@ 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.26.0">1.26.0</a> / 2020-xx-xx
## <a href="https://github.com/apache/calcite/releases/tag/calcite-1.26.0">1.26.0</a> / 2020-10-03
{: #v1-26-0}

Under development.
This release comes about two months after [1.25.0](#v1-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.

Compatibility: This release is tested on Linux, MacOS, Microsoft Windows;
* [SEARCH operator and Sarg literal](https://issues.apache.org/jira/browse/CALCITE-4173)
* [PIVOT operator in SQL](https://issues.apache.org/jira/browse/CALCITE-3752)
* [Spatial index based on Hilbert space-filling curve](https://issues.apache.org/jira/browse/CALCITE-1861)
* [Provide utility to visualize RelNode](https://issues.apache.org/jira/browse/CALCITE-4197)
* [Support JDK 15 and Guava version 29.0-jre](https://issues.apache.org/jira/browse/CALCITE-4259)

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
* [<a href="https://issues.apache.org/jira/browse/CALCITE-2082">CALCITE-2082</a>]
Do not store types or type factories inside operators

#### New features
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4173">CALCITE-4173</a>]
Add internal `SEARCH` operator and `Sarg` literal that represents a set of values or ranges
* [<a href="https://issues.apache.org/jira/browse/CALCITE-3752">CALCITE-3752</a>]
Add `PIVOT` operator to SQL
* [<a href="https://issues.apache.org/jira/browse/CALCITE-1861">CALCITE-1861</a>]
Spatial index, based on Hilbert space-filling curve
* [<a href="https://issues.apache.org/jira/browse/CALCITE-3920">CALCITE-3920</a>]
Improve `ORDER BY` computation in Enumerable convention by exploiting `LIMIT` (Thomas Rebele)
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4015">CALCITE-4015</a>]
Pass through parent collation request on subset or superset of join keys for `EnumerableMergeJoin`
* [<a href="https://issues.apache.org/jira/browse/CALCITE-3782">CALCITE-3782</a>]
Bitwise functions `BIT_AND`, `BIT_OR` and `BIT_XOR` support binary and varbinary type (Hailong Wang)
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4197">CALCITE-4197</a>]
Provide utility to visualize `RelNode` plans (Liya Fan)
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4113">CALCITE-4113</a>]
Support `LEFT JOIN` in `EnumerableMergeJoin`

#### Bug fixes, API changes and minor enhancements
* [<a href="https://issues.apache.org/jira/browse/CALCITE-2833">CALCITE-2833</a>]
In JDBC adapter for Hive and BigQuery, implement `Values` by generating `SELECT` without `FROM` (Stuti Gupta)
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4160">CALCITE-4160</a>]
Add configuration (`SqlToRelConverter.Config`) to retain `ORDER BY` in sub-query (Jiatao Tao)
* [<a href="https://issues.apache.org/jira/browse/CALCITE-3399">CALCITE-3399</a>]
Field-pruning for set operators (except `UNION ALL`) changes query semantics (Jin Xing)
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4182">CALCITE-4182</a>]
Support materialized view recognition when query has constant filter for missing columns in `GROUP BY` list of materialized view (Wang Yanlin)
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4171">CALCITE-4171</a>]
Support named parameters for table window functions
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4167">CALCITE-4167</a>]
Group by `COALESCE IN` throws `NullPointerException`
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4172">CALCITE-4172</a>]
Expand columnar identifiers before resolving (James Starr)
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4180">CALCITE-4180</a>]
Support for Elasticsearch basic authentication (fageiguanbing)
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4241">CALCITE-4241</a>]
Some improvements to metadata query
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4170">CALCITE-4170</a>]
Improve simplification of `<>` predicates
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4159">CALCITE-4159</a>]
Simplify always-true expressions (such as `LIKE '%'`) to `TRUE`
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4192">CALCITE-4192</a>]
`RelMdColumnOrigins` gets the wrong index of group by columns after `RelNode` was optimized by `AggregateProjectMergeRule` rule (FangZheng Li)
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4203">CALCITE-4203</a>]
`RelMdUniqueKeys` should not return empty when meeting `Intersect` and `Minus` if its input has unique keys
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4207">CALCITE-4207</a>]
Validation fails for positional aggregate with `CURRENT_DATE` in `CASE` expression
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4206">CALCITE-4206</a>]
`RelDecorrelator` outputs wrong plan for correlate sort with fetch limit
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4209">CALCITE-4209</a>]
In `RelBuilder`, add an option to not simplify `LIMIT 0` to an empty relation
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4208">CALCITE-4208</a>]
Improve metadata row count for `Join`
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4210">CALCITE-4210</a>]
Replaying subqueries in `ON` clauses (James Starr)
* [<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-4217">CALCITE-4217</a>]
Unlock `RelCrossType#getFieldCount()`
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4220">CALCITE-4220</a>]
In `SqlToRelConverter`, use `RelBuilder` for creating `Aggregate`
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4226">CALCITE-4226</a>]
Add `Mappings#asListNonNull` as a null-safe alternative for `Mappings#asList`
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4237">CALCITE-4237</a>]
`AssertionError` in `SqlTypeFactoryImpl.leastRestrictive` when running slow tests
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4254">CALCITE-4254</a>]
`ImmutableBeans` should make an immutable copy of property values of type `List`, `Set`, or `Map`
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4249">CALCITE-4249</a>]
JDBC adapter cannot translate `NOT LIKE` in join condition
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4266">CALCITE-4266</a>]
JDBC adapter throws `UnsupportedOperationException` if query contains range predicate on columns from sub-query
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4176">CALCITE-4176</a>]
Key descriptor can be optional in `SESSION` table function
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4279">CALCITE-4279</a>]
`SEARCH` operator cannot be pushed into Druid
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4280">CALCITE-4280</a>]
Replace Guava's `Lists.transform` and `Iterables.transform` with `Util.transform`
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4282">CALCITE-4282</a>]
Promote the window table functions window attribute data type with precision 3
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4287">CALCITE-4287</a>]
`AggregateJoinRemoveRule` and `ProjectJoinRemoveRule` are not fired if the last column of the join's left input is referenced (Liya Fan)
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4238">CALCITE-4238</a>]
Create a default parser configuration, to reduce redundant information in sub-parsers
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4289">CALCITE-4289</a>]
Wrong signature for `SqlTumbleTableFunction`
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4295">CALCITE-4295</a>]
Composite of two checkers with `SqlOperandCountRange` throws `IllegalArgumentException` (Zhenghua Gao)
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4190">CALCITE-4190</a>]
`OR` simplification incorrectly loses term
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4195">CALCITE-4195</a>]
Cast between types with different collators must be evaluated as not monotonic
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4200">CALCITE-4200</a>]
`ExceptionInInitializerError` when initializing DruidRules
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4201">CALCITE-4201</a>]
`AssertionError` when registering Druid rules due to conflict in description
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4221">CALCITE-4221</a>]
Update stale integration tests in Druid adapter
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4239">CALCITE-4239</a>]
`RelMdUniqueKeys` returns wrong unique keys for `Aggregate` with grouping sets
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4271">CALCITE-4271</a>]
`RelBuilder.in` should allow duplicate values
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4258">CALCITE-4258</a>]
`SqlToRelConverter`: `SELECT 1 IS DISTINCT FROM NULL` fails with `AssertionError`
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4246">CALCITE-4246</a>]
When parsing SQL in BigQuery dialect, allow unquoted table names to contain hyphens
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4230">CALCITE-4230</a>]
When parsing SQL in BigQuery dialect, split quoted table names that contain dots
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4247">CALCITE-4247</a>]
When parsing SQL in BigQuery dialect, character literals may be enclosed in single- or double-quotes, and use backslashes as escapes
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4215">CALCITE-4215</a>]
Ensure `org.apache.calcite.schema.Statistic` uses `null` vs `emptyList` appropriately
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4227">CALCITE-4227</a>]
`ImmutableIntList#toArray(Integer[])` should support arguments larger than the collection itself
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4228">CALCITE-4228</a>]
`FlatLists.Flat6List#append` should not throw NPE if there are null elements in the list
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4229">CALCITE-4229</a>]
`Add Util.throwAsRuntime` and `Util.causeOrSelf` to simplify exception re-throwing
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4269">CALCITE-4269</a>]
Improvement on enumerable implementation for `HOP` and `SESSION`
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4275">CALCITE-4275</a>]
`EnumerableMergeJoin#create` does not set `EnumerableConvention` in the trait set
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4283">CALCITE-4283</a>]
Do not force implement `SqlTableFunction` when creating table function scan
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4261">CALCITE-4261</a>]
Join with three tables causes `IllegalArgumentException` in `EnumerableBatchNestedLoopJoinRule`
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4288">CALCITE-4288</a>]
Create `SqlTypeUtil#deriveType(SqlCallBinding)` to make type computation simpler
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4216">CALCITE-4216</a>]
Make `org.apache.calcite.rel.type.RelDataType#getFamily` non-nullable
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4298">CALCITE-4298</a>]
Avoid disabling hostname verification on HTTPS connections
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4300">CALCITE-4300</a>]
`EnumerableBatchNestedLoopJoin` dynamic code generation can lead to variable name issues if two EBNLJ are nested
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4224">CALCITE-4224</a>]
Add a method for `RelNode` to output its relational expression string (Jiatao Tao)
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4248">CALCITE-4248</a>]
Deprecate `SqlParser.ConfigBuilder`
* Remove `ArrayList` allocation from `Mappings#bijection`, and add helpful message in case NPE is thrown
* Improve positions in SQL validator error messages
* Simplify `Pair.left(Iterable)` and `Pair.right(Iterable)` implementation
* Refactor `Pair` comparison to use `Comparator.nullsFirst` and `.naturalOrder`
* Obsolete `SqlToRelConverter.ConfigBuilder`, and refactor `SqlToRelConverterTest`
* Refactor `SqlParserTest`
* Minor refactoring of `DruidAdapterIT` and `DruidAdapter2IT`

#### Build and test suite
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4278">CALCITE-4278</a>]
Add Druid adapter tests in GitHub CI
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4259">CALCITE-4259</a>]
Support JDK 15 and Guava version 29.0-jre
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4184">CALCITE-4184</a>]
Update Gradle: 6.3 -> 6.6
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4168">CALCITE-4168</a>]
Configure Gradle Local Build Cache
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4185">CALCITE-4185</a>]
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 on `CalciteResource.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
* [<a href="https://issues.apache.org/jira/browse/CALCITE-3841">CALCITE-3841</a>]
Change downloads page to use downloads.apache.org
* Fix documentation errors
* Site: Add Rui Wang as committer, Ruben Quesada Lopez as PMC

## <a href="https://github.com/apache/calcite/releases/tag/calcite-1.25.0">1.25.0</a> / 2020-08-08
{: #v1-25-0}

Expand All @@ -51,7 +231,7 @@ make sure to consult corresponding section. Notable improvements in this release
* [Refactor How Planner Rules are Parameterized](https://issues.apache.org/jira/browse/CALCITE-3923)
* [Spacial Functions](https://issues.apache.org/jira/browse/CALCITE-2160)

Compatibility: This release is tested on Linux, MacOS, Microsoft Windows;
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; other software versions as specified in
gradle.properties.
Expand Down
10 changes: 5 additions & 5 deletions site/_docs/howto.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,15 +31,15 @@ adapters.

## Building from a source distribution

Prerequisite is Java (JDK 8, 9, 10, 11, 12, 13, or 14) on your path.
Prerequisite is Java (JDK 8, 9, 10, 11, 12, 13, 14 or 15) on your path.

Unpack the source distribution `.tar.gz` file,
`cd` to the root directory of the unpacked source,
then build using the included maven wrapper:

{% highlight bash %}
$ tar xvfz apache-calcite-1.25.0-src.tar.gz
$ cd apache-calcite-1.25.0-src
$ tar xvfz apache-calcite-1.26.0-src.tar.gz
$ cd apache-calcite-1.26.0-src
$ ./gradlew build
{% endhighlight %}

Expand All @@ -49,7 +49,7 @@ tests.
## Building from Git

Prerequisites are git
and Java (JDK 8, 9, 10, 11, 12, 13, or 14) on your path.
and Java (JDK 8, 9, 10, 11, 12, 13, 14 or 15) on your path.

Create a local copy of the github repository,
`cd` to its root directory,
Expand Down Expand Up @@ -605,7 +605,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.25.0) in the "Fix version" field;
* mark the appropriate version (e.g., 1.26.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.
Expand Down

0 comments on commit cfa37c3

Please sign in to comment.