2023年の Go Snowflake Driver リリースノート

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

  • 動作の変更

  • 新機能

  • 顧客向けバグ修正

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

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

新機能および更新

  • crypto および net ライブラリをアップグレードしました。

  • 以前のライブラリバージョンとの互換性を維持しながら、新しい AWS SDK ライブラリでS3クライアントを実行するためのサポートを追加しました。

  • キーを x509.Certificate から文字列に変更することにより、 OCSP 応答キャッシュのパフォーマンスが向上しました。

  • 認証エンドポイントと他のタイプのエンドポイントに対して、個別の再試行戦略を実装しました。

バグ修正

  • バックエンドエラーが発生した場合に、失敗した getQueryStatus クエリをドライバーが再試行するようになりました。

  • ステートメントによって呼び出された失敗したクエリに対して、ドライバーが QueryId を提供するようになりました。

バージョン1.7.0(2023年11月15日)

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

  • OVERWRITE パラメーターのデフォルト PUT の動作を変更しました。以前は、デフォルトが OVERWRITE=true でした。この変更により、デフォルトは OVERWRITE=false となるため、明示的に PUT を上書きする動作を有効にする必要があります。

新機能および更新

  • クエリ再試行リクエストに対して HTTP ステータスコードを送信するかどうかを有効または無効にするための IncludeRetryReason 構成パラメーターを追加しました。

  • 新しい WithOriginalTimestamp コンテキストを追加して、Snowflakeがサポートする全年度の範囲でナノ秒精度を使用するArrowバッチを許可するようにしました。

  • 構成ファイルにおけるログレベルの設定に対するサポートを追加しました。

  • 解析された OCSP レスポンスをキャッシュすることで、パフォーマンスが向上しました。

バグ修正

  • HTAP クエリコンテキストキャッシュへの同時アクセスに関する問題を修正しました。

  • 非同期のデモ例の不適切な接続処理に関する問題を修正しました。

バージョン1.6.25(2023年9月26日)

新機能および更新

  • ハイブリッドトランザクション処理と分析処理のサポートを追加しました。

  • ステートメントレベルで GetQueryId 関数を実装し、このステートメントの最後のクエリIDを取得できるようにしました。

  • クエリリクエストに再試行の理由を追加しました。

  • SSL 接続に使用される cacert バンドルを更新しました。

バグ修正

  • PrivateLink 環境における OCSP フォールバックリクエストに関する問題を修正しました。

  • スレッド間で同じ接続が再利用された場合のいくつかの競合状態に対処するため、snowflakeConn構造体から QueryID を削除しました。

  • 成功したクエリに対してドライバーがエラーを表示する問題を修正しました。

バージョン1.6.24(2023年8月22日)

新機能および更新

  • 暗号化と圧縮のための仮ディレクトリ指定に対するサポートを追加しました。

  • 各行と各列を別々にチェックする代わりに、クエリごとに1回ロケーションデータをチェックすることで、パフォーマンスが向上しました。

  • Arrowバッチのフェッチ時にカスタムコンテキストを指定するためのサポートを追加しました。

バグ修正

  • なし。

バージョン1.6.23(2023年7月25日)

新機能および更新

  • 名前付きパラメーターバインドのサポートを追加しました。

  • クエリバインドマッピングに sql.Null 型のサポートを追加しました。

  • キーペア認証のタイムアウトを個別に設定できるようにしました。

  • 分散フェッチ機能の例を提供するサンプルアプリケーションを追加しました。

  • 外部ブラウザーのタイムアウトを追加しました。

  • Snowflake接続をより簡単に構成する方法を提供しました(/cmd の例を参照)。

  • Arrowライブラリをアップグレードし、32ビットシステムの処理を改善しました。

  • Arrowバッチの使用方法を示すサンプルアプリを提供しました。

バグ修正

  • 複数のスレッドによる競合状態からのエラーメッセージを修正しました。

  • クエリがまだ進行中である場合に非同期リクエストを再試行する際の問題を修正しました。

  • チャンクダウンロード中に接続設定にアクセスする前のnullチェックを追加しました。

  • ドライバーがArrowを予期している場合にサーバーから返される JSON 結果セットの処理に関する問題を修正しました。

  • キーペア認証の再試行時に、新しい JWT トークン(新しい有効期限付き)を再作成します。

  • 外部ブラウザーの認証コードにタイムアウトを追加し、ユーザーがブラウザーのタブを閉じたときに無限に待たされるのを防ぐようにしました。

  • 仮ファイルシステムが読み取り専用モードになっている場合のドライバーパニックを修正しました。

  • ユーザー名とパスワードが必要な認証モードでのみ、ユーザー名とパスワードが必要となる認証コードの問題を修正しました。

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

新機能および更新

  • Golangドライバー内で非同期 API 呼び出しを使用する方法を示すサンプルアプリ、 async.go, をcmdフォルダー内に追加しました。

  • Golangドライバーで複数のステートメントを送信する方法を示すサンプルアプリ、 multistatement.go をcmdフォルダ内に追加しました。

バグ修正

  • Commit()Rollback() が、 BeginTx() で同じコンテキストセットを使用していなかったためにロックが発生する可能性があった問題を修正しました。

バージョン1.6.21(2023年5月23日)

新機能および更新

  • snowflakeChunkDownloader で再試行する際に、コンテキストの期限を超えたかどうかをチェックする機能を追加しました。

  • Arrowライブラリをv12にアップグレードしました。

  • Snowflake Goドライバーから直接Arrow IPC ストリームを公開する機能を追加しました。

  • Arrow Database Connectivity(ADBC)バージョン0.4.0リリースが含まれます。このリリースでは、更新されたSnowflakeライブラリを使用して、ネイティブのGoバインドに加えて、Cインターフェイスにアクセスするあらゆるもので使用できるSnowflake ADBC ドライバーを提供します。

バグ修正

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

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

新機能および更新

  • Okta Identity Engine(OIE)ログインのサポートを追加しました。

  • 次のデータチャンクを読み込む前に最初のデータチャンクをクリーンアップすることで、メモリ使用量を改善しました。

バグ修正

  • 非同期クエリをモニターし、キャンセル可能なコンテキストを WithFetchResultByID に渡しているときに、コンテキストがキャンセルされた場合のインターフェイス変換パニックを修正しました。

  • OCSP ファイルロックエラーのログメッセージを更新しました。

  • 単一ファイルのアップロードに失敗したときにエラーをログするようになりました。

バージョン1.6.19(2023年3月21日)

新機能および更新

  • Goバージョン1.20のサポートを追加し、Goバージョン1.18のサポートをドロップしました。

  • azure-storage-blob-go v0.15.0からazure-sdk-for-go v1.0.0に移行しました。

  • Goドライバーで HTTP 429エラーコードに対する再試行がサポートされるようになりました。

  • Arrowライブラリのバージョンをv10にアップグレードしました。

バグ修正

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

  • Pointerデータ型 *time.Time が、GO ドライバーバージョン1.6.13 から <nil> 値を返す問題を修正しました。

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

新機能および更新

  • なし。

バグ修正

  • 構成パラメーターが次のいずれかに設定されている場合に、デフォルトで有効になっている多要素認証と外部ブラウザーの接続キャッシュを無効にするためのサポートを追加しました。

    • ClientStoreTemporaryCredential=ConfigBoolFalse

    • ClientRequestMfaToken=ConfigBoolFalse

バージョン1.6.17(2023年1月26日)

新機能および更新

  • golang.org/x/net/http2 をバージョン0.5.0に更新しました。

バグ修正

  • 更新カウントを返さないクエリをスキップして、複数ステートメントのクエリのパフォーマンスを改善しました。

  • MFA および外部ブラウザー認証コードの接続キャッシュを修正しました。

  • 複数のGoルーチンを使用する際の同時読み取り/書き込みを回避するため、構成パラメーターマップにミューテックスロックを追加しました。