Table lock modes are represented by (constant) LockMode objects:
- LockMode::AccessShare (Acquired by any read operation.)
- LockMode::RowShare (Acquired for any row-locking operation.)
- LockMode::RowExclusive (Acquired when data in a table is modified.)
- LockMode::ShareUpdateExclusive
- LockMode::Share (Prohibits data changes in the table.)
- LockMode::ShareRowExclusive (Prohibits data changes and other Share or
ShareRowExclusive locks. Used instead of LockMode::Share to prohibit dead
locks, where two processes holding share locks want to write to a table.)
- LockMode::Exclusive (Prohibits anything else than reading from the table.)
- LockMode::AccessExclusive (Prohibits any other access to the table.)