2023年の JDBC Driver リリースノート

この記事には、 JDBC Driver のリリースノートが含まれています。また、該当する場合は以下が含まれます。

  • 動作の変更

  • 新機能

  • 顧客向けバグ修正

Snowflake は、 JDBC Driver の更新にセマンティックバージョニングを使用します。

バージョン3.14.4(2023年12月7日)

新機能および更新

  • なし。

バグ修正

  • gzipDisabled プロパティキーに値がない場合に発生する NullPointerException を修正しました。

  • temp ディレクトリに関連するログのセキュリティ問題を修正しました。

    • ログは、一時ディレクトリにアクセスしなくなりました。

    • デフォルトの logpath 値が temp ディレクトリから home ディレクトリに変更されました。

  • Arrowを使用した JDK v21でドライバーが失敗する問題を修正しました。

バージョン3.14.3(2023年11月7日)

新機能および更新

  • 以下のライブラリを更新しました。

    • org.codehaus.plexus:plexus-archiverが2.4.4から4.8.0に

    • org.codehaus.plexus:plexus-archiverが2.6から4.8.0に

    • org.bouncycastle:bc-fipsが1.0.2.1から1.0.2.4に

    • aws-java-sdkを1.12.501に

    • Jacksonを2.15.3に

    • Nettyを4.1.100.Finalに

    • gRCを1.59.0に

  • PUT および GET コマンドにローカルファイルシステムへのアクセスを許可するかどうかを決定するための enablePutGet 接続プロパティを追加しました。

  • 失敗した接続リクエストに対する再試行の頻度を管理するためのサポートを追加しました。

    • デフォルト値が300秒である retryTimeout パラメーターを追加しました。

    • ドライバーが loginTimeoutmaxHttpRetries の接続パラメーターを使用する方法を更新し、 loginTimeout のデフォルト値を300秒に変更しました。

バグ修正

  • snowflake-ingest-sdk 2.0.3使用時の NoSuchMethodError に関する問題を修正しました。

  • NULL から DATE へのデータ型変換の処理に関する問題を修正しました。

  • GCP ダウンスコープトークンの問題を修正しました。

バージョン3.13.34(2023年10月25日)

新機能および更新

  • なし。

バグ修正

  • snowflake-jdbc-fips で GCP ダウンスコープトークンがある PUT コマンドが失敗する問題を修正しました。

バージョン3.14.2(2023年10月2日)

新機能および更新

  • なし。

バグ修正

  • getStageInfoJsonNode からの useS3RegionUrl をドライバーが優先しない問題を修正しました。

バージョン3.14.1(2023年8月24日)

新機能および更新

  • util メソッドからオプションのヘッダーを送信する機能を追加しました。

  • ストアドプロシージャの非同期呼び出しをサポートするため、 getQueryStatus 関数を SfBaseSession に移動しました。

バグ修正

  • ドライバーがプライベートリンクの OSCP URL 全体を送信しない問題を修正しました。

バージョン3.14.0(2023年7月27日)

BCR (動作変更リリース)の変更

  • 特定の条件下で、 JDBC ドライバーが HTTP リクエストを無限に再試行する場合がある問題を修正しました。

    以前は、停止中、JDBC ドライバーは、リクエストが成功するか、誰かが操作を強制終了するまで、失敗した HTTP 呼び出しを継続的に再試行しました。

    この変更により、 execute および executeQuery コールを起点とする HTTP の無限再試行が無効になります。現在は、 JDBC ドライバーの HTTP の再試行をデフォルトで7回に制限しています。お客様は、 maxHttpRetries セッションパラメーターを設定して、最大再試行回数をカスタマイズできます。 maxHttpRetries=0 を設定して再試行制限を解除することもできますが、その場合は、 JDBC ドライバーが、失敗した HTTP 呼び出しを無限に再試行する危険があります。

新機能および更新

  • OOB テレメトリを無効にできるように、 CLIENT_OUT_OF_BAND_TELEMETRY_ENABLED セッションプロパティを追加しました。

  • locatorsUpdateCopy() 関数呼び出しの処理が改善されました。ドライバーは、例外をスローする代わりに FALSE を返すようになりました。

  • S3クライアントの「400 Bad Request」エラーの処理を更新し、ストレージクライアントの PUT/GET 例外の最大再試行回数を構成するための putGetMaxRetries 接続プロパティを追加しました(デフォルト: 7)。

  • チャンクダウンロードのパフォーマンス向上のために、 DefaultResultStreamProvider.getResultChunk() での httpMaxRetries のサポートを追加しました。

バグ修正

  • driver.getPropertyInfo() を呼び出す際に、ドライバーが不正にnullポインター例外(NPEs)をスローする問題を修正しました。

  • Arrowストリームから読み取る際に、 reader.LoadNextBatch()ClosedByInterruptException をスローする場合がある問題を修正しました。

  • JDBC ドライバーが、S3クライアントに対して誤ったプロキシ設定を使用する問題を修正しました。

  • downloadStream() 関数が日本語の文字を含むファイル名を許可しない問題を修正しました。

  • PUT/GET のファイルパスで「~」が許可されていなかった問題を修正しました。

  • Windowsのファイルパスにログ構成ファイル用のプレフィックス file:// が含まれている場合に、ドライバーが InvalidPathException をスローする問題を修正しました。

バージョン3.13.33(2023年6月14日)

新機能および更新

  • なし。

バグ修正

  • MessageFormat.format 例外を適切に処理します。

バージョン3.13.32(2023年5月26日)

新機能および更新

  • なし。

バグ修正

  • Java Runtime 8に影響する3.13.31で導入されたバグを修正しました。

バージョン3.13.31(2023年5月25日)

注釈

特にJava Runtime 8に影響するバグを発見した場合は、新しいバージョンにアップデートしてください。

新機能および更新

  • ハイブリッドトランザクション/分析処理(HTAP)を強化しました。

  • セキュリティアップデートのために、 org.apache.httpcomponents:httpclient ライブラリをバージョン4.5.13にアップグレードしました。

バグ修正

  • チャンクのダウンロードリクエストで認証コードがタイムアウトする問題を修正しました。

  • Windows上での構成ファイルの解析に関する問題を修正しました。

  • datetime 値が大きかったり小さかったりする場合に、int64がオーバーフローする問題を修正しました。

  • SSL/TLS エラーにより接続が中断された場合に表示されるエラーメッセージを改善しました。

  • useSessionTimezone が有効な場合に、 getTime() 関数が誤ったタイムゾーンに基づく時刻を返す問題を修正しました。

  • jdbc_query_result_format=JSONresultset から ASCII Null文字と制御文字がランダムにドロップされる問題を修正しました。

バージョン3.13.30(2023年4月18日)

新機能および更新

  • 以下のソフトウェアライブラリをアップグレードしました。

    • slf4j-apiをバージョン1.7.25からバージョン2.0.6に。

    • logback-classicをバージョン1.2.3からバージョン1.3.6に。

  • 重要ではない「SEVERE: HTTP request took longer than 5 min」をエラーメッセージから警告メッセージに変更しました。

  • JVM プロキシ設定のための http.proxyProtocol プロパティを追加しました。

バグ修正

  • チャンクのダウンロードリクエストで認証コードがタイムアウトする問題を修正しました。

  • URL の接続解除に失敗した場合に、ログイン認証情報が例外で表示される問題を修正しました。

  • resultsetopenResultSets に追加する前に isClosed() をチェックすることによりメモリリークが発生していたのを修正しました。

  • hostnames が不一致の場合に、誤解を招く SAML2 アサーションエラーメッセージが送信される問題を修正しました。

  • URL でエンコードされた OSCP リクエストに関する問題を修正しました。

  • SnowflakeFileTransferAgent.uploadStream() 関数が overwrite=false オプションを誤って処理する問題を修正しました。

  • metadata.etTableTypes() メソッドが誤ったテーブル型を返す問題を修正しました。

  • 非同期クエリ呼び出しがクエリに失敗して例外が発生した場合にトリガーされる例外メッセージで、 SQL エラーメッセージを公開するようにドライバーを更新しました。

  • get procedure列の呼び出しが空の結果セットを返すまれなケースのチェックを追加しました。

  • SnowflakeConnectionString の解析エラーに関するログメッセージの警告レベルをデバッグ/情報に変更しました。

  • SSLHandshakeException で失敗したリクエストを JDBC ドライバーが再試行する問題を修正しました。

  • snowflake.jdbc.enable.illegalAccessWarning システムプロパティのサポートを追加して、不正アクセス警告を無効にできるようにしました。

  • gscアップロードファイルのエラーメッセージが間違った情報を表示する問題を修正しました。

  • デフォルトの TTL 値を変更して、60秒後にアイドル接続を閉じるようにしました。

  • 余計なdescribeコールを削除することにより、準備されたステートメント ID の問題を修正しました。

バージョン3.13.29(2023年3月17日)

新機能および更新

  • なし。

バグ修正

  • USE_STATEMENT_TYPE_CALL_FOR_STORED_PROC_CALLS=true の場合に、ストアドプロシージャの列メタデータに対して不正な列型名が返される問題を修正しました。

  • ターゲットファイルシステムの容量不足のためにファイルをダウンロードできなかった場合に、 JDBC が GET リクエストを再試行する問題を修正しました。この場合、ドライバーは例外をスローするようになりました。

  • 404リソースエラーが発生した場合に、 JDBC、Azureクライアント上のリクエストを再試行する問題を修正しました。この場合、ドライバーは例外をスローするようになりました。

  • SQL インジェクション攻撃から保護するために、 JDBC ドライバーは DatabaseMetadata API のパターン検索引数で引用符をエスケープするようになりました。

  • 列に NULL 値が含まれる場合に、getClob()呼び出しで NullPointerException が発生する問題を修正しました。列が SQL NULL 値を保持している場合は、ドライバーが NULL を返すようになりました。

  • JDBC ドライバーが SSO URL の実行前の検証に失敗する問題を修正しました。ドライバーは、 URLValidatorURLEncoder ユーティリティを使用して、 URL を検証し、エンコードするようになりました。

バージョン3.13.28(2023年2月22日)

新機能および更新

  • なし。

バグ修正

  • metaData.getColumns() 関数の呼び出し時に、 GEOMETRY データを含むメタデータを返す問題を修正するため、 SnowflakeType enumで GEOMETRY データ型のサポートを追加しました。

  • JDBC が誤って入力ストリームのアップロードを再試行しようとした場合に、 GCP uploadStreamがファイルを部分的にアップロードする再試行の問題を修正しました。

  • ストアドプロシージャおよび関数で、 getProcedureColumns() および getFunctionColumns() 関数呼び出しに対して resultset が返される問題を修正しました。

  • StreamLoader が過剰なログメッセージを生成する問題を修正しました。

バージョン3.13.27(2023年1月30日)

新機能および更新

  • なし

バグ修正

  • GET および PUT の操作中に発生する競合状態を修正しました。

  • HTTP 429エラーの受信時にOkta認証コードを使用すると失敗する問題を修正しました。