Record Locking
In many situations, a client might want stronger concurrency control than passive concurrency provides. Thus, the MicroKernel allows a client to ensure that the client can update or delete certain records without getting a conflict error (Status Code 80, an indication that another client has modified the record after this application read it). To achieve this, the client must read the record with a lock request. If the MicroKernel grants the lock, no other client can lock, update, or delete the record until the client that holds the lock releases it.
Thus, the ability to update or delete the record is guaranteed, even if in some cases the client has to wait because the operation is temporarily blocked. (For example, temporary blocking can occur when another record on the same data page as the client’s record is modified by another application in a concurrent transaction still in progress.)
There are various kinds of record locks a client can explicitly request. For more information, refer to Locks.