11.3. クエリーの終了
クエリーのキャンセル
クエリーがキャンセルされると、クエリーエンジンとクエリーに関連するすべてのコネクターで処理が停止します。キャンセルコマンドに応答するコネクターのセマンティクスは、コネクターの実装によって異なります。たとえば、JDBC コネクターは基礎となる JDBC ドライバーで非同期的に呼び出します。
ユーザークエリーのタイムアウト
Data Virtualization でのユーザークエリーのタイムアウトはクライアント側またはサーバー側で管理できます。タイムアウトは、返される最初のレコードにのみ関連します。指定したタイムアウト期間内に最初のレコードがクライアントが受け取った場合には、cancel
コマンドがリクエストのためにサーバーに発行され、クライアントに結果が返されません。cancel コマンドは、クライアントの介入なしに非同期的に実行されます。
JDBC API は、java.sql.Statement.setQueryTimeout
メソッドで設定されたクエリータイムアウトを使用します。connection プロパティー "QUERYTIMEOUT" を使用してデフォルトのステートメントタイムアウトを設定することもできます。ODBC クライアントは set ステートメントを介して実行プロパティーとして QUERYTIMEOUT を使用してデフォルトのタイムアウト設定を制御することもできます。接続/実行プロパティーおよび set ステートメントの詳細は、『クライアント開発者ガイド』を参照してください。
エンジンがクエリーを受信すると、サーバー側のタイムアウトが開始されます。ネットワークレイテンシーまたはサーバーの負荷は、クライアントがクエリーを発行した後に I/O 作業の処理を遅らせることができます。タイムアウトが終了する前に最初の結果が送信されると、タイムアウトはキャンセルされます。仮想データベースの query-timeout
プロパティーの設定に関する詳細は、「仮想データベース プロパティー」を参照 してください。すべてのクエリーにデフォルトのクエリータイムアウトを設定するシステムプロパティーの変更に関する詳細は、『管理者ガイド』の「システム プロパティー 」を参照してください。