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 呼び出しによって更新されており、アプリケーション プログラムがコミット ポイントに達するまでロッキングされたままになります。これらのロッキングは、範囲が渡されるときに解放されません。