[CALCITE-5480] Release Avatica 1.23.0
diff --git a/NOTICE b/NOTICE
index 83f3953..9dcc6fb 100644
--- a/NOTICE
+++ b/NOTICE
@@ -1,5 +1,5 @@
Apache Calcite -- Avatica
-Copyright 2012-2022 The Apache Software Foundation
+Copyright 2012-2023 The Apache Software Foundation
This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).
diff --git a/README b/README
index 73c9dce..7a4eaae 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-Apache Calcite Avatica release 1.22.0
+Apache Calcite Avatica release 1.23.0
# Overview
This is a source or binary distribution of Avatica, a framework for
diff --git a/site/_docs/docker_images.md b/site/_docs/docker_images.md
index 41a7d77..2354ca3 100644
--- a/site/_docs/docker_images.md
+++ b/site/_docs/docker_images.md
@@ -70,22 +70,22 @@
exposing an Avatica server configured against a "real" PostgreSQL database.
All of the `Dockerfile` and `docker-compose.yml` files are conveniently provided in an archive for
-each release. Here is the layout for release 1.22.0:
+each release. Here is the layout for release 1.23.0:
```
-avatica-docker-1.22.0/
-avatica-docker-1.22.0/hypersql/
-avatica-docker-1.22.0/mysql/
-avatica-docker-1.22.0/postgresql/
-avatica-docker-1.22.0/Dockerfile
-avatica-docker-1.22.0/hypersql/build.sh
-avatica-docker-1.22.0/hypersql/Dockerfile
-avatica-docker-1.22.0/mysql/build.sh
-avatica-docker-1.22.0/mysql/docker-compose.yml
-avatica-docker-1.22.0/mysql/Dockerfile
-avatica-docker-1.22.0/postgresql/build.sh
-avatica-docker-1.22.0/postgresql/docker-compose.yml
-avatica-docker-1.22.0/postgresql/Dockerfile
+avatica-docker-1.23.0/
+avatica-docker-1.23.0/hypersql/
+avatica-docker-1.23.0/mysql/
+avatica-docker-1.23.0/postgresql/
+avatica-docker-1.23.0/Dockerfile
+avatica-docker-1.23.0/hypersql/build.sh
+avatica-docker-1.23.0/hypersql/Dockerfile
+avatica-docker-1.23.0/mysql/build.sh
+avatica-docker-1.23.0/mysql/docker-compose.yml
+avatica-docker-1.23.0/mysql/Dockerfile
+avatica-docker-1.23.0/postgresql/build.sh
+avatica-docker-1.23.0/postgresql/docker-compose.yml
+avatica-docker-1.23.0/postgresql/Dockerfile
```
#### Running
diff --git a/site/_docs/history.md b/site/_docs/history.md
index a499852..b0b8d09 100644
--- a/site/_docs/history.md
+++ b/site/_docs/history.md
@@ -28,6 +28,121 @@
Downloads are available on the
[downloads page]({{ site.baseurl }}/downloads/avatica.html).
+## <a href="https://github.com/apache/calcite-avatica/releases/tag/rel/avatica-1.23.0">1.23.0</a> / 2023-01-19
+{: #v1-23-0}
+
+Apache Calcite Avatica 1.23.0
+fixes bugs in
+<a href="https://issues.apache.org/jira/browse/CALCITE-5443">`Statement.getUpdateCount()`</a>,
+<a href="https://issues.apache.org/jira/browse/CALCITE-3557">`ResultSet.getObject`</a>;
+and supports
+<a href="https://issues.apache.org/jira/browse/CALCITE-5358">`HTTP_BAD_REQUEST`</a>
+and configuring
+<a href="https://issues.apache.org/jira/browse/CALCITE-2322">fetch size</a>
+and
+<a href="https://issues.apache.org/jira/browse/CALCITE-5327">SSL key-store type</a>.
+Also,
+<a href="https://issues.apache.org/jira/browse/CALCITE-5338">there</a>
+<a href="https://issues.apache.org/jira/browse/CALCITE-3078">are</a>
+<a href="https://issues.apache.org/jira/browse/CALCITE-5369">various</a>
+<a href="https://issues.apache.org/jira/browse/CALCITE-2989">improvements</a>
+<a href="https://issues.apache.org/jira/browse/CALCITE-1639">to</a>
+`DateTimeUtils` and
+<a href="https://issues.apache.org/jira/browse/CALCITE-5415">`ByteString`</a>.
+
+Compatibility: This release is tested
+on Linux, macOS, Microsoft Windows;
+using Oracle JDK 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18;
+using IBM Java 8;
+Guava versions 14.0.1 to 31.1-jre;
+other software versions as specified in `gradle.properties`.
+
+Contributors to this release:
+Aleksey Stavrov,
+Francis Chuang,
+Greg Hart,
+Hongbin Ma,
+Istvan Toth,
+Jiajun Bernoulli,
+Julian Hyde (Release Manager),
+Kevin Minder,
+Oliver Lee,
+Richard Antal,
+Sergey Nuyanzin,
+Stamatis Zampetakis,
+Zhe Hu,
+zoudan
+
+Features and bug fixes
+
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-5443">CALCITE-5443</a>]
+ After `Statement.getMoreResults()` has returned false,
+ `Statement.getUpdateCount()` should return -1
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3557">CALCITE-3557</a>]
+ `ResultSet.getObject` throws `ClassCastException` when applied to an `ARRAY`
+ or `MULTISET` value inside a `MULTISET`
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-5120">CALCITE-5120</a>]
+ `UnregisteredDriver.connect` should throw `SQLException`, not
+ `NullPointerException`, if URL is null
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-2989">CALCITE-2989</a>]
+ Use ISO calendar when converting between `java.sql` types and UNIX timestamps
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-2322">CALCITE-2322</a>]
+ Support fetch size in connection url and JDBC statement
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-5415">CALCITE-5415</a>]
+ In `ByteString`, add `startsWith` and `endsWith` methods
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-5374">CALCITE-5374</a>]
+ Upgrade jackson from 2.10.0 to 2.14.1
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-5379">CALCITE-5379</a>]
+ Upgrade protobuf to 3.21.9
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-5373">CALCITE-5373</a>]
+ Upgrade bouncycastle to 1.70
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-5369">CALCITE-5369</a>]
+ In Avatica `DateTimeUtils`, add support for `FLOOR` and `CEIL` to `ISOYEAR`
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-5358">CALCITE-5358</a>]
+ Add in `HTTP_BAD_REQUEST`
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-5372">CALCITE-5372</a>]
+ Upgrade vlsi-release-plugins to 1.84
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-5329">CALCITE-5329</a>]
+ Upgrade Checkstyle version from 6.18 to 10.3.2
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-5327">CALCITE-5327</a>]
+ Make SSL key-store type configurable
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-5295">CALCITE-5295</a>]
+ Read the values of plugins (such as connect string properties) from
+ `ThreadLocal` fields
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3078">CALCITE-3078</a>]
+ Move public `lastDay` method from Calcite to Avatica
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-5257">CALCITE-5257</a>]
+ `NVARCHAR` is treated as 'UNKNOWN TYPE' when searching Oracle
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-4900">CALCITE-4900</a>]
+ `NullPointerException` when send ExecuteRequest via protobuf with no
+ parameters
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-5338">CALCITE-5338</a>]
+ In `DateTimeUtils`, deprecate `floorMod` and `floorDiv`, and use equivalents
+ in `java.lang.Math`
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-1639">CALCITE-1639</a>]
+ `TIMESTAMPADD(MONTH, ...)` should return last day of month if the day
+ overflows
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-5232">CALCITE-5232</a>]
+ Upgrade protobuf-java from 3.17.1 to 3.21.5
+
+Build and tests
+
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-5458">CALCITE-5458</a>]
+ Label and link pull requests with JIRA issues automatically
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-5453">CALCITE-5453</a>]
+ Add tests for fetch size configuration via connection URL and statement
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-5344">CALCITE-5344</a>]
+ Migrate Travis CI configuration to Github Actions
+
+Website and documentation
+
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-5353">CALCITE-5353</a>]
+ Document new procedure for requesting JIRA accounts and becoming a contributor
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-5065">CALCITE-5065</a>]
+ Update phoenixdb information on website
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-5438">CALCITE-5438</a>]
+ Document `transparent_reconnection` property
+
## <a href="https://github.com/apache/calcite-avatica/releases/tag/rel/avatica-1.22.0">1.22.0</a> / 2022-07-28
{: #v1-22-0}
@@ -113,7 +228,7 @@
Build fails due to rat check on Gemfile.lock
* Silence standard out messages in tests
-Web site and documentation
+Website and documentation
* [<a href="https://issues.apache.org/jira/browse/CALCITE-5108">CALCITE-5108</a>]
Make website GDPR-compliant
@@ -121,7 +236,7 @@
Upgrade to Jekyll 4 and remove unnecessary dependencies from gemfile for site
* Fix formatting in howto
* Add instructions for release managers to uncomment commented out release history
-* Comment out release notes for next release, so that they don't appear on the web site
+* Comment out release notes for next release, so that they don't appear on the website
* [<a href="https://issues.apache.org/jira/browse/CALCITE-5102">CALCITE-5102</a>]
Update github-pages gem for site build
* [<a href="https://issues.apache.org/jira/browse/CALCITE-3129">CALCITE-3129</a>]
@@ -176,7 +291,7 @@
[<a href="https://issues.apache.org/jira/browse/CALCITE-4877">CALCITE-4877</a>]
is fixed
-Web site and documentation
+Website and documentation
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4840">CALCITE-4840</a>]
Make `README` easier to scan
@@ -263,25 +378,38 @@
other software versions as specified in `gradle.properties`.
***Breaking changes***
-* [<a href="https://issues.apache.org/jira/browse/CALCITE-4503">CALCITE-4503</a>] Order of fields in records should follow that of the SQL types
-`Meta#deduce(List<ColumnMetaData> columns, Class resultClazz)` now only derives the order of the fields from the list of provided column metadata `columns` when generating a record from the given Java class `resultClazz`, instead of relying on the field order provided by `Object#getFields()`, which is a JVM-dependent feature.
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-4503">CALCITE-4503</a>]
+ Order of fields in records should follow that of the SQL types
-Before, the field names where not checked against the field names of the provided class. Now, if `resultClazz` is not null, the provided field names are expected to match existing fields in that class. If a column metadata has name `column`, and no public field in `resultClazz` with that name exists, the following exception is thrown:
-`java.lang.RuntimeException: java.lang.NoSuchFieldException: C`.
+`Meta#deduce(List<ColumnMetaData> columns, Class resultClazz)` now only derives
+the order of the fields from the list of provided column metadata `columns` when
+generating a record from the given Java class `resultClazz`, instead of relying
+on the field order provided by `Object#getFields()`, which is a JVM-dependent
+feature.
+
+Before, the field names where not checked against the field names of the
+provided class. Now, if `resultClazz` is not null, the provided field names are
+expected to match existing fields in that class. If a column metadata has name
+`column`, and no public field in `resultClazz` with that name exists, the
+following exception is thrown: `java.lang.RuntimeException:
+java.lang.NoSuchFieldException: C`.
Features and bug fixes
+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4138">CALCITE-4138</a>]
Metadata operations via Avatica turn empty string args to null (Istvan Toth)
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4095">CALCITE-4095</a>]
- Update Jetty to 9.4.31.v20200723 and use `SslContextFactory.Server` instead of `SslContextFactory` (Peter Somogyi)
+ Update Jetty to 9.4.31.v20200723 and use `SslContextFactory.Server` instead of
+ `SslContextFactory` (Peter Somogyi)
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4196">CALCITE-4196</a>]
Consume all data from client before replying with HTTP/401
* Upgrade gradle from 6.3 to 6.7
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4379">CALCITE-4379</a>]
- Meta.Frame created with java float values in rows hits a ClassCastException in toProto() (Dmitri Bourlatchkov)
+ Meta.Frame created with java float values in rows hits a `ClassCastException`
+ in `toProto()` (Dmitri Bourlatchkov)
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4181">CALCITE-4181</a>]
- Avatica throws exception when select field is a List<Object> (Kent Nguyen)
+ Avatica throws exception when select field is a `List<Object>` (Kent Nguyen)
* Upgrade Gradle from 6.7 to 6.8.1
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4476">CALCITE-4476</a>]
DateTimeUtils.timeStringToUnixDate may produce wrong time (Vladimir Ozerov)
@@ -299,13 +427,15 @@
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4576">CALCITE-4576</a>]
Release process should not overwrite LICENSE file
-Tests
+Build and tests
+
* Remove files that change often from Travis cache and remove broken files automatically
* [<a href="https://issues.apache.org/jira/browse/CALCITE-3163">CALCITE-3163</a>]
Improve test coverage for float/real/double array types (Alessandro Solimando)
* Replace AssertTestUtils with custom Hamcrest matcher for accessors content
-Website and Documentation
+Website and documentation
+
* [<a href="https://issues.apache.org/jira/browse/CALCITE-3841">CALCITE-3841</a>]
Change downloads page to use downloads.apache.org
* [<a href="https://issues.apache.org/jira/browse/CALCITE-4367">CALCITE-4367</a>]
@@ -324,6 +454,7 @@
other software versions as specified in `gradle.properties`.
Features and bug fixes
+
* Upgrade RAT to 0.5.3 and print violations in the console.
* [<a href="https://issues.apache.org/jira/browse/CALCITE-3610">CALCITE-3610</a>]
Fix dockerhub dockerfiles to point to the right JARs on nexus
@@ -339,10 +470,12 @@
* Upgrade Gradle to 6.3 in docker-compose files.
Tests
+
* Upgrade Github Actions' Checkout action to v2.
* Add gradle wrapper validation job to Github Actions.
-Website and Documentation
+Website and documentation
+
* Fix broken link to Javascript binding in the documentation.
## <a href="https://github.com/apache/calcite-avatica/releases/tag/rel/avatica-1.16.0">1.16.0</a> / 2019-12-19
@@ -406,6 +539,7 @@
* Stop building zip archives when building using gradle
Tests
+
* Use GitHub Actions for Windows CI
* Add Travis job with building Calcite master
* Show standard streams in Gradle tests
@@ -417,7 +551,8 @@
* Fetch Calcite from apache/calcite repository for integration testing
* GitHub Actions: actions/checkout@master -> v1.1.0 to avoid unexpected failures
-Website and Documentation
+Website and documentation
+
* Add JavaScript client to client list
* Update avatica/docs/howto.md: SVN -> Git, fix wording
* Exclude "site/target" from Jekyll build: It prevents generation of unwanted site/target/avatica/target directory
@@ -445,7 +580,7 @@
* [<a href="https://issues.apache.org/jira/browse/CALCITE-3040">CALCITE-3040</a>]
Revert CALCITE-2845 due to incompatibilities with downstream clients
-Website and Documentation
+Website and documentation
* [<a href="https://issues.apache.org/jira/browse/CALCITE-3033">CALCITE-3033</a>]
Add navigation item for avatica-go HOWTO documentation
@@ -495,7 +630,7 @@
* [<a href="https://issues.apache.org/jira/browse/CALCITE-2961">CALCITE-2961</a>]
Enable Travis to test against JDK 13
-Website and Documentation
+Website and documentation
* Update to new git URL (switch to gitbox)
* Add links to git commits back to download pages
@@ -574,7 +709,7 @@
* [<a href="https://issues.apache.org/jira/browse/CALCITE-2412">CALCITE-2412</a>]
Add appveyor.yml to run Windows tests
-Website and Documentation
+Website and documentation
* Fix broken links to Github release on the history page
* [<a href="https://issues.apache.org/jira/browse/CALCITE-2381">CALCITE-2381</a>]
@@ -660,7 +795,7 @@
Add dynamic drive calculation to correctly determine trust store location when
testing on Windows (Sergey Nuyanzin)
-Website and Documentation
+Website and documentation
* [<a href="https://issues.apache.org/jira/browse/CALCITE-1160">CALCITE-1160</a>]
Redirect from Avatica community to Calcite community
@@ -735,7 +870,7 @@
(Alessandro Solimando)
* Fix tests on Windows; disable SPNEGO test on Windows
-Web site and documentation
+Website and documentation
* Update description of the `signature` field in `ResultSetResponse`
* Correct field name in `PrepareAndExecuteRequest` documentation (Lukáš Lalinský)
@@ -831,7 +966,7 @@
* [<a href="https://issues.apache.org/jira/browse/CALCITE-1568">CALCITE-1568</a>]
Upgrade `mockito` to 2.5.5
-Web site and documentation
+Website and documentation
* [<a href="https://issues.apache.org/jira/browse/CALCITE-1743">CALCITE-1743</a>]
Add instructions to release docs to move git tag from `rcN` to `rel/`
@@ -909,10 +1044,10 @@
* [<a href="https://issues.apache.org/jira/browse/CALCITE-1226">CALCITE-1226</a>]
Disable `AvaticaSpnegoTest` due to intermittent failures
-Web site and documentation
+Website and documentation
* [<a href="https://issues.apache.org/jira/browse/CALCITE-1369">CALCITE-1369</a>]
- Add list of Avatica clients to the web site
+ Add list of Avatica clients to the website
* [<a href="https://issues.apache.org/jira/browse/CALCITE-1229">CALCITE-1229</a>]
Restore API and Test API links to site
* [<a href="https://issues.apache.org/jira/browse/CALCITE-1287">CALCITE-1287</a>]
@@ -1007,7 +1142,7 @@
* [<a href='https://issues.apache.org/jira/browse/CALCITE-835'>CALCITE-835</a>]
Unicode character seems to be handled incorrectly in Avatica
-Web site and documentation
+Website and documentation
* [<a href='https://issues.apache.org/jira/browse/CALCITE-1251'>CALCITE-1251</a>]
Write release notes
@@ -1094,7 +1229,7 @@
* [<a href="https://issues.apache.org/jira/browse/CALCITE-999">CALCITE-999</a>]
Clean up maven POM files
-Web site and documentation
+Website and documentation
* [<a href="https://issues.apache.org/jira/browse/CALCITE-1142">CALCITE-1142</a>]
Create a `README` for Avatica
diff --git a/site/_docs/howto.md b/site/_docs/howto.md
index a7d4359..4af69b4 100644
--- a/site/_docs/howto.md
+++ b/site/_docs/howto.md
@@ -43,8 +43,8 @@
then build using Gradle:
{% highlight bash %}
-$ tar xvfz apache-calcite-avatica-1.22.0-src.tar.gz
-$ cd apache-calcite-avatica-1.22.0-src
+$ tar xvfz apache-calcite-avatica-1.23.0-src.tar.gz
+$ cd apache-calcite-avatica-1.23.0-src
$ gradle build
{% endhighlight %}