IRLM Implementation

IRLM uses an IMS-specific lock table in DB Control. This lock table tracks locks by session using the database name and root segment relative-byte-address (RBA). This lock can define one of three lock states:

READ
Database record in use. Allows READ access from other sessions but blocks UPDATE-INTENT and UPDATE lock requests. If the application program PCB that issued the READ lock passes scope to another database record without updating any segments this READ lock is released.
UPDATE-INTENT
The database record is locked exclusively when accessed using a hold call (GHU, GHN, GHNP) which may be followed by a REPL or DLET call. If the application program PCB that issued the lock passes scope to another database record without updating any segments, this UPDATE-INTENT lock is released.
UPDATE
Database record has been updated via ISRT, REPL or DLET call and will remain locked until the application program reaches a commit point. These locks do not release on passing scope.