アプリケーションで、現在の接続のロック・タイムアウト間隔を変更できるようにします。変更はただちに有効になり、現在のトランザクションでのすべての後続文および接続しているすべての後続トランザクションにも適用されます。
ロック待機時間は、ロックの競合が発生した際に待機する秒数です。秒の小数部も指定できます。
タイムアウトを検出するエージェントのスケジュールにより、ロック待機時間は不正確で、通常、最大100ミリ秒超過する場合があります。0(ゼロ)秒のタイムアウトの場合はこの不正確さは該当せず、タイムアウトはすぐにレポートされます。
ttLockWaitが呼び出されたときにAutoCommitがオフである場合、アプリケーションはttLockWaitが実行されたトランザクションをコミットする必要があります。
アクセス制御がTimesTenのインスタンスに対して有効である場合、このプロシージャにはADMIN権限が必要です。
ttLockWait (seconds)
ttLockWaitには、次の必須のパラメータがあります。
パラメータ | データ型 | 説明 |
seconds | NUMBER (8,1) NOT NULL | 競合が発生した際にロックを待機する時間(秒)。秒の小数部も指定できます。値は、0.0から1000000.0の範囲で指定します。 |
ttLockWaitは結果を返しません。
ロック待機を6秒に指定するには、次のように実行します。
CALL ttLockWait (6);
ロック待機を10分の1秒に指定するには、次のように実行します。
CALL ttLockWait (0.1);
TimesTenトランザクションは、ロックがただちに利用できない場合、事前に設定された時間だけ待機し、ロックを取得しようとします。その後、ロック・リクエストはタイムアウトになり、アプリケーションにTimesTenエラー6003を返します。デフォルトでは、TimesTenはロック・タイムアウトに10秒の値を使用します。
ロック・タイムアウト間隔の値が0の場合は注意してください。値0が指定された場合、トランザクションは利用できないロックを待機しません。ロックが利用できない場合、TimesTenエラー6003が返されます。