pub enum IsolationLevel {
ReadCommitted,
RepeatableRead,
Serializable,
}Expand description
Isolation level for transactions
Controls how concurrent transactions interact with each other. Higher isolation levels provide stronger consistency guarantees at the cost of reduced concurrency.
§Isolation Level Comparison
| Level | Dirty Reads | Non-Repeatable Reads | Phantom Reads |
|---|---|---|---|
| ReadCommitted | No | Yes | Yes |
| RepeatableRead | No | No | Possible |
| Serializable | No | No | No |
Variants§
ReadCommitted
Read Committed isolation
Each statement sees a fresh snapshot of committed data. Two identical queries in the same transaction may return different results if another transaction commits between them.
RepeatableRead
Repeatable Read isolation (also known as Snapshot Isolation)
The transaction sees a consistent snapshot taken at the start. All statements in the transaction see the same data, regardless of concurrent commits.
Serializable
Serializable isolation
Provides full serializability with conflict detection. Transactions appear to execute one at a time, even when running concurrently. May abort transactions to prevent anomalies.
Implementations§
Trait Implementations§
Source§impl Clone for IsolationLevel
impl Clone for IsolationLevel
Source§fn clone(&self) -> IsolationLevel
fn clone(&self) -> IsolationLevel
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for IsolationLevel
impl Debug for IsolationLevel
Source§impl Default for IsolationLevel
impl Default for IsolationLevel
Source§impl PartialEq for IsolationLevel
impl PartialEq for IsolationLevel
impl Copy for IsolationLevel
impl Eq for IsolationLevel
impl StructuralPartialEq for IsolationLevel
Auto Trait Implementations§
impl Freeze for IsolationLevel
impl RefUnwindSafe for IsolationLevel
impl Send for IsolationLevel
impl Sync for IsolationLevel
impl Unpin for IsolationLevel
impl UnsafeUnpin for IsolationLevel
impl UnwindSafe for IsolationLevel
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more