IRLM 実装

IRLM は IMS 固有のロック テーブルをデータベース制御で使用します。このロック テーブルは、データベース名およびルート セグメントの相対バイト アドレス (RBA) を使用して、セッションごとにロックを追跡します。このロックでは、3 つのロック状態のいずれかを定義できます。

READ
使用中のデータベース レコード。他のセッションからの READ アクセスが可能ですが、UPDATE-INTENT および UPDATE ロック要求をブロックします。READ ロックを発行したアプリケーション プログラム PCB が、どのセグメントも更新せずに別のデータベース レコードに範囲を渡す場合、この READ ロックが解除されます。
UPDATE-INTENT
データベース レコードは、REPL または DLET 呼び出しが後に続く HOLD 呼び出し (GHU、GHN、GHNP) を使用してアクセスされる際に、排他的にロックされます。ロックを発行したアプリケーション プログラム PCB が、どのセグメントも更新せずに別のデータベース レコードに範囲を渡す場合、この UPDATE-INTENT ロックが解除されます。
UPDATE
データベース レコードは ISRT、REPL、または DLET 呼び出しによって更新されており、アプリケーション プログラムがコミット ポイントに達するまでロックされたままになります。これらのロックは、範囲が渡される場合に解除されません。