#[non_exhaustive]pub enum DataErrorKind {
Config,
Connection,
Query,
Timeout,
Conflict,
Other,
}Expand description
Failure classes. #[non_exhaustive]: match with a _ arm.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Config
Misconfiguration (missing driver feature, bad URL): permanent until a human intervenes.
Connection
Connection/pool failure: retryable — another replica or a later attempt may succeed.
Query
The statement itself failed (syntax, constraint, type): permanent.
Timeout
The operation timed out: retryable.
Conflict
Optimistic/duplicate conflict (unique violation, version clash):
permanent for this payload, but semantically distinct from Query
so idempotent upsert paths can branch on it.
Other
Unclassified (driver returned something we don’t recognise).
Trait Implementations§
Source§impl Clone for DataErrorKind
impl Clone for DataErrorKind
Source§fn clone(&self) -> DataErrorKind
fn clone(&self) -> DataErrorKind
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for DataErrorKind
Source§impl Debug for DataErrorKind
impl Debug for DataErrorKind
impl Eq for DataErrorKind
Source§impl PartialEq for DataErrorKind
impl PartialEq for DataErrorKind
impl StructuralPartialEq for DataErrorKind
Auto Trait Implementations§
impl Freeze for DataErrorKind
impl RefUnwindSafe for DataErrorKind
impl Send for DataErrorKind
impl Sync for DataErrorKind
impl Unpin for DataErrorKind
impl UnsafeUnpin for DataErrorKind
impl UnwindSafe for DataErrorKind
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
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,
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.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.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>
Wrap the input message
T in a tonic::Request