[CALCITE-2182] Release Avatica 1.11 Add release notes.
Cosmetic code changes. Project: http://git-wip-us.apache.org/repos/asf/calcite-avatica/repo Commit: http://git-wip-us.apache.org/repos/asf/calcite-avatica/commit/17d06158 Tree: http://git-wip-us.apache.org/repos/asf/calcite-avatica/tree/17d06158 Diff: http://git-wip-us.apache.org/repos/asf/calcite-avatica/diff/17d06158 Branch: refs/heads/master Commit: 17d0615854db7438ff75cb2353189526cbe18432 Parents: c115d41 Author: Julian Hyde <[email protected]> Authored: Tue Feb 27 21:34:15 2018 -0800 Committer: Julian Hyde <[email protected]> Committed: Mon Mar 5 19:37:20 2018 -0800 ---------------------------------------------------------------------- NOTICE | 2 +- README | 2 +- .../java/org/apache/calcite/avatica/Meta.java | 2 +- .../apache/calcite/avatica/remote/Service.java | 2 +- .../calcite/avatica/remote/TypedValue.java | 3 +- .../calcite/avatica/util/ArrayFactoryImpl.java | 13 ++-- .../apache/calcite/avatica/util/ByteString.java | 5 +- docker/src/main/dockerhub/Dockerfile | 2 +- .../metrics/noop/NoopMetricsSystemFactory.java | 5 +- pom.xml | 3 +- .../calcite/avatica/jdbc/JdbcResultSet.java | 4 +- .../avatica/remote/RemoteHttpClientTest.java | 1 + site/_docs/docker_images.md | 28 ++++---- site/_docs/history.md | 74 ++++++++++++++++++++ site/_docs/howto.md | 20 +++--- site/_docs/index.md | 2 +- 16 files changed, 125 insertions(+), 43 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/calcite-avatica/blob/17d06158/NOTICE ---------------------------------------------------------------------- diff --git a/NOTICE b/NOTICE index d0d92cd..9aa7c4f 100644 --- a/NOTICE +++ b/NOTICE @@ -1,5 +1,5 @@ Apache Calcite -- Avatica -Copyright 2012-2017 The Apache Software Foundation +Copyright 2012-2018 The Apache Software Foundation This product includes software developed at The Apache Software Foundation (http://www.apache.org/). http://git-wip-us.apache.org/repos/asf/calcite-avatica/blob/17d06158/README ---------------------------------------------------------------------- diff --git a/README b/README index 30fb4e5..56ff582 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@ -Apache Calcite Avatica release 1.10.0 +Apache Calcite Avatica release 1.11.0 This is a source or binary distribution of Avatica, a framework for building database drivers. Avatica is a sub-project of Apache Calcite. http://git-wip-us.apache.org/repos/asf/calcite-avatica/blob/17d06158/core/src/main/java/org/apache/calcite/avatica/Meta.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/calcite/avatica/Meta.java b/core/src/main/java/org/apache/calcite/avatica/Meta.java index a71214d..81ae594 100644 --- a/core/src/main/java/org/apache/calcite/avatica/Meta.java +++ b/core/src/main/java/org/apache/calcite/avatica/Meta.java @@ -1347,7 +1347,7 @@ public interface Meta { CREATE, DROP, ALTER, OTHER_DDL, CALL; public boolean canUpdate() { - switch(this) { + switch (this) { case INSERT: return true; case IS_DML: http://git-wip-us.apache.org/repos/asf/calcite-avatica/blob/17d06158/core/src/main/java/org/apache/calcite/avatica/remote/Service.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/calcite/avatica/remote/Service.java b/core/src/main/java/org/apache/calcite/avatica/remote/Service.java index 3905c3e..d7b5eee 100644 --- a/core/src/main/java/org/apache/calcite/avatica/remote/Service.java +++ b/core/src/main/java/org/apache/calcite/avatica/remote/Service.java @@ -2643,7 +2643,7 @@ public interface Service { /** * Response that includes information about the server that handled an RPC. * - * This isn't really a "response", but we want to be able to be able to convert it to protobuf + * <p>This isn't really a "response", but we want to be able to be able to convert it to protobuf * and back again, so ignore that there isn't an explicit endpoint for it. */ public class RpcMetadataResponse extends Response { http://git-wip-us.apache.org/repos/asf/calcite-avatica/blob/17d06158/core/src/main/java/org/apache/calcite/avatica/remote/TypedValue.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/calcite/avatica/remote/TypedValue.java b/core/src/main/java/org/apache/calcite/avatica/remote/TypedValue.java index 8b4f81a..a2deef3 100644 --- a/core/src/main/java/org/apache/calcite/avatica/remote/TypedValue.java +++ b/core/src/main/java/org/apache/calcite/avatica/remote/TypedValue.java @@ -116,7 +116,8 @@ import static java.nio.charset.StandardCharsets.UTF_8; * </tr> * </table> * - * Note: + * <p>Note: + * * <ul> * <li>The various numeric types (TINYINT, SMALLINT, INTEGER, BIGINT, REAL, * FLOAT, DOUBLE) are represented by {@link Number} in serial format because http://git-wip-us.apache.org/repos/asf/calcite-avatica/blob/17d06158/core/src/main/java/org/apache/calcite/avatica/util/ArrayFactoryImpl.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/calcite/avatica/util/ArrayFactoryImpl.java b/core/src/main/java/org/apache/calcite/avatica/util/ArrayFactoryImpl.java index c90e999..f12fba8 100644 --- a/core/src/main/java/org/apache/calcite/avatica/util/ArrayFactoryImpl.java +++ b/core/src/main/java/org/apache/calcite/avatica/util/ArrayFactoryImpl.java @@ -99,13 +99,14 @@ public class ArrayFactoryImpl implements ArrayImpl.Factory { /** * Creates the row-level view over the values that will make up an Array. The Iterator has a row * per Array element, each row containing two columns. The second column is the array element and - * the first column is the offset into the array of that array element (one-based, not zero-based) + * the first column is the offset into the array of that array element (one-based, not + * zero-based). * - * The ordering of the rows is not guaranteed to be in the same order as the array elements. + * <p>The ordering of the rows is not guaranteed to be in the same order as the array elements. * - * A list of {@code elements}: + * <p>A list of {@code elements}: * <pre>[1, 2, 3]</pre> - * might be converted into + * <p>might be converted into * <pre>Iterator{ [1, 1], [2, 2], [3, 3] }</pre> * * @param elements The elements of an array. @@ -124,9 +125,9 @@ public class ArrayFactoryImpl implements ArrayImpl.Factory { * Creates an row-level view over the values that will make up an Array. The Iterator has one * entry which has a list that also has one entry. * - * A provided list of {@code elements} + * <p>A provided list of {@code elements} * <pre>[1, 2, 3]</pre> - * would be converted into + * <p>would be converted into * <pre>Iterator{ [ [1,2,3] ] }</pre> * * @param elements The elements of an array http://git-wip-us.apache.org/repos/asf/calcite-avatica/blob/17d06158/core/src/main/java/org/apache/calcite/avatica/util/ByteString.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/calcite/avatica/util/ByteString.java b/core/src/main/java/org/apache/calcite/avatica/util/ByteString.java index 24db7da..87d96fa 100644 --- a/core/src/main/java/org/apache/calcite/avatica/util/ByteString.java +++ b/core/src/main/java/org/apache/calcite/avatica/util/ByteString.java @@ -269,9 +269,8 @@ public class ByteString implements Comparable<ByteString>, Serializable { * Returns the byte at a given position in the byte string. * * @param i Index - * @throws IndexOutOfBoundsException - * if the <tt>index</tt> argument is negative or not less than - * <tt>length()</tt> + * @throws IndexOutOfBoundsException if the <tt>index</tt> argument is + * negative or not less than <tt>length()</tt> * @return Byte at given position */ public byte byteAt(int i) { http://git-wip-us.apache.org/repos/asf/calcite-avatica/blob/17d06158/docker/src/main/dockerhub/Dockerfile ---------------------------------------------------------------------- diff --git a/docker/src/main/dockerhub/Dockerfile b/docker/src/main/dockerhub/Dockerfile index 4617a4e..bc98448 100644 --- a/docker/src/main/dockerhub/Dockerfile +++ b/docker/src/main/dockerhub/Dockerfile @@ -21,7 +21,7 @@ RUN addgroup -S avatica && adduser -S -G avatica avatica RUN mkdir -p /home/avatica/classpath # This line must be preserved. The Maven build will verify this version matches its version -ARG AVATICA_VERSION="1.10.0" +ARG AVATICA_VERSION="1.11.0" # Dependencies ADD https://repository.apache.org/content/groups/public/org/apache/calcite/avatica/avatica-standalone-server/${AVATICA_VERSION}/avatica-standalone-server-${AVATICA_VERSION}-shaded.jar /home/avatica/classpath http://git-wip-us.apache.org/repos/asf/calcite-avatica/blob/17d06158/metrics/src/main/java/org/apache/calcite/avatica/metrics/noop/NoopMetricsSystemFactory.java ---------------------------------------------------------------------- diff --git a/metrics/src/main/java/org/apache/calcite/avatica/metrics/noop/NoopMetricsSystemFactory.java b/metrics/src/main/java/org/apache/calcite/avatica/metrics/noop/NoopMetricsSystemFactory.java index c15f978..9ca7348 100644 --- a/metrics/src/main/java/org/apache/calcite/avatica/metrics/noop/NoopMetricsSystemFactory.java +++ b/metrics/src/main/java/org/apache/calcite/avatica/metrics/noop/NoopMetricsSystemFactory.java @@ -22,8 +22,9 @@ import org.apache.calcite.avatica.metrics.MetricsSystemFactory; /** * A {@link MetricsSystemFactory} for the {@link NoopMetricsSystem}. * - * No service file is provided for this implementation. It is the fallback implementation if - * no implementation or more than one implementation is found on the classpath. + * <p>No service file is provided for this implementation. It is the fallback + * implementation if no implementation or more than one implementation is found + * on the classpath. */ public class NoopMetricsSystemFactory implements MetricsSystemFactory { http://git-wip-us.apache.org/repos/asf/calcite-avatica/blob/17d06158/pom.xml ---------------------------------------------------------------------- diff --git a/pom.xml b/pom.xml index 6b21658..625e406 100644 --- a/pom.xml +++ b/pom.xml @@ -54,7 +54,7 @@ limitations under the License. <top.dir>${project.basedir}</top.dir> <avatica.release.version>${project.version}</avatica.release.version> <version.major>1</version.major> - <version.minor>10</version.minor> + <version.minor>11</version.minor> <!-- This list is in alphabetical order. --> <bouncycastle.version>1.55</bouncycastle.version> <build-helper-maven-plugin.version>3.0.0</build-helper-maven-plugin.version> @@ -346,6 +346,7 @@ limitations under the License. <plugin> <groupId>org.apache.rat</groupId> <artifactId>apache-rat-plugin</artifactId> + <version>0.12</version> <configuration> <excludes> <!-- Do not exclude site/target; it should not exist http://git-wip-us.apache.org/repos/asf/calcite-avatica/blob/17d06158/server/src/main/java/org/apache/calcite/avatica/jdbc/JdbcResultSet.java ---------------------------------------------------------------------- diff --git a/server/src/main/java/org/apache/calcite/avatica/jdbc/JdbcResultSet.java b/server/src/main/java/org/apache/calcite/avatica/jdbc/JdbcResultSet.java index b879086..7aa7a73 100644 --- a/server/src/main/java/org/apache/calcite/avatica/jdbc/JdbcResultSet.java +++ b/server/src/main/java/org/apache/calcite/avatica/jdbc/JdbcResultSet.java @@ -45,9 +45,9 @@ import java.util.Set; import java.util.TreeMap; /** Implementation of {@link org.apache.calcite.avatica.Meta.MetaResultSet} - * upon a JDBC {@link java.sql.ResultSet}. + * upon a JDBC {@link java.sql.ResultSet}. * - * @see org.apache.calcite.avatica.jdbc.JdbcMeta */ + * @see org.apache.calcite.avatica.jdbc.JdbcMeta */ class JdbcResultSet extends Meta.MetaResultSet { protected JdbcResultSet(String connectionId, int statementId, boolean ownStatement, Meta.Signature signature, Meta.Frame firstFrame) { http://git-wip-us.apache.org/repos/asf/calcite-avatica/blob/17d06158/server/src/test/java/org/apache/calcite/avatica/remote/RemoteHttpClientTest.java ---------------------------------------------------------------------- diff --git a/server/src/test/java/org/apache/calcite/avatica/remote/RemoteHttpClientTest.java b/server/src/test/java/org/apache/calcite/avatica/remote/RemoteHttpClientTest.java index 25d7c7a..6998ea8 100644 --- a/server/src/test/java/org/apache/calcite/avatica/remote/RemoteHttpClientTest.java +++ b/server/src/test/java/org/apache/calcite/avatica/remote/RemoteHttpClientTest.java @@ -131,4 +131,5 @@ public class RemoteHttpClientTest { } } } + // End RemoteHttpClientTest.java http://git-wip-us.apache.org/repos/asf/calcite-avatica/blob/17d06158/site/_docs/docker_images.md ---------------------------------------------------------------------- diff --git a/site/_docs/docker_images.md b/site/_docs/docker_images.md index c4662ea..3736c9d 100644 --- a/site/_docs/docker_images.md +++ b/site/_docs/docker_images.md @@ -70,22 +70,22 @@ file will start an instance of PostgreSQL and an instance of the Avatica server, 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.10.0: +each release. Here is the layout for release 1.11.0: ``` -avatica-docker-1.10.0/ -avatica-docker-1.10.0/hypersql/ -avatica-docker-1.10.0/mysql/ -avatica-docker-1.10.0/postgresql/ -avatica-docker-1.10.0/Dockerfile -avatica-docker-1.10.0/hypersql/build.sh -avatica-docker-1.10.0/hypersql/Dockerfile -avatica-docker-1.10.0/mysql/build.sh -avatica-docker-1.10.0/mysql/docker-compose.yml -avatica-docker-1.10.0/mysql/Dockerfile -avatica-docker-1.10.0/postgresql/build.sh -avatica-docker-1.10.0/postgresql/docker-compose.yml -avatica-docker-1.10.0/postgresql/Dockerfile +avatica-docker-1.11.0/ +avatica-docker-1.11.0/hypersql/ +avatica-docker-1.11.0/mysql/ +avatica-docker-1.11.0/postgresql/ +avatica-docker-1.11.0/Dockerfile +avatica-docker-1.11.0/hypersql/build.sh +avatica-docker-1.11.0/hypersql/Dockerfile +avatica-docker-1.11.0/mysql/build.sh +avatica-docker-1.11.0/mysql/docker-compose.yml +avatica-docker-1.11.0/mysql/Dockerfile +avatica-docker-1.11.0/postgresql/build.sh +avatica-docker-1.11.0/postgresql/docker-compose.yml +avatica-docker-1.11.0/postgresql/Dockerfile ``` #### Running http://git-wip-us.apache.org/repos/asf/calcite-avatica/blob/17d06158/site/_docs/history.md ---------------------------------------------------------------------- diff --git a/site/_docs/history.md b/site/_docs/history.md index d73b48f..311dbd2 100644 --- a/site/_docs/history.md +++ b/site/_docs/history.md @@ -28,6 +28,80 @@ For a full list of releases, see Downloads are available on the [downloads page]({{ site.baseurl }}/downloads/). +## <a href="https://github.com/apache/calcite-avatica/releases/tag/calcite-avatica-1.11.0">1.11.0</a> / 2018-03-09 +{: #v1-11-0} + +Apache Calcite Avatica 1.11.0 adds support for JDK 10 and drops +support for JDK 7. There are more than 20 bug fixes and new features. + +Compatibility: This release is tested +on Linux, macOS, Microsoft Windows; +using Oracle JDK 8, 9, 10; +Guava versions 14.0 to 23.0; +other software versions as specified in `pom.xml`. + +Features and bug fixes + +* Generate sha256 checksums for releases (previous releases used md5 and sha1) +* [<a href="https://issues.apache.org/jira/browse/CALCITE-2199">CALCITE-2199</a>] + Allow methods overriding `AvaticaResultSet.getStatement()` to throw a + `SQLException` (Benjamin Cogrel) +* [<a href="https://issues.apache.org/jira/browse/CALCITE-508">CALCITE-508</a>] + Ensure that `RuntimeException` is wrapped in `SQLException` +* [<a href="https://issues.apache.org/jira/browse/CALCITE-2013">CALCITE-2013</a>] + Upgrade HSQLDB to 2.4 +* [<a href="https://issues.apache.org/jira/browse/CALCITE-2154">CALCITE-2154</a>] + Upgrade jackson to 2.9.4 +* [<a href="https://issues.apache.org/jira/browse/CALCITE-2140">CALCITE-2140</a>] + Basic implementation of `Statement.getMoreResults()` +* [<a href="https://issues.apache.org/jira/browse/CALCITE-2086">CALCITE-2086</a>] + Increased max allowed HTTP header size to 64KB +* [<a href="https://issues.apache.org/jira/browse/CALCITE-2073">CALCITE-2073</a>] + Allow disabling of the `maven-protobuf-plugin` +* [<a href="https://issues.apache.org/jira/browse/CALCITE-2017">CALCITE-2017</a>] + Support JAAS-based Kerberos login on IBM Java +* [<a href="https://issues.apache.org/jira/browse/CALCITE-2003">CALCITE-2003</a>] + Remove global synchronization on `openConnection` +* [<a href="https://issues.apache.org/jira/browse/CALCITE-1922">CALCITE-1922</a>] + Allow kerberos v5 OID in SPNEGO authentication +* [<a href="https://issues.apache.org/jira/browse/CALCITE-1915">CALCITE-1915</a>] + Work around a Jetty bug where the SPNEGO challenge is not sent +* [<a href="https://issues.apache.org/jira/browse/CALCITE-1902">CALCITE-1902</a>] + In `AvaticaResultSet` methods, throw `SQLFeatureNotSupportedException` rather + than `UnsupportedOperationException` (Sergio Sainz) +* [<a href="https://issues.apache.org/jira/browse/CALCITE-1487">CALCITE-1487</a>] + Set the request as handled with authentication failures +* [<a href="https://issues.apache.org/jira/browse/CALCITE-1904">CALCITE-1904</a>] + Allow SSL hostname verification to be turned off +* [<a href="https://issues.apache.org/jira/browse/CALCITE-1879">CALCITE-1879</a>] + Log incoming protobuf requests at `TRACE` +* [<a href="https://issues.apache.org/jira/browse/CALCITE-1880">CALCITE-1880</a>] + Regenerate protobuf files for 3.3.0 +* [<a href="https://issues.apache.org/jira/browse/CALCITE-1836">CALCITE-1836</a>] + Upgrade to protobuf-java-3.3.0 +* [<a href="https://issues.apache.org/jira/browse/CALCITE-1195">CALCITE-1195</a>] + Add a curl+jq example for interacting with Avatica +* [<a href="https://issues.apache.org/jira/browse/CALCITE-1813">CALCITE-1813</a>] + Use correct noop-driver artifactId + +Tests + +* [<a href="https://issues.apache.org/jira/browse/CALCITE-2145">CALCITE-2145</a>] + `RemoteDriverTest.testBatchInsertWithDates` fails in certain time zones + (Alessandro Solimando) +* Fix tests on Windows; disable SPNEGO test on Windows + +Web site and documentation + +* Update description of the `signature` field in `ResultSetResponse` +* Correct field name in `PrepareAndExecuteRequest` documentation (Lukáš Lalinský) +* [<a href="https://issues.apache.org/jira/browse/CALCITE-2083">CALCITE-2083</a>] + Update documentation +* [<a href="https://issues.apache.org/jira/browse/CALCITE-2036">CALCITE-2036</a>] + Fix "next" link in `history.html` +* [<a href="https://issues.apache.org/jira/browse/CALCITE-1878">CALCITE-1878</a>] + Update the website for protobuf changes in 1.10.0 + ## <a href="https://github.com/apache/calcite-avatica/releases/tag/calcite-avatica-1.10.0">1.10.0</a> / 2017-05-30 {: #v1-10-0} http://git-wip-us.apache.org/repos/asf/calcite-avatica/blob/17d06158/site/_docs/howto.md ---------------------------------------------------------------------- diff --git a/site/_docs/howto.md b/site/_docs/howto.md index 9fa09ed..bde38ab 100644 --- a/site/_docs/howto.md +++ b/site/_docs/howto.md @@ -31,15 +31,15 @@ Here's some miscellaneous documentation about using Avatica. ## Building from a source distribution Prerequisites are maven (3.2.1 or later) -and Java (JDK 1.7 or later, 1.8 preferred) on your path. +and Java (JDK 8 or later) on your path. Unpack the source distribution `.tar.gz` or `.zip` file, `cd` to the root directory of the unpacked source, then build using maven: {% highlight bash %} -$ tar xvfz apache-calcite-avatica-1.10.0-src.tar.gz -$ cd apache-calcite-avatica-1.10.0-src +$ tar xvfz apache-calcite-avatica-1.11.0-src.tar.gz +$ cd apache-calcite-avatica-1.11.0-src $ mvn install {% endhighlight %} @@ -49,7 +49,7 @@ tests. ## Building from git Prerequisites are git, maven (3.2.1 or later) -and Java (JDK 1.7 or later, 1.8 preferred) on your path. +and Java (JDK 8 or later) on your path. Create a local copy of the github repository, `cd` to its root directory, @@ -174,7 +174,7 @@ to guarantee that your credentials will be cached for the duration of the build. Before you start: * Set up signing keys as described above. -* Make sure you are using JDK 8 (not 7 or 9). +* Make sure you are using JDK 8 (not 9 or 10). {% highlight bash %} # Make sure that there are no junk files in the sandbox @@ -190,10 +190,14 @@ When the dry-run has succeeded, change `install` to `deploy`. Before you start: * Set up signing keys as described above. -* Make sure you are using JDK 8 (not 7 or 9). +* Make sure you are using JDK 8 (not 9 or 10). * Check that `README`, `site/_docs/howto.md`, `site/_docs/docker_images.md`, and `docker/src/main/dockerhub/Dockerfile` have the correct version number. +* Check that `NOTICE` has the current copyright year. * Set `version.major` and `version.minor` in `pom.xml`. +* Add release notes to `site/_docs/history.md`. Include the commit history, + and say which versions of Java, Guava and operating systems the release is + tested against. * Make sure that <a href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20CALCITE%20AND%20status%20%3D%20Resolved%20and%20fixVersion%20is%20null"> every "resolved" JIRA case</a> (including duplicates) has @@ -235,8 +239,8 @@ index 4617a4e..4ccd97f 100644 +++ b/docker/src/main/dockerhub/Dockerfile @@ -23,3 +23,3 @@ RUN mkdir -p /home/avatica/classpath # This line must be preserved. The Maven build will verify this version matches its version --ARG AVATICA_VERSION="1.10.0" -+ARG AVATICA_VERSION="1.10.0-SNAPSHOT" +-ARG AVATICA_VERSION="1.11.0" ++ARG AVATICA_VERSION="1.11.0-SNAPSHOT" EOF # Do a dry run of the release:prepare step, which sets version numbers. http://git-wip-us.apache.org/repos/asf/calcite-avatica/blob/17d06158/site/_docs/index.md ---------------------------------------------------------------------- diff --git a/site/_docs/index.md b/site/_docs/index.md index bb03529..c699901 100644 --- a/site/_docs/index.md +++ b/site/_docs/index.md @@ -29,7 +29,7 @@ and an RPC wire protocol. Avatica's Java binding has very few dependencies. Even though it is part of Apache Calcite it does not depend on other parts of -Calcite. It depends only on JDK 1.7+ and Jackson. +Calcite. It depends only on JDK 8+ and Jackson. Avatica's wire protocols are JSON or Protocol Buffers over HTTP. The Java implementation of the JSON protocol uses
