#[non_exhaustive]pub enum ReadLockMode {
Unspecified,
Pessimistic,
Optimistic,
UnknownValue(UnknownValue),
}Expand description
ReadLockMode is used to set the read lock mode for read-write
transactions.
§Working with unknown values
This enum is defined as #[non_exhaustive] because Google Cloud may add
additional enum variants at any time. Adding new variants is not considered
a breaking change. Applications should write their code in anticipation of:
- New values appearing in future releases of the client library, and
- New values received dynamically, without application changes.
Please consult the Working with enums section in the user guide for some guidelines.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Unspecified
Default value.
- If isolation level is
SERIALIZABLE,
locking semantics default to
PESSIMISTIC. - If isolation level is
REPEATABLE_READ,
locking semantics default to
OPTIMISTIC. - See Concurrency control for more details.
Pessimistic
Pessimistic lock mode.
Lock acquisition behavior depends on the isolation level in use. In SERIALIZABLE isolation, reads and writes acquire necessary locks during transaction statement execution. In REPEATABLE_READ isolation, reads that explicitly request to be locked and writes acquire locks. See Concurrency control for details on the types of locks acquired at each transaction step.
Optimistic
Optimistic lock mode.
Lock acquisition behavior depends on the isolation level in use. In both SERIALIZABLE and REPEATABLE_READ isolation, reads and writes do not acquire locks during transaction statement execution. See Concurrency control for details on how the guarantees of each isolation level are provided at commit time.
UnknownValue(UnknownValue)
If set, the enum was initialized with an unknown value.
Applications can examine the value using ReadLockMode::value or ReadLockMode::name.
Implementations§
Trait Implementations§
Source§impl Clone for ReadLockMode
impl Clone for ReadLockMode
Source§fn clone(&self) -> ReadLockMode
fn clone(&self) -> ReadLockMode
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ReadLockMode
impl Debug for ReadLockMode
Source§impl Default for ReadLockMode
impl Default for ReadLockMode
Source§impl<'de> Deserialize<'de> for ReadLockMode
impl<'de> Deserialize<'de> for ReadLockMode
Source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Source§impl Display for ReadLockMode
impl Display for ReadLockMode
Source§impl From<&str> for ReadLockMode
impl From<&str> for ReadLockMode
Source§impl From<i32> for ReadLockMode
impl From<i32> for ReadLockMode
Source§impl PartialEq for ReadLockMode
impl PartialEq for ReadLockMode
Source§fn eq(&self, other: &ReadLockMode) -> bool
fn eq(&self, other: &ReadLockMode) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for ReadLockMode
impl Serialize for ReadLockMode
impl StructuralPartialEq for ReadLockMode
Auto Trait Implementations§
impl Freeze for ReadLockMode
impl RefUnwindSafe for ReadLockMode
impl Send for ReadLockMode
impl Sync for ReadLockMode
impl Unpin for ReadLockMode
impl UnsafeUnpin for ReadLockMode
impl UnwindSafe for ReadLockMode
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request