Lock Manager

What
The lock manager in a DBMS is responsible for handling all lock and unlock requests

Table Structure
The lock table has the following attributes. Each entry represents a lock on an object
 * A pointer to all of transactions that currently hold the lock
 * Type of lock (shared, exclusive)
 * Pointer to queue of lock requests

Lock Request
When a lock request comes in, the lock manager must perform these operations:
 * 1) Check if there is a conflicting lock
 * 2) If not, create an entry and grant the lock
 * 3) Otherwise, put the lock request on the wait queue