Enum diesel::result::DatabaseErrorKind[][src]

#[non_exhaustive]pub enum DatabaseErrorKind {
    // some variants omitted

The kind of database error that occurred.

This is not meant to exhaustively cover all possible errors, but is used to identify errors which are commonly recovered from programmatically. This enum is not intended to be exhaustively matched, and new variants may be added in the future without a major version bump.

Variants (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.

A unique constraint was violated.


A foreign key constraint was violated.


The query could not be sent to the database due to a protocol violation.

An example of a case where this would occur is if you attempted to send a query with more than 65000 bind parameters using PostgreSQL.


A serializable transaction failed to commit due to a read/write dependency on a concurrent transaction.

Corresponds to SQLSTATE code 40001

This error is only detected for PostgreSQL, as we do not yet support transaction isolation levels for other backends.


The command could not be completed because the transaction was read only.

This error will also be returned for SELECT statements which attempted to lock the rows.


A not null constraint was violated.


A check constraint was violated.

Trait Implementations

impl Clone for DatabaseErrorKind[src]

impl Copy for DatabaseErrorKind[src]

impl Debug for DatabaseErrorKind[src]

Auto Trait Implementations

impl RefUnwindSafe for DatabaseErrorKind[src]

impl Send for DatabaseErrorKind[src]

impl Sync for DatabaseErrorKind[src]

impl Unpin for DatabaseErrorKind[src]

impl UnwindSafe for DatabaseErrorKind[src]

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized

impl<T> Borrow<T> for T where
    T: ?Sized

impl<T> BorrowMut<T> for T where
    T: ?Sized

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 

impl<T> IntoSql for T[src]

impl<T> ToOwned for T where
    T: Clone

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,