pub enum LockLevel {
None,
AccessShareLock,
RowShareLock,
RowExclusiveLock,
ShareUpdateExclusiveLock,
ShareLock,
ShareRowExclusiveLock,
ExclusiveLock,
AccessExclusiveLock,
}Expand description
PostgreSQL lock levels, ordered from least to most restrictive.
The ordering matches PostgreSQL’s internal lock hierarchy so that
comparisons (e.g. lock > LockLevel::ShareLock) work correctly.
Variants§
None
No lock acquired (new objects, functions, enums).
ACCESS SHARE — acquired by SELECT.
ROW SHARE — acquired by SELECT FOR UPDATE/SHARE.
RowExclusiveLock
ROW EXCLUSIVE — acquired by INSERT/UPDATE/DELETE.
SHARE UPDATE EXCLUSIVE — acquired by VACUUM, CREATE INDEX CONCURRENTLY.
SHARE — acquired by CREATE INDEX (non-concurrent).
SHARE ROW EXCLUSIVE — acquired by some constraint triggers.
ExclusiveLock
EXCLUSIVE — blocks all reads/writes except ACCESS SHARE.
AccessExclusiveLock
ACCESS EXCLUSIVE — the strongest lock; blocks everything.
Trait Implementations§
Source§impl Ord for LockLevel
impl Ord for LockLevel
Source§impl PartialOrd for LockLevel
impl PartialOrd for LockLevel
impl Copy for LockLevel
impl Eq for LockLevel
impl StructuralPartialEq for LockLevel
Auto Trait Implementations§
impl Freeze for LockLevel
impl RefUnwindSafe for LockLevel
impl Send for LockLevel
impl Sync for LockLevel
impl Unpin for LockLevel
impl UnsafeUnpin for LockLevel
impl UnwindSafe for LockLevel
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.