Salesforce

Why does the _Lock table have records where _Lock-Usr = ?

« Go Back

Information

 
TitleWhy does the _Lock table have records where _Lock-Usr = ?
URL Name000044741
Article Number000166343
EnvironmentProduct: Progress
Version: 9.x
Product: OpenEdge
Version: 10.x, 11.1, 11.2, 11.3
OS: All supported platforms
Question/Problem Description
Why does the _Lock table have records where _Lock-Usr = ?
What does it mean if  _Lock._Lock-Usr = ?
If the value of _Lock.Lock-Usr is undefined, why it not necessary to process any further records?
Steps to Reproduce
Clarifying Information
Virtual system tables (VSTs), including the _Lock table, are in-memory data structures with the "structure" or representation of a database table. They are not real database tables or temp-tables.

Several Progress articles on the subject of the _Lock table contain sample code that leaves a "FOR EACH _Lock" block when "_Lock._Lock-Usr = ?".
Error Message
Defect Number
Enhancement Number
Cause
Resolution
The _Lock table has a number of "records" equal to -L, whether those locks are used or not. The internal DB structure which represents the _Lock table is allocated all at once, like an array.
_Lock._Lock-Usr = ? means the lock "record" is currently not in use. Several other fields are set to ? as well (e. g. _Lock-Recid).

Unused locks will all always be at the end of the table - there will not be a used "record" after the first one that reports unknowns.
Workaround
Notes
Keyword Phrase
Last Modified Date11/20/2020 7:30 AM

Powered by