Hitachi

ノンストップデータベース HiRDB Version 10 構造型データベース機能


2.9.11 重複するインデクスキー値を格納する際の実行中トランザクション終了待ち合わせ【4V FMB,SD FMB】

HiRDB/SDは,ルートレコードの格納時に,格納しようとしているレコードのインデクスキー値が,SDBデータベース中にすでに存在しないかどうかをチェックします。

同じインデクスキー値が存在する場合は,ユニークエラーとすることで,追加されるインデクスキー値が一意であることを保証します。

4V FMBおよびSD FMBのSDBデータベースの場合で,2つのトランザクションから同じインデクスキー値を指定してルートレコードを格納する際に,後発のトランザクションを即時ユニークエラーとしないで,先発のトランザクションが終了してからインデクスキー値が一意であるかどうかをチェックしたいときは,システム共通定義のpd_lock_uncommited_delete_dataオペランドにWAITを指定してください。

表2‒45 重複するインデクスキー値を持つレコードを格納する際の動作(4V FMB,SD FMB)

レコード型の種類

システム共通定義

pd_lock_uncommited_delete_dataオペランド

同じインデクスキー値を指定してレコードを格納する,後発のトランザクション

ルートレコード

NOWAIT

即時,ユニークエラーでロールバックします。

WAIT

先発のトランザクションが終了した後,ユニークエラーでロールバックします。

ルートレコード以外

(凡例)

−:該当しません。

注※

先発のトランザクションがロールバックした場合,レコードを格納します。

なお,4V AFMのSDBデータベースの場合,システム共通定義のpd_lock_uncommited_delete_dataオペランドの指定値に関係なく,先発のトランザクションの終了を待ち合わせします。