In the
R&D section of
Promon, under
1. Status Displays there is
menu 6. Lock Table, which is used to display locking information, specifically the types of locks being used.
Most of the lock flags are self-explanatory and easily understood. Details can be found in Progress Documentation, and here is an extract from the current documentation set:
OpenEdge Data Management:
Database Administration:
PROMON Record Locking Table option:
Page 529LockOne of five lock types:
X (exclusive lock)
S (share lock)
IX (intent exclusive lock)
IS (intent share lock)
SIX (shared lock on table with intent to set exclusive locks on records).FlagsThere are several possible types of flags. The table below lists flag types and their meanings:
| Table 78. Flag values |
| Flag | Name | Description |
| C | Create | The lock is in create mode. |
| D | Downgrade | The lock is downgraded. |
| E | Expired | The lock wait timeout has expired on this queued lock. |
| H | On hold | The "onhold" flag is set. |
| J | JTA | The lock is part of a JTA transaction |
| K | Keep | Keep the lock across transaction end boundary |
| L | Limbo lock | The client has released the record, but the transaction has not completed. The record lock is not released until the transaction ends. |
| P | Purged lock entry | The lock is no longer held. |
| Q | Queued lock request | Represents a queued request for a lock already held by another process. |
| U | Upgrade request | The user has requested a lock upgrade from SHARE to EXCLUSIVE. |
Here are some further explanations and examples:
X indicates an
EXCLUSIVE Lock. Only one user can have an exclusive lock, only that user may update the record at that time.
S Indicates a SHARE Lock. Multiple users can have a share lock on the same record at once.X U Lock indicates an Exclusive lock
UPGRADED from a Share lock. Users that have a share lock may attempt to update the record. The first one to do so will be granted this lock.
S D Lock indicates a Share lock
DOWNGRADED from an Exclusive lock
. Following from an "X U
" lock, if the user has committed updates to the record but has not released the record yet, the lock gets downgraded to Share lock again.
Note that this flag ('D') is only set when an indexed field is updated. Not when a non-indexed field is updated. Nevertheless, the lock is being downgraded in either case, and the lack of the 'D' flag in one case does not indicate a locking problem.
L Lock is in a
LIMBO state. The lock is held until the transaction is committed even though the user has released it. These are held to ensure data integrity.
Q Request for the lock is
QUEUED. User is waiting for a conflicting lock held by another user to be released. The conflicting lock can be found as a lock for the same table & recid, without the
Q flag
P Lock is
PURGED. Lock is no longer held.
H Lock is on
HOLD. The lock is in a temporary state during a lock conflict. When a process is waiting for a lock and has not yet taken ownership of the lock, it is in a HOLD status.