JDBC Driver release notes for 2022

This article contains the release notes for the JDBC Driver, including the following when applicable:

  • Behavior changes

  • New features

  • Customer-facing bug fixes

Snowflake uses semantic versioning for JDBC Driver updates.

Version 3.13.26 (December 14, 2022)

New features and updates

  • Upgraded the arrow library from version 9.0.0 to 10.0.1.

  • Relocated files in META-INF/versions to META-INF/versions/<version_number>/net/snowflake/client/jdbc/internal.

  • Added the getNano() and getOffset() methods to the SnowflakeTimeWithTimezone object to return the number of nanoseconds and the time zone offset, respectively.

Version 3.13.25 (November 16, 2022)

BCR (Behavior Change Release) change

Caution

Version 3.13.25 of the Snowflake JDBC driver changes the default value of the allowUnderscoresInHost parameter to false. This change impacts PrivateLink customers whose account names contain underscores. In this situation, you must override the default value by setting allowUnderscoresInHost to true.

New features and updates

  • Set the default value of the allowUnderscoresInHost parameter to false, which converts underscores in account names to hyphens to avoid Apache httpclient connection errors with underscores. This behavior can be turned off by setting allowUnderscoresInHost to true.

  • Updated the aws-java-sdk-bom library version from 1.11.394 to 1.12.327.

  • Added the enableReturnTimestampWithTimeZone parameter to set whether to include the timezone in a timestamp.

  • Added log warnings for each of the error return paths while parsing a SnowflakeConnectString.

  • Added commas to the SnowflakeDatabaseMetaData.getColumn() arguments to improve readability.

  • Added support for stored procedures.

Bug fixes

  • Fixed an issue related to using the GET command when GCS_USE_DOWNSCOPED_CREDENTIAL is true.

  • Fixed an issue related to returning result types when the session handle is NULL.

Version 3.13.24 (October 28, 2022)

BCR (Behavior Change Release) change

Caution

Version 3.13.24 of the Snowflake JDBC driver changes the return values for the Statement.getMoreResults() and Statement.getupdateCount(), as described below.If your projects are affected by breaking changes related to these functions, Snowflake recommends that you do not install this version into a production environment before testing.

New features and updates

  • Upgraded the following libraries:

    • arrow from version 8.0.0 to 9.0.0

    • jacksondatabind from version 2.13.2.2 to 2.13.4.2

    • google-cloud-storage from version 2.5.0 to 2.6.2

  • The Statement.getMoreResults() function now returns TRUE when more statements are available to iterate through in a multi-statement query.

  • The Statement.getupdateCount() function now returns 0 instead of -1 for non-DML queries.

Version 3.13.23 (September 30, 2022)

New features and updates

  • Enabled the parallelism parameter for PUT/GET commands when using Azure.

Bug fixes

  • Fixed an issue with NoClassDefFoundError in Google libraries in the FIPs driver.

  • Fixed error that occurred when getting procedures with a reader account.

Version 3.13.22 (August 23, 2022)

New features and updates

  • Updated the tika-core library to version 2.4.1.

  • Added support for the new Okta OIE (Okta Identity Engine).

Bug fixes

  • Fixed an issue where getColumnClassName() threw an exception when the column type is timestamp_tz.

  • Fixed an issue where calling getSQLStateType() throws an exception while retrieving database metadata.

  • Fixed an issue where calling executeLargeBatch() for prepared statements might result in no rows being inserted.

  • Fixed an issue where QueryStatus could return invalid error codes and messages.

  • Fixed a null pointer exception that sometimes occurred for session-less clients.

Version 3.13.21 (July 13, 2022)

New features and updates

  • Added the getStreams function to the SnowflakeDatabaseMetaData object to list active streams.

  • Updated the prefetch memory maximum retry value to improve chunk download performance.

Bug fixes

  • Fixed a memory leak issue with the statement object in the snowflakeConnectionV1::createResultSet function.

  • Fixed a memory leak issue with arrow result sets.

  • Fixed an issue with missing data in the JDBC chunk downloader.

Version 3.13.20 (June 23, 2022)

New features

  • Implemented fast fail functionality for 404 errors returned from Amazon S3.

  • Updated the following dependency in the JDBC driver:

    • arrow version 7.0.0 to 8.0.0

  • Upgraded the following Google library versions:

    • google-auth-library from 0.9.0 to 1.5.3

    • google-cloud-storage from 1.82.0 to 2.5.0

    • google api client versions 1.30.10 to 1.33.2

    • google http client versions 1.36.0 to 1.41.4

Version 3.13.19 (May 25, 2022)

New features

  • Updated the isValid() function to send a heartbeat call instead of a SELECT 1 to validate the session connection.

  • Added support for setting VARBINARY byte[] arrays in the SnowflakePreparedStatement.setObject() function.

  • Updated the following dependencies in the JDBC driver:

    • arrow version 0.15.1 to 7.0.0

    • jackson version 2.11.0 to 2.13.2

    • bouncy version 1.64 to 1.70

Bug fixes

  • Fixed an issue with TIMESTAMP_INPUT_FORMAT for stage binding.

Version 3.13.18 (May 18, 2022)

New features

  • Upgraded the arrow and jackson libraries.

Bug fixes

Stopped appending retryCount to a scoped URL for chunk downloading.

Version 3.13.17 (April 14, 2022)

New features

  • Added getters for the timezone and ZonedDateTime for the SnowflakeTimestampWithTimezone object.

Bug fixes

  • Created a patch for driver release v3.13.16 that fixes incorrect behavior for getSchemas() function.

  • Fixed the setting of invalid JVM parameters proxyHost and proxyPort.

Version 3.13.16 (March 17, 2022)

Bug fixes

  • Fixed an issue where the nonProxyHosts parameter setting was not honored.

Version 3.13.15 (February 21, 2022)

Bug fixes

  • Refactored the isFileTransfer function into the base class.

  • Refactored the FileTransferAgent facade classes into base class

  • Fixed a segmentation fault issue within Graal VM Native Image applications.

  • Fixed and issue that cause the ChunkDownloader to hang.

Version 3.13.14 (January 21, 2022)

Bug fixes

  • Added streaming ingest related metadata for streaming ingest billing.

  • Updated BC FIPS version in the public POM.

Version 3.13.13 (January 18, 2022)

Bug fixes

  • Fixed an issue where the JDBC driver was not updating stageInfo for information related to s3RegionalURL.

  • Fixed an issue with account names containing underscores.

  • Fixed an issue where an empty result set was returned for schemas containing double quotes when calling getTables() or getColumns().

  • Fixed an issue where getProcedureColumns() was not working with wildcards.