ALTER SESSION ステートメント¶
Virtual DataPort には、ユーザーがセッションのプロパティを更新できるステートメントが含まれています。
コマンドの構文を以下に示します。
ALTER SESSION SET <property:literal> = <value:literal>
特定のプロパティをデフォルト値に戻す場合:
ALTER SESSION SET <property:literal> = NULL
現在、このステートメントではプロパティ querytimeout
の設定のみが可能です。これにより、ユーザーは VQL クエリにクエリのデフォルトのタイムアウトを指定できます。つまり、サーバーが VQL コマンドの終了を待機する最大時間 (ミリ秒) です。この時間を超えると、サーバーはコマンドをキャンセルします。
ALTER SESSION SET 'querytimeout' = '10000'
Virtual DataPort に JDBC または ODBC 経由で接続するすべてのクライアントは、クエリに対してデフォルトのタイムアウトを設定します。このステートメントを使用すると、ユーザーセッションの以降のすべてのクエリで、クライアントアプリケーションによって指定されたクエリのタイムアウトを上書きできます。0
の値は実行時間が「無制限」であることを意味します (以下の注を参照)。
GETSESSION
関数を使用して、現在のセッションの querytimeout
をクエリできます。
SELECT GETSESSION('querytimeout') FROM DUAL()
さらに、1 つのクエリのタイムアウトを変更することもできます。その場合、クエリの CONTEXT
句にパラメータ 'QUERYTIMEOUT' = '<value>'
を追加します。詳細については、『VQL ガイド』の「 CONTEXT 句 」を参照してください。
注釈
querytimeout
以外に、VQL コマンドは、トランザクションのタイムアウトやスレッドのタイムアウトなど、他のタイプのタイムアウトの影響を受ける場合があります。したがって、クエリのタイムアウトが 0
(無制限) に設定されていても、クエリのタイムアウトの期限が切れる前に、VQL コマンドが VDP サーバーによって中止される可能性があります。Resource Manager によってクエリのタイムアウトに制限が課されることもあります。