主な変更点
- サーバーから結果を取得する際のメモリ使用量を削減するために、結果セットのストリーミングが追加されました。
-
- 結果セットのストリーミングが有効になっている場合、アプリケーションは、クライアント側で結果セット全体をキャッシュするのではなく、サーバーから行ごとに結果セットを取得します。アプリケーションは結果セット全体をキャッシュしていないため、大きな結果セットを処理する場合にアプリケーションが使用するメモリは少なくなります。
- 新しいNO_CACHE接続パラメータ(またはSTREAMRSエイリアス)を使用して、結果セットのストリーミングを有効にすることができます。既存のOPTIONS接続パラメータを使用して、ビットマスクにビット番号20(値 1048576に相当)を設定することにより、結果セットのストリーミングを有効にすることもできます。
- 結果セットのストリーミングは、順方向専用カーソルでのみサポートされています。アプリケーションは、FORWARDONLY接続パラメータを有効にするか、OPTION接続パラメータを使用してビットマスクのビット番号21(値 2097152に相当)を設定することにより、全てのカーソルを順方向専用にすることができます。
- 結果セットのストリーミングが有効になっている時、次の場合にのみ使用されます。
-
-
- アプリケーションが全てのカーソルを順方向専用にすると、結果セットのストリーミングが全てのカーソルに使用されます。
- アプリケーションが全てのカーソルを順方向専用にしない場合、結果セットのストリーミングは、SQLSetStmtAttr()関数を使用してSQL_ATTR_CURSOR_TYPE属性をSQL_CURSOR_FORWARD_ONLYに設定することによって明示的に順方向専用に設定された個々のカーソルに対してのみ使用されます。
-
-
- 結果セットのストリーミングは、Connector/ODBCでサポートされている全ての機能では機能するわけではありません。
-
-
- カーソルが結果セットのストリーミングを使用している場合、SQLSetPos()などの関数を使用してカーソル位置を変更することはできません。
- カーソルが結果セットのストリーミングを使用している場合、アプリケーションが結果セット全体を取得するまで、他のクエリを実行することはできません。同時ストリーミング操作によってクエリがブロックされると、SQLState=HY000でエラーが発生し、次のエラーメッセージが表示されます。
The requested operation is blocked by another streaming operation
-
- macOSおよびMicrosoft Windowsでは、MariaDB Connector/ODBC 3.1.17はMariaDB Connector/C 3.3.2と静的にリンクされています。
- Linuxでは、MariaDB Connector/ODBC 3.1.17はMariaDB Connector/Cと動的にリンクされています。MariaDB Connector/C バージョン 3.2以降を使用できます。フェイルオーバー機能のためには、バージョン 3.3以降が必要です。
MariaDB Connector/ODBC 3.1.17のリリースノート(MariaDB社ウェブサイト):
https://mariadb.com/docs/release-notes/mariadb-connector-odbc/3-1-17/
MariaDBプロダクト・サポート・サービス
MariaDBプロダクト・サポート・サービスは、MariaDBおよびその関連製品をご利用されているお客様へ、必要なソフトウェアや専門的なサポートなどを提供するサービスです。