Skip to content

Commit cfa37c3

Browse files
committed
[CALCITE-4291] Release Calcite 1.26.0
1 parent 64a0ca7 commit cfa37c3

File tree

3 files changed

+190
-10
lines changed

3 files changed

+190
-10
lines changed

README

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Apache Calcite release 1.25.0
1+
Apache Calcite release 1.26.0
22

33
This is a source or binary distribution of Apache Calcite.
44

site/_docs/history.md

+184-4
Original file line numberDiff line numberDiff line change
@@ -28,16 +28,196 @@ For a full list of releases, see
2828
Downloads are available on the
2929
[downloads page]({{ site.baseurl }}/downloads/).
3030

31-
## <a href="https://github.com/apache/calcite/releases/tag/calcite-1.26.0">1.26.0</a> / 2020-xx-xx
31+
## <a href="https://github.com/apache/calcite/releases/tag/calcite-1.26.0">1.26.0</a> / 2020-10-03
3232
{: #v1-26-0}
3333

34-
Under development.
34+
This release comes about two months after [1.25.0](#v1-25-0). It includes more than 70 resolved
35+
issues, comprising a lot of new features and bug-fixes. Among others, it is worth highlighting the following.
3536

36-
Compatibility: This release is tested on Linux, MacOS, Microsoft Windows;
37+
* [SEARCH operator and Sarg literal](https://issues.apache.org/jira/browse/CALCITE-4173)
38+
* [PIVOT operator in SQL](https://issues.apache.org/jira/browse/CALCITE-3752)
39+
* [Spatial index based on Hilbert space-filling curve](https://issues.apache.org/jira/browse/CALCITE-1861)
40+
* [Provide utility to visualize RelNode](https://issues.apache.org/jira/browse/CALCITE-4197)
41+
* [Support JDK 15 and Guava version 29.0-jre](https://issues.apache.org/jira/browse/CALCITE-4259)
42+
43+
Compatibility: This release is tested on Linux, macOS, Microsoft Windows;
3744
using JDK/OpenJDK versions 8 to 15;
3845
Guava versions 19.0 to 29.0-jre;
3946
other software versions as specified in gradle.properties.
4047

48+
#### Breaking Changes
49+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-2082">CALCITE-2082</a>]
50+
Do not store types or type factories inside operators
51+
52+
#### New features
53+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4173">CALCITE-4173</a>]
54+
Add internal `SEARCH` operator and `Sarg` literal that represents a set of values or ranges
55+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-3752">CALCITE-3752</a>]
56+
Add `PIVOT` operator to SQL
57+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-1861">CALCITE-1861</a>]
58+
Spatial index, based on Hilbert space-filling curve
59+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-3920">CALCITE-3920</a>]
60+
Improve `ORDER BY` computation in Enumerable convention by exploiting `LIMIT` (Thomas Rebele)
61+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4015">CALCITE-4015</a>]
62+
Pass through parent collation request on subset or superset of join keys for `EnumerableMergeJoin`
63+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-3782">CALCITE-3782</a>]
64+
Bitwise functions `BIT_AND`, `BIT_OR` and `BIT_XOR` support binary and varbinary type (Hailong Wang)
65+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4197">CALCITE-4197</a>]
66+
Provide utility to visualize `RelNode` plans (Liya Fan)
67+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4113">CALCITE-4113</a>]
68+
Support `LEFT JOIN` in `EnumerableMergeJoin`
69+
70+
#### Bug fixes, API changes and minor enhancements
71+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-2833">CALCITE-2833</a>]
72+
In JDBC adapter for Hive and BigQuery, implement `Values` by generating `SELECT` without `FROM` (Stuti Gupta)
73+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4160">CALCITE-4160</a>]
74+
Add configuration (`SqlToRelConverter.Config`) to retain `ORDER BY` in sub-query (Jiatao Tao)
75+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-3399">CALCITE-3399</a>]
76+
Field-pruning for set operators (except `UNION ALL`) changes query semantics (Jin Xing)
77+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4182">CALCITE-4182</a>]
78+
Support materialized view recognition when query has constant filter for missing columns in `GROUP BY` list of materialized view (Wang Yanlin)
79+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4171">CALCITE-4171</a>]
80+
Support named parameters for table window functions
81+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4167">CALCITE-4167</a>]
82+
Group by `COALESCE IN` throws `NullPointerException`
83+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4172">CALCITE-4172</a>]
84+
Expand columnar identifiers before resolving (James Starr)
85+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4180">CALCITE-4180</a>]
86+
Support for Elasticsearch basic authentication (fageiguanbing)
87+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4241">CALCITE-4241</a>]
88+
Some improvements to metadata query
89+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4170">CALCITE-4170</a>]
90+
Improve simplification of `<>` predicates
91+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4159">CALCITE-4159</a>]
92+
Simplify always-true expressions (such as `LIKE '%'`) to `TRUE`
93+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4192">CALCITE-4192</a>]
94+
`RelMdColumnOrigins` gets the wrong index of group by columns after `RelNode` was optimized by `AggregateProjectMergeRule` rule (FangZheng Li)
95+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4203">CALCITE-4203</a>]
96+
`RelMdUniqueKeys` should not return empty when meeting `Intersect` and `Minus` if its input has unique keys
97+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4207">CALCITE-4207</a>]
98+
Validation fails for positional aggregate with `CURRENT_DATE` in `CASE` expression
99+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4206">CALCITE-4206</a>]
100+
`RelDecorrelator` outputs wrong plan for correlate sort with fetch limit
101+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4209">CALCITE-4209</a>]
102+
In `RelBuilder`, add an option to not simplify `LIMIT 0` to an empty relation
103+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4208">CALCITE-4208</a>]
104+
Improve metadata row count for `Join`
105+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4210">CALCITE-4210</a>]
106+
Replaying subqueries in `ON` clauses (James Starr)
107+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4214">CALCITE-4214</a>]
108+
Make `RelDataType.getSqlTypeName` non-nullable
109+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4217">CALCITE-4217</a>]
110+
Unlock `RelCrossType#getFieldCount()`
111+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4220">CALCITE-4220</a>]
112+
In `SqlToRelConverter`, use `RelBuilder` for creating `Aggregate`
113+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4226">CALCITE-4226</a>]
114+
Add `Mappings#asListNonNull` as a null-safe alternative for `Mappings#asList`
115+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4237">CALCITE-4237</a>]
116+
`AssertionError` in `SqlTypeFactoryImpl.leastRestrictive` when running slow tests
117+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4254">CALCITE-4254</a>]
118+
`ImmutableBeans` should make an immutable copy of property values of type `List`, `Set`, or `Map`
119+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4249">CALCITE-4249</a>]
120+
JDBC adapter cannot translate `NOT LIKE` in join condition
121+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4266">CALCITE-4266</a>]
122+
JDBC adapter throws `UnsupportedOperationException` if query contains range predicate on columns from sub-query
123+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4176">CALCITE-4176</a>]
124+
Key descriptor can be optional in `SESSION` table function
125+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4279">CALCITE-4279</a>]
126+
`SEARCH` operator cannot be pushed into Druid
127+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4280">CALCITE-4280</a>]
128+
Replace Guava's `Lists.transform` and `Iterables.transform` with `Util.transform`
129+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4282">CALCITE-4282</a>]
130+
Promote the window table functions window attribute data type with precision 3
131+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4287">CALCITE-4287</a>]
132+
`AggregateJoinRemoveRule` and `ProjectJoinRemoveRule` are not fired if the last column of the join's left input is referenced (Liya Fan)
133+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4238">CALCITE-4238</a>]
134+
Create a default parser configuration, to reduce redundant information in sub-parsers
135+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4289">CALCITE-4289</a>]
136+
Wrong signature for `SqlTumbleTableFunction`
137+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4295">CALCITE-4295</a>]
138+
Composite of two checkers with `SqlOperandCountRange` throws `IllegalArgumentException` (Zhenghua Gao)
139+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4190">CALCITE-4190</a>]
140+
`OR` simplification incorrectly loses term
141+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4195">CALCITE-4195</a>]
142+
Cast between types with different collators must be evaluated as not monotonic
143+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4200">CALCITE-4200</a>]
144+
`ExceptionInInitializerError` when initializing DruidRules
145+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4201">CALCITE-4201</a>]
146+
`AssertionError` when registering Druid rules due to conflict in description
147+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4221">CALCITE-4221</a>]
148+
Update stale integration tests in Druid adapter
149+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4239">CALCITE-4239</a>]
150+
`RelMdUniqueKeys` returns wrong unique keys for `Aggregate` with grouping sets
151+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4271">CALCITE-4271</a>]
152+
`RelBuilder.in` should allow duplicate values
153+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4258">CALCITE-4258</a>]
154+
`SqlToRelConverter`: `SELECT 1 IS DISTINCT FROM NULL` fails with `AssertionError`
155+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4246">CALCITE-4246</a>]
156+
When parsing SQL in BigQuery dialect, allow unquoted table names to contain hyphens
157+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4230">CALCITE-4230</a>]
158+
When parsing SQL in BigQuery dialect, split quoted table names that contain dots
159+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4247">CALCITE-4247</a>]
160+
When parsing SQL in BigQuery dialect, character literals may be enclosed in single- or double-quotes, and use backslashes as escapes
161+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4215">CALCITE-4215</a>]
162+
Ensure `org.apache.calcite.schema.Statistic` uses `null` vs `emptyList` appropriately
163+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4227">CALCITE-4227</a>]
164+
`ImmutableIntList#toArray(Integer[])` should support arguments larger than the collection itself
165+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4228">CALCITE-4228</a>]
166+
`FlatLists.Flat6List#append` should not throw NPE if there are null elements in the list
167+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4229">CALCITE-4229</a>]
168+
`Add Util.throwAsRuntime` and `Util.causeOrSelf` to simplify exception re-throwing
169+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4269">CALCITE-4269</a>]
170+
Improvement on enumerable implementation for `HOP` and `SESSION`
171+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4275">CALCITE-4275</a>]
172+
`EnumerableMergeJoin#create` does not set `EnumerableConvention` in the trait set
173+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4283">CALCITE-4283</a>]
174+
Do not force implement `SqlTableFunction` when creating table function scan
175+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4261">CALCITE-4261</a>]
176+
Join with three tables causes `IllegalArgumentException` in `EnumerableBatchNestedLoopJoinRule`
177+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4288">CALCITE-4288</a>]
178+
Create `SqlTypeUtil#deriveType(SqlCallBinding)` to make type computation simpler
179+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4216">CALCITE-4216</a>]
180+
Make `org.apache.calcite.rel.type.RelDataType#getFamily` non-nullable
181+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4298">CALCITE-4298</a>]
182+
Avoid disabling hostname verification on HTTPS connections
183+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4300">CALCITE-4300</a>]
184+
`EnumerableBatchNestedLoopJoin` dynamic code generation can lead to variable name issues if two EBNLJ are nested
185+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4224">CALCITE-4224</a>]
186+
Add a method for `RelNode` to output its relational expression string (Jiatao Tao)
187+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4248">CALCITE-4248</a>]
188+
Deprecate `SqlParser.ConfigBuilder`
189+
* Remove `ArrayList` allocation from `Mappings#bijection`, and add helpful message in case NPE is thrown
190+
* Improve positions in SQL validator error messages
191+
* Simplify `Pair.left(Iterable)` and `Pair.right(Iterable)` implementation
192+
* Refactor `Pair` comparison to use `Comparator.nullsFirst` and `.naturalOrder`
193+
* Obsolete `SqlToRelConverter.ConfigBuilder`, and refactor `SqlToRelConverterTest`
194+
* Refactor `SqlParserTest`
195+
* Minor refactoring of `DruidAdapterIT` and `DruidAdapter2IT`
196+
197+
#### Build and test suite
198+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4278">CALCITE-4278</a>]
199+
Add Druid adapter tests in GitHub CI
200+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4259">CALCITE-4259</a>]
201+
Support JDK 15 and Guava version 29.0-jre
202+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4184">CALCITE-4184</a>]
203+
Update Gradle: 6.3 -> 6.6
204+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4168">CALCITE-4168</a>]
205+
Configure Gradle Local Build Cache
206+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4185">CALCITE-4185</a>]
207+
Remove dependency between checkstyle and compilation tasks
208+
* Add `MaxMetaspaceSize=512m` to avoid metaspace issues when building Calcite
209+
* Make project buildable from folders that include special characters
210+
* Use `merge=union` strategy to avoid false merge conflicts on `CalciteResource.properties`
211+
* Add GC options to GitHub and Travis CI so they fail on low memory condition faster
212+
* Update Checkstyle from 8.27 to 8.28 to support `package-info` files with imports
213+
* Update `org.nosphere.apache.rat` plugin from 0.5.2 to 0.7.0, and print files with unapproved licenses to console
214+
215+
#### Web site and documentation
216+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-3841">CALCITE-3841</a>]
217+
Change downloads page to use downloads.apache.org
218+
* Fix documentation errors
219+
* Site: Add Rui Wang as committer, Ruben Quesada Lopez as PMC
220+
41221
## <a href="https://github.com/apache/calcite/releases/tag/calcite-1.25.0">1.25.0</a> / 2020-08-08
42222
{: #v1-25-0}
43223

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

54-
Compatibility: This release is tested on Linux, MacOS, Microsoft Windows;
234+
Compatibility: This release is tested on Linux, macOS, Microsoft Windows;
55235
using Oracle JDK 8, 9, 10, 11, 12, 13, 14 and OpenJDK 8, 9, 10, 11, 12, 13, 14;
56236
Guava versions 19.0 to 28.2-jre; other software versions as specified in
57237
gradle.properties.

site/_docs/howto.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -31,15 +31,15 @@ adapters.
3131

3232
## Building from a source distribution
3333

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

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

4040
{% highlight bash %}
41-
$ tar xvfz apache-calcite-1.25.0-src.tar.gz
42-
$ cd apache-calcite-1.25.0-src
41+
$ tar xvfz apache-calcite-1.26.0-src.tar.gz
42+
$ cd apache-calcite-1.26.0-src
4343
$ ./gradlew build
4444
{% endhighlight %}
4545

@@ -49,7 +49,7 @@ tests.
4949
## Building from Git
5050

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

5454
Create a local copy of the github repository,
5555
`cd` to its root directory,
@@ -605,7 +605,7 @@ must:
605605
* resolve the issue (do not close it as this will be done by the release
606606
manager);
607607
* select "Fixed" as resolution cause;
608-
* mark the appropriate version (e.g., 1.25.0) in the "Fix version" field;
608+
* mark the appropriate version (e.g., 1.26.0) in the "Fix version" field;
609609
* add a comment (e.g., "Fixed in ...") with a hyperlink pointing to the commit
610610
which resolves the issue (in GitHub or GitBox), and also thank the contributor
611611
for their contribution.

0 commit comments

Comments
 (0)