Try OpenEdge Now
skip to main content
Database Administration
Reference : Virtual System Tables : Virtual system table summaries : Record locking table (_UserLock)
 
Record locking table (_UserLock)
The _UserLock VST displays the contents of the record locking table, such as user name, chain, number, record ID, lock type, and flags. _UserLock reports the first 512 entries for a particular user for each request. If a single user has more than 512 locks, the locks will not be displayed in the _UserLock array.
Note: Use caution when querying _UserLock; doing so can consume large quantities of system resources. Access _UserLock through database monitoring tools written in ABL and limit querying execution paths that are frequently accessed.
Field name
Data type
Description
_UserLock-Chain
INTEGER
Type of chain should always be REC, the record lock chain
_UserLock-Flags
CHARACTER
Any of four possible types of flags: L (LIMBO lock), P (PURGED lock entry), Q (QUEUED lock request), and U (UPGRADE request)Flags for the lock—the flags specify a share lock (S), exclusive lock (X), a lock upgraded from share to exclusive (U), a lock in limbo (L), a queued lock (Q), a lock kept across transaction end boundary (K), a lock is part of a JTA transaction (J), a lock is in create mode for JTA (C), or a lock wait timeout has expired on this queued lock (E)
_UserLock-HWM
INTEGER
Maximum number of locks ever held by this user
_UserLock-Misc
INTEGER
Miscellaneous information
_UserLock-Name
CHARACTER
User name of the process owning the lock
_UserLock-Recid
INT64
Record ID for the record being locked
_UserLock-Table
INTEGER
Table number
_UserLock-TenantId
INTEGER
Tenant ID of the user
_UserLock-Type
CHARACTER
One of the three lock types: EXCL (EXCLUSIVE-LOCK), SHR (SHARE-LOCK), or NOLK (NO-LOCK)
_UserLock-Usr
INTEGER
User number of the process owning the lock