Decode

Trait Decode 

Source
pub trait Decode<'r, DB: Database>: Sized {
    // Required method
    fn decode(
        value: <DB as HasValueRef<'r>>::ValueRef,
    ) -> Result<Self, BoxDynError>;
}
Expand description

A type that can be decoded from the database.

§How can I implement Decode?

A manual implementation of Decode can be useful when adding support for types externally to SQLx.

The following showcases how to implement Decode to be generic over Database. The implementation can be marginally simpler if you remove the DB type parameter and explicitly use the concrete ValueRef and TypeInfo types.

struct MyType;

// DB is the database driver
// `'r` is the lifetime of the `Row` being decoded
impl<'r, DB: Database> Decode<'r, DB> for MyType
where
    // we want to delegate some of the work to string decoding so let's make sure strings
    // are supported by the database
    &'r str: Decode<'r, DB>
{
    fn decode(
        value: <DB as HasValueRef<'r>>::ValueRef,
    ) -> Result<MyType, Box<dyn Error + 'static + Send + Sync>> {
        // the interface of ValueRef is largely unstable at the moment
        // so this is not directly implementable

        // however, you can delegate to a type that matches the format of the type you want
        // to decode (such as a UTF-8 string)

        let value = <&str as Decode<DB>>::decode(value)?;

        // now you can parse this into your type (assuming there is a `FromStr`)

        Ok(value.parse()?)
    }
}

Required Methods§

Source

fn decode(value: <DB as HasValueRef<'r>>::ValueRef) -> Result<Self, BoxDynError>

Decode a new value of this type using a raw value from the database.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl Decode<'_, Mssql> for bool

Available on crate feature mssql only.
Source§

impl Decode<'_, Mssql> for f32

Available on crate feature mssql only.
Source§

impl Decode<'_, Mssql> for f64

Available on crate feature mssql only.
Source§

impl Decode<'_, Mssql> for i8

Available on crate feature mssql only.
Source§

impl Decode<'_, Mssql> for i16

Available on crate feature mssql only.
Source§

impl Decode<'_, Mssql> for i32

Available on crate feature mssql only.
Source§

impl Decode<'_, Mssql> for i64

Available on crate feature mssql only.
Source§

impl Decode<'_, Mssql> for u8

Available on crate feature mssql only.
Source§

impl Decode<'_, Mssql> for u16

Available on crate feature mssql only.
Source§

impl Decode<'_, Mssql> for u32

Available on crate feature mssql only.
Source§

impl Decode<'_, Mssql> for u64

Available on crate feature mssql only.
Source§

impl Decode<'_, Mssql> for String

Available on crate feature mssql only.
Source§

impl Decode<'_, Mssql> for Vec<u8>

Available on crate feature mssql only.
Source§

impl Decode<'_, Mssql> for BigDecimal

Available on crate feature mssql only.
Source§

impl Decode<'_, Mssql> for DateTime<FixedOffset>

Available on crate feature mssql only.
Source§

impl Decode<'_, Mssql> for DateTime<Utc>

Available on crate feature mssql only.
Source§

impl Decode<'_, Mssql> for NaiveDate

Available on crate feature mssql only.

Decodes Date values received from the server

Source§

impl Decode<'_, Mssql> for NaiveDateTime

Available on crate feature mssql only.

Decodes DateTime2N values received from the server

Source§

impl Decode<'_, Mssql> for NaiveTime

Available on crate feature mssql only.

Decodes Time values received from the server

Source§

impl Decode<'_, Mssql> for Decimal

Available on crate feature mssql only.
Source§

impl Decode<'_, Mssql> for Uuid

Available on crate feature mssql only.
Source§

impl Decode<'_, MySql> for bool

Available on crate feature mysql only.
Source§

impl Decode<'_, MySql> for f32

Available on crate feature mysql only.
Source§

impl Decode<'_, MySql> for f64

Available on crate feature mysql only.
Source§

impl Decode<'_, MySql> for i8

Available on crate feature mysql only.
Source§

impl Decode<'_, MySql> for i16

Available on crate feature mysql only.
Source§

impl Decode<'_, MySql> for i32

Available on crate feature mysql only.
Source§

impl Decode<'_, MySql> for i64

Available on crate feature mysql only.
Source§

impl Decode<'_, MySql> for u8

Available on crate feature mysql only.
Source§

impl Decode<'_, MySql> for u16

Available on crate feature mysql only.
Source§

impl Decode<'_, MySql> for u32

Available on crate feature mysql only.
Source§

impl Decode<'_, MySql> for u64

Available on crate feature mysql only.
Source§

impl Decode<'_, MySql> for String

Available on crate feature mysql only.
Source§

impl Decode<'_, MySql> for Vec<u8>

Available on crate feature mysql only.
Source§

impl Decode<'_, MySql> for BigDecimal

Available on crate feature mysql only.
Source§

impl Decode<'_, MySql> for Decimal

Available on crate feature mysql only.
Source§

impl Decode<'_, MySql> for Hyphenated

Available on crate feature mysql only.
Source§

impl Decode<'_, MySql> for Uuid

Available on crate feature mysql only.
Source§

impl Decode<'_, Postgres> for IpNetwork

Available on crate feature postgres only.
Source§

fn decode(value: PgValueRef<'_>) -> Result<Self, BoxDynError>

Source§

impl Decode<'_, Postgres> for bool

Available on crate feature postgres only.
Source§

fn decode(value: PgValueRef<'_>) -> Result<Self, BoxDynError>

Source§

impl Decode<'_, Postgres> for f32

Available on crate feature postgres only.
Source§

fn decode(value: PgValueRef<'_>) -> Result<Self, BoxDynError>

Source§

impl Decode<'_, Postgres> for f64

Available on crate feature postgres only.
Source§

fn decode(value: PgValueRef<'_>) -> Result<Self, BoxDynError>

Source§

impl Decode<'_, Postgres> for i8

Available on crate feature postgres only.
Source§

fn decode(value: PgValueRef<'_>) -> Result<Self, BoxDynError>

Source§

impl Decode<'_, Postgres> for i16

Available on crate feature postgres only.
Source§

fn decode(value: PgValueRef<'_>) -> Result<Self, BoxDynError>

Source§

impl Decode<'_, Postgres> for i32

Available on crate feature postgres only.
Source§

fn decode(value: PgValueRef<'_>) -> Result<Self, BoxDynError>

Source§

impl Decode<'_, Postgres> for i64

Available on crate feature postgres only.
Source§

fn decode(value: PgValueRef<'_>) -> Result<Self, BoxDynError>

Source§

impl Decode<'_, Postgres> for u16

Available on crate feature postgres only.
Source§

fn decode(value: PgValueRef<'_>) -> Result<Self, BoxDynError>

Source§

impl Decode<'_, Postgres> for u32

Available on crate feature postgres only.
Source§

fn decode(value: PgValueRef<'_>) -> Result<Self, BoxDynError>

Source§

impl Decode<'_, Postgres> for u64

Available on crate feature postgres only.
Source§

fn decode(value: PgValueRef<'_>) -> Result<Self, BoxDynError>

Source§

impl Decode<'_, Postgres> for String

Available on crate feature postgres only.
Source§

fn decode(value: PgValueRef<'_>) -> Result<Self, BoxDynError>

Source§

impl Decode<'_, Postgres> for Vec<u8>

Available on crate feature postgres only.
Source§

fn decode(value: PgValueRef<'_>) -> Result<Self, BoxDynError>

Source§

impl Decode<'_, Postgres> for BigDecimal

Available on crate feature postgres only.
Source§

fn decode(value: PgValueRef<'_>) -> Result<Self, BoxDynError>

Source§

impl Decode<'_, Postgres> for BitVec

Available on crate feature postgres only.
Source§

fn decode(value: PgValueRef<'_>) -> Result<Self, BoxDynError>

Source§

impl Decode<'_, Postgres> for MacAddress

Available on crate feature postgres only.
Source§

fn decode(value: PgValueRef<'_>) -> Result<Self, BoxDynError>

Source§

impl Decode<'_, Postgres> for Decimal

Available on crate feature postgres only.
Source§

fn decode(value: PgValueRef<'_>) -> Result<Self, BoxDynError>

Source§

impl Decode<'_, Postgres> for Uuid

Available on crate feature postgres only.
Source§

fn decode(value: PgValueRef<'_>) -> Result<Self, BoxDynError>

Source§

impl Decode<'_, Sqlite> for BigDecimal

Available on crate feature sqlite only.
Source§

impl Decode<'_, Sqlite> for Decimal

Available on crate feature sqlite only.
Source§

impl Decode<'_, Sqlite> for Hyphenated

Available on crate feature sqlite only.
Source§

impl Decode<'_, Sqlite> for Uuid

Available on crate feature sqlite only.
Source§

impl<'db> Decode<'db, Postgres> for IpAddr
where IpNetwork: Decode<'db, Postgres>,

Available on crate feature postgres only.
Source§

fn decode(value: PgValueRef<'db>) -> Result<Self, BoxDynError>

Source§

impl<'r> Decode<'r, Any> for &'r str
where &'r str: AnyDecode<'r>,

Available on (crate features postgres or mysql or mssql or sqlite or odbc) and crate feature any only.
Source§

fn decode(value: AnyValueRef<'r>) -> Result<Self, BoxDynError>

Source§

impl<'r> Decode<'r, Any> for &'r [u8]
where &'r [u8]: AnyDecode<'r>,

Available on (crate features postgres or mysql or mssql or sqlite or odbc) and crate feature any only.
Source§

fn decode(value: AnyValueRef<'r>) -> Result<Self, BoxDynError>

Source§

impl<'r> Decode<'r, Any> for bool
where bool: AnyDecode<'r>,

Available on (crate features postgres or mysql or mssql or sqlite or odbc) and crate feature any only.
Source§

fn decode(value: AnyValueRef<'r>) -> Result<Self, BoxDynError>

Source§

impl<'r> Decode<'r, Any> for f32
where f32: AnyDecode<'r>,

Available on (crate features postgres or mysql or mssql or sqlite or odbc) and crate feature any only.
Source§

fn decode(value: AnyValueRef<'r>) -> Result<Self, BoxDynError>

Source§

impl<'r> Decode<'r, Any> for f64
where f64: AnyDecode<'r>,

Available on (crate features postgres or mysql or mssql or sqlite or odbc) and crate feature any only.
Source§

fn decode(value: AnyValueRef<'r>) -> Result<Self, BoxDynError>

Source§

impl<'r> Decode<'r, Any> for i8
where i8: AnyDecode<'r>,

Available on (crate features postgres or mysql or mssql or sqlite or odbc) and crate feature any only.
Source§

fn decode(value: AnyValueRef<'r>) -> Result<Self, BoxDynError>

Source§

impl<'r> Decode<'r, Any> for i16
where i16: AnyDecode<'r>,

Available on (crate features postgres or mysql or mssql or sqlite or odbc) and crate feature any only.
Source§

fn decode(value: AnyValueRef<'r>) -> Result<Self, BoxDynError>

Source§

impl<'r> Decode<'r, Any> for i32
where i32: AnyDecode<'r>,

Available on (crate features postgres or mysql or mssql or sqlite or odbc) and crate feature any only.
Source§

fn decode(value: AnyValueRef<'r>) -> Result<Self, BoxDynError>

Source§

impl<'r> Decode<'r, Any> for i64
where i64: AnyDecode<'r>,

Available on (crate features postgres or mysql or mssql or sqlite or odbc) and crate feature any only.
Source§

fn decode(value: AnyValueRef<'r>) -> Result<Self, BoxDynError>

Source§

impl<'r> Decode<'r, Any> for u16
where u16: AnyDecode<'r>,

Available on (crate features postgres or mysql or mssql or sqlite or odbc) and crate feature any only.
Source§

fn decode(value: AnyValueRef<'r>) -> Result<Self, BoxDynError>

Source§

impl<'r> Decode<'r, Any> for u32
where u32: AnyDecode<'r>,

Available on (crate features postgres or mysql or mssql or sqlite or odbc) and crate feature any only.
Source§

fn decode(value: AnyValueRef<'r>) -> Result<Self, BoxDynError>

Source§

impl<'r> Decode<'r, Any> for u64
where u64: AnyDecode<'r>,

Available on (crate features postgres or mysql or mssql or sqlite or odbc) and crate feature any only.
Source§

fn decode(value: AnyValueRef<'r>) -> Result<Self, BoxDynError>

Source§

impl<'r> Decode<'r, Any> for String
where String: AnyDecode<'r>,

Available on (crate features postgres or mysql or mssql or sqlite or odbc) and crate feature any only.
Source§

fn decode(value: AnyValueRef<'r>) -> Result<Self, BoxDynError>

Source§

impl<'r> Decode<'r, Any> for Vec<u8>
where Vec<u8>: AnyDecode<'r>,

Available on (crate features postgres or mysql or mssql or sqlite or odbc) and crate feature any only.
Source§

fn decode(value: AnyValueRef<'r>) -> Result<Self, BoxDynError>

Source§

impl<'r> Decode<'r, Any> for BigDecimal
where BigDecimal: AnyDecode<'r>,

Available on (crate features postgres or mysql or mssql or sqlite or odbc) and crate feature any and crate feature bigdecimal only.
Source§

fn decode(value: AnyValueRef<'r>) -> Result<Self, BoxDynError>

Source§

impl<'r> Decode<'r, Any> for DateTime<FixedOffset>

Available on (crate features postgres or mysql or mssql or sqlite or odbc) and crate feature any only.
Source§

fn decode(value: AnyValueRef<'r>) -> Result<Self, BoxDynError>

Source§

impl<'r> Decode<'r, Any> for DateTime<Local>
where DateTime<Local>: AnyDecode<'r>,

Available on (crate features postgres or mysql or mssql or sqlite or odbc) and crate feature any only.
Source§

fn decode(value: AnyValueRef<'r>) -> Result<Self, BoxDynError>

Source§

impl<'r> Decode<'r, Any> for DateTime<Utc>
where DateTime<Utc>: AnyDecode<'r>,

Available on (crate features postgres or mysql or mssql or sqlite or odbc) and crate feature any only.
Source§

fn decode(value: AnyValueRef<'r>) -> Result<Self, BoxDynError>

Source§

impl<'r> Decode<'r, Any> for NaiveDate
where NaiveDate: AnyDecode<'r>,

Available on (crate features postgres or mysql or mssql or sqlite or odbc) and crate feature any only.
Source§

fn decode(value: AnyValueRef<'r>) -> Result<Self, BoxDynError>

Source§

impl<'r> Decode<'r, Any> for NaiveDateTime

Available on (crate features postgres or mysql or mssql or sqlite or odbc) and crate feature any only.
Source§

fn decode(value: AnyValueRef<'r>) -> Result<Self, BoxDynError>

Source§

impl<'r> Decode<'r, Any> for NaiveTime
where NaiveTime: AnyDecode<'r>,

Available on (crate features postgres or mysql or mssql or sqlite or odbc) and crate feature any only.
Source§

fn decode(value: AnyValueRef<'r>) -> Result<Self, BoxDynError>

Source§

impl<'r> Decode<'r, Any> for Decimal
where Decimal: AnyDecode<'r>,

Available on (crate features postgres or mysql or mssql or sqlite or odbc) and crate feature any and crate feature decimal only.
Source§

fn decode(value: AnyValueRef<'r>) -> Result<Self, BoxDynError>

Source§

impl<'r> Decode<'r, Any> for Uuid
where Uuid: AnyDecode<'r>,

Available on (crate features postgres or mysql or mssql or sqlite or odbc) and crate feature any and crate feature uuid only.
Source§

fn decode(value: AnyValueRef<'r>) -> Result<Self, BoxDynError>

Source§

impl<'r> Decode<'r, Mssql> for &'r [u8]

Available on crate feature mssql only.
Source§

impl<'r> Decode<'r, Mssql> for Cow<'r, str>

Available on crate feature mssql only.
Source§

impl<'r> Decode<'r, Mssql> for Cow<'r, [u8]>

Available on crate feature mssql only.
Source§

impl<'r> Decode<'r, MySql> for &'r str

Available on crate feature mysql only.
Source§

impl<'r> Decode<'r, MySql> for &'r [u8]

Available on crate feature mysql only.
Source§

impl<'r> Decode<'r, MySql> for Cow<'r, str>

Available on crate feature mysql only.
Source§

impl<'r> Decode<'r, MySql> for DateTime<FixedOffset>

Available on crate feature mysql only.

Note: assumes the connection’s time_zone is set to +00:00 (UTC).

Source§

impl<'r> Decode<'r, MySql> for DateTime<Local>

Available on crate feature mysql only.

Note: assumes the connection’s time_zone is set to +00:00 (UTC).

Source§

impl<'r> Decode<'r, MySql> for DateTime<Utc>

Available on crate feature mysql only.

Note: assumes the connection’s time_zone is set to +00:00 (UTC).

Source§

impl<'r> Decode<'r, MySql> for NaiveDate

Available on crate feature mysql only.
Source§

impl<'r> Decode<'r, MySql> for NaiveDateTime

Available on crate feature mysql only.
Source§

impl<'r> Decode<'r, MySql> for NaiveTime

Available on crate feature mysql only.
Source§

impl<'r> Decode<'r, MySql> for Date

Available on crate feature mysql only.
Source§

impl<'r> Decode<'r, MySql> for OffsetDateTime

Available on crate feature mysql only.
Source§

impl<'r> Decode<'r, MySql> for PrimitiveDateTime

Available on crate feature mysql only.
Source§

impl<'r> Decode<'r, MySql> for Time

Available on crate feature mysql only.
Source§

impl<'r> Decode<'r, Odbc> for &'r str

Available on crate feature odbc only.
Source§

impl<'r> Decode<'r, Odbc> for &'r [u8]

Available on crate feature odbc only.
Source§

impl<'r> Decode<'r, Odbc> for bool

Available on crate feature odbc only.
Source§

impl<'r> Decode<'r, Odbc> for f32

Available on crate feature odbc only.
Source§

impl<'r> Decode<'r, Odbc> for f64

Available on crate feature odbc only.
Source§

impl<'r> Decode<'r, Odbc> for i8

Available on crate feature odbc only.
Source§

impl<'r> Decode<'r, Odbc> for i16

Available on crate feature odbc only.
Source§

impl<'r> Decode<'r, Odbc> for i32

Available on crate feature odbc only.
Source§

impl<'r> Decode<'r, Odbc> for i64

Available on crate feature odbc only.
Source§

impl<'r> Decode<'r, Odbc> for u8

Available on crate feature odbc only.
Source§

impl<'r> Decode<'r, Odbc> for u16

Available on crate feature odbc only.
Source§

impl<'r> Decode<'r, Odbc> for u32

Available on crate feature odbc only.
Source§

impl<'r> Decode<'r, Odbc> for u64

Available on crate feature odbc only.
Source§

impl<'r> Decode<'r, Odbc> for String

Available on crate feature odbc only.
Source§

impl<'r> Decode<'r, Odbc> for Vec<u8>

Available on crate feature odbc only.
Source§

impl<'r> Decode<'r, Odbc> for BigDecimal

Available on crate feature odbc only.
Source§

impl<'r> Decode<'r, Odbc> for DateTime<FixedOffset>

Available on crate feature odbc only.
Source§

impl<'r> Decode<'r, Odbc> for DateTime<Local>

Available on crate feature odbc only.
Source§

impl<'r> Decode<'r, Odbc> for DateTime<Utc>

Available on crate feature odbc only.
Source§

impl<'r> Decode<'r, Odbc> for NaiveDate

Available on crate feature odbc only.
Source§

impl<'r> Decode<'r, Odbc> for NaiveDateTime

Available on crate feature odbc only.
Source§

impl<'r> Decode<'r, Odbc> for NaiveTime

Available on crate feature odbc only.
Source§

impl<'r> Decode<'r, Odbc> for Decimal

Available on crate feature odbc only.
Source§

impl<'r> Decode<'r, Odbc> for Date

Available on crate feature odbc only.
Source§

impl<'r> Decode<'r, Odbc> for OffsetDateTime

Available on crate feature odbc only.
Source§

impl<'r> Decode<'r, Odbc> for PrimitiveDateTime

Available on crate feature odbc only.
Source§

impl<'r> Decode<'r, Odbc> for Time

Available on crate feature odbc only.
Source§

impl<'r> Decode<'r, Odbc> for Uuid

Available on crate feature odbc only.
Source§

impl<'r> Decode<'r, Postgres> for &'r str

Available on crate feature postgres only.
Source§

fn decode(value: PgValueRef<'r>) -> Result<Self, BoxDynError>

Source§

impl<'r> Decode<'r, Postgres> for &'r [u8]

Available on crate feature postgres only.
Source§

fn decode(value: PgValueRef<'r>) -> Result<Self, BoxDynError>

Source§

impl<'r> Decode<'r, Postgres> for Cow<'r, str>

Available on crate feature postgres only.
Source§

fn decode(value: PgValueRef<'r>) -> Result<Self, BoxDynError>

Source§

impl<'r> Decode<'r, Postgres> for ()

Available on crate feature postgres only.
Source§

fn decode(_value: PgValueRef<'r>) -> Result<Self, BoxDynError>

Source§

impl<'r> Decode<'r, Postgres> for DateTime<FixedOffset>

Available on crate feature postgres only.
Source§

fn decode(value: PgValueRef<'r>) -> Result<Self, BoxDynError>

Source§

impl<'r> Decode<'r, Postgres> for DateTime<Local>

Available on crate feature postgres only.
Source§

fn decode(value: PgValueRef<'r>) -> Result<Self, BoxDynError>

Source§

impl<'r> Decode<'r, Postgres> for DateTime<Utc>

Available on crate feature postgres only.
Source§

fn decode(value: PgValueRef<'r>) -> Result<Self, BoxDynError>

Source§

impl<'r> Decode<'r, Postgres> for NaiveDate

Available on crate feature postgres only.
Source§

fn decode(value: PgValueRef<'r>) -> Result<Self, BoxDynError>

Source§

impl<'r> Decode<'r, Postgres> for NaiveDateTime

Available on crate feature postgres only.
Source§

fn decode(value: PgValueRef<'r>) -> Result<Self, BoxDynError>

Source§

impl<'r> Decode<'r, Postgres> for NaiveTime

Available on crate feature postgres only.
Source§

fn decode(value: PgValueRef<'r>) -> Result<Self, BoxDynError>

Source§

impl<'r> Decode<'r, Postgres> for Date

Available on crate feature postgres only.
Source§

fn decode(value: PgValueRef<'r>) -> Result<Self, BoxDynError>

Source§

impl<'r> Decode<'r, Postgres> for OffsetDateTime

Available on crate feature postgres only.
Source§

fn decode(value: PgValueRef<'r>) -> Result<Self, BoxDynError>

Source§

impl<'r> Decode<'r, Postgres> for PrimitiveDateTime

Available on crate feature postgres only.
Source§

fn decode(value: PgValueRef<'r>) -> Result<Self, BoxDynError>

Source§

impl<'r> Decode<'r, Postgres> for Time

Available on crate feature postgres only.
Source§

fn decode(value: PgValueRef<'r>) -> Result<Self, BoxDynError>

Source§

impl<'r> Decode<'r, Sqlite> for &'r str

Available on crate feature sqlite only.
Source§

impl<'r> Decode<'r, Sqlite> for &'r [u8]

Available on crate feature sqlite only.
Source§

impl<'r> Decode<'r, Sqlite> for Cow<'r, str>

Available on crate feature sqlite only.
Source§

impl<'r> Decode<'r, Sqlite> for bool

Available on crate feature sqlite only.
Source§

impl<'r> Decode<'r, Sqlite> for f32

Available on crate feature sqlite only.
Source§

impl<'r> Decode<'r, Sqlite> for f64

Available on crate feature sqlite only.
Source§

impl<'r> Decode<'r, Sqlite> for i8

Available on crate feature sqlite only.
Source§

impl<'r> Decode<'r, Sqlite> for i16

Available on crate feature sqlite only.
Source§

impl<'r> Decode<'r, Sqlite> for i32

Available on crate feature sqlite only.
Source§

impl<'r> Decode<'r, Sqlite> for i64

Available on crate feature sqlite only.
Source§

impl<'r> Decode<'r, Sqlite> for u8

Available on crate feature sqlite only.
Source§

impl<'r> Decode<'r, Sqlite> for u16

Available on crate feature sqlite only.
Source§

impl<'r> Decode<'r, Sqlite> for u32

Available on crate feature sqlite only.
Source§

impl<'r> Decode<'r, Sqlite> for u64

Available on crate feature sqlite only.
Source§

impl<'r> Decode<'r, Sqlite> for String

Available on crate feature sqlite only.
Source§

impl<'r> Decode<'r, Sqlite> for Vec<u8>

Available on crate feature sqlite only.
Source§

impl<'r> Decode<'r, Sqlite> for DateTime<FixedOffset>

Available on crate feature sqlite only.
Source§

impl<'r> Decode<'r, Sqlite> for DateTime<Local>

Available on crate feature sqlite only.
Source§

impl<'r> Decode<'r, Sqlite> for DateTime<Utc>

Available on crate feature sqlite only.
Source§

impl<'r> Decode<'r, Sqlite> for NaiveDate

Available on crate feature sqlite only.
Source§

impl<'r> Decode<'r, Sqlite> for NaiveDateTime

Available on crate feature sqlite only.
Source§

impl<'r> Decode<'r, Sqlite> for NaiveTime

Available on crate feature sqlite only.
Source§

impl<'r> Decode<'r, Sqlite> for Date

Available on crate feature sqlite only.
Source§

impl<'r> Decode<'r, Sqlite> for OffsetDateTime

Available on crate feature sqlite only.
Source§

impl<'r> Decode<'r, Sqlite> for PrimitiveDateTime

Available on crate feature sqlite only.
Source§

impl<'r> Decode<'r, Sqlite> for Time

Available on crate feature sqlite only.
Source§

impl<'r, DB, T> Decode<'r, DB> for Option<T>
where DB: Database, T: Decode<'r, DB>,

Source§

fn decode(value: <DB as HasValueRef<'r>>::ValueRef) -> Result<Self, BoxDynError>

Source§

impl<'r, T1> Decode<'r, Postgres> for (T1,)
where T1: 'r + Type<Postgres> + for<'a> Decode<'a, Postgres>,

Available on crate feature postgres only.
Source§

fn decode(value: PgValueRef<'r>) -> Result<Self, BoxDynError>

Source§

impl<'r, T1, T2> Decode<'r, Postgres> for (T1, T2)
where T1: 'r + Type<Postgres> + for<'a> Decode<'a, Postgres>, T2: 'r + Type<Postgres> + for<'a> Decode<'a, Postgres>,

Available on crate feature postgres only.
Source§

fn decode(value: PgValueRef<'r>) -> Result<Self, BoxDynError>

Source§

impl<'r, T1, T2, T3> Decode<'r, Postgres> for (T1, T2, T3)
where T1: 'r + Type<Postgres> + for<'a> Decode<'a, Postgres>, T2: 'r + Type<Postgres> + for<'a> Decode<'a, Postgres>, T3: 'r + Type<Postgres> + for<'a> Decode<'a, Postgres>,

Available on crate feature postgres only.
Source§

fn decode(value: PgValueRef<'r>) -> Result<Self, BoxDynError>

Source§

impl<'r, T1, T2, T3, T4> Decode<'r, Postgres> for (T1, T2, T3, T4)
where T1: 'r + Type<Postgres> + for<'a> Decode<'a, Postgres>, T2: 'r + Type<Postgres> + for<'a> Decode<'a, Postgres>, T3: 'r + Type<Postgres> + for<'a> Decode<'a, Postgres>, T4: 'r + Type<Postgres> + for<'a> Decode<'a, Postgres>,

Available on crate feature postgres only.
Source§

fn decode(value: PgValueRef<'r>) -> Result<Self, BoxDynError>

Source§

impl<'r, T1, T2, T3, T4, T5> Decode<'r, Postgres> for (T1, T2, T3, T4, T5)
where T1: 'r + Type<Postgres> + for<'a> Decode<'a, Postgres>, T2: 'r + Type<Postgres> + for<'a> Decode<'a, Postgres>, T3: 'r + Type<Postgres> + for<'a> Decode<'a, Postgres>, T4: 'r + Type<Postgres> + for<'a> Decode<'a, Postgres>, T5: 'r + Type<Postgres> + for<'a> Decode<'a, Postgres>,

Available on crate feature postgres only.
Source§

fn decode(value: PgValueRef<'r>) -> Result<Self, BoxDynError>

Source§

impl<'r, T1, T2, T3, T4, T5, T6> Decode<'r, Postgres> for (T1, T2, T3, T4, T5, T6)
where T1: 'r + Type<Postgres> + for<'a> Decode<'a, Postgres>, T2: 'r + Type<Postgres> + for<'a> Decode<'a, Postgres>, T3: 'r + Type<Postgres> + for<'a> Decode<'a, Postgres>, T4: 'r + Type<Postgres> + for<'a> Decode<'a, Postgres>, T5: 'r + Type<Postgres> + for<'a> Decode<'a, Postgres>, T6: 'r + Type<Postgres> + for<'a> Decode<'a, Postgres>,

Available on crate feature postgres only.
Source§

fn decode(value: PgValueRef<'r>) -> Result<Self, BoxDynError>

Source§

impl<'r, T1, T2, T3, T4, T5, T6, T7> Decode<'r, Postgres> for (T1, T2, T3, T4, T5, T6, T7)
where T1: 'r + Type<Postgres> + for<'a> Decode<'a, Postgres>, T2: 'r + Type<Postgres> + for<'a> Decode<'a, Postgres>, T3: 'r + Type<Postgres> + for<'a> Decode<'a, Postgres>, T4: 'r + Type<Postgres> + for<'a> Decode<'a, Postgres>, T5: 'r + Type<Postgres> + for<'a> Decode<'a, Postgres>, T6: 'r + Type<Postgres> + for<'a> Decode<'a, Postgres>, T7: 'r + Type<Postgres> + for<'a> Decode<'a, Postgres>,

Available on crate feature postgres only.
Source§

fn decode(value: PgValueRef<'r>) -> Result<Self, BoxDynError>

Source§

impl<'r, T1, T2, T3, T4, T5, T6, T7, T8> Decode<'r, Postgres> for (T1, T2, T3, T4, T5, T6, T7, T8)
where T1: 'r + Type<Postgres> + for<'a> Decode<'a, Postgres>, T2: 'r + Type<Postgres> + for<'a> Decode<'a, Postgres>, T3: 'r + Type<Postgres> + for<'a> Decode<'a, Postgres>, T4: 'r + Type<Postgres> + for<'a> Decode<'a, Postgres>, T5: 'r + Type<Postgres> + for<'a> Decode<'a, Postgres>, T6: 'r + Type<Postgres> + for<'a> Decode<'a, Postgres>, T7: 'r + Type<Postgres> + for<'a> Decode<'a, Postgres>, T8: 'r + Type<Postgres> + for<'a> Decode<'a, Postgres>,

Available on crate feature postgres only.
Source§

fn decode(value: PgValueRef<'r>) -> Result<Self, BoxDynError>

Source§

impl<'r, T1, T2, T3, T4, T5, T6, T7, T8, T9> Decode<'r, Postgres> for (T1, T2, T3, T4, T5, T6, T7, T8, T9)
where T1: 'r + Type<Postgres> + for<'a> Decode<'a, Postgres>, T2: 'r + Type<Postgres> + for<'a> Decode<'a, Postgres>, T3: 'r + Type<Postgres> + for<'a> Decode<'a, Postgres>, T4: 'r + Type<Postgres> + for<'a> Decode<'a, Postgres>, T5: 'r + Type<Postgres> + for<'a> Decode<'a, Postgres>, T6: 'r + Type<Postgres> + for<'a> Decode<'a, Postgres>, T7: 'r + Type<Postgres> + for<'a> Decode<'a, Postgres>, T8: 'r + Type<Postgres> + for<'a> Decode<'a, Postgres>, T9: 'r + Type<Postgres> + for<'a> Decode<'a, Postgres>,

Available on crate feature postgres only.
Source§

fn decode(value: PgValueRef<'r>) -> Result<Self, BoxDynError>

Source§

impl<'r, T> Decode<'r, Postgres> for Vec<T>
where T: for<'a> Decode<'a, Postgres> + Type<Postgres>,

Available on crate feature postgres only.
Source§

fn decode(value: PgValueRef<'r>) -> Result<Self, BoxDynError>

Source§

impl<'r, T, const N: usize> Decode<'r, Postgres> for [T; N]
where T: for<'a> Decode<'a, Postgres> + Type<Postgres>,

Available on crate feature postgres only.
Source§

fn decode(value: PgValueRef<'r>) -> Result<Self, BoxDynError>

Source§

impl<const N: usize> Decode<'_, Postgres> for [u8; N]

Available on crate feature postgres only.
Source§

fn decode(value: PgValueRef<'_>) -> Result<Self, BoxDynError>

Implementors§

Source§

impl Decode<'_, Postgres> for Oid

Available on crate feature postgres only.
Source§

impl Decode<'_, Postgres> for PgMoney

Available on crate feature postgres only.
Source§

impl<'de> Decode<'de, Postgres> for PgInterval

Available on crate feature postgres only.
Source§

impl<'r> Decode<'r, Any> for Value
where Value: AnyDecode<'r>,

Available on (crate features postgres or mysql or mssql or sqlite or odbc) and crate feature any and crate feature json only.
Source§

impl<'r> Decode<'r, Odbc> for Value

Available on crate feature odbc only.
Source§

impl<'r> Decode<'r, Postgres> for PgLQuery

Available on crate feature postgres only.
Source§

impl<'r> Decode<'r, Postgres> for PgLTree

Available on crate feature postgres only.
Source§

impl<'r> Decode<'r, Postgres> for PgTimeTz<NaiveTime, FixedOffset>

Available on crate feature postgres only.
Source§

impl<'r> Decode<'r, Postgres> for PgTimeTz<Time, UtcOffset>

Available on crate feature postgres only.
Source§

impl<'r, DB> Decode<'r, DB> for &'r JsonRawValue
where Json<Self>: Decode<'r, DB>, DB: Database,

Available on crate feature json only.
Source§

impl<'r, DB> Decode<'r, DB> for JsonValue
where Json<Self>: Decode<'r, DB>, DB: Database,

Available on crate feature json only.
Source§

impl<'r, T> Decode<'r, Mssql> for Json<T>
where T: Deserialize<'r> + 'r,

Available on crate feature mssql only.
Source§

impl<'r, T> Decode<'r, MySql> for Json<T>
where T: 'r + Deserialize<'r>,

Available on crate feature mysql only.
Source§

impl<'r, T> Decode<'r, Postgres> for PgRange<T>
where T: Type<Postgres> + for<'a> Decode<'a, Postgres>,

Available on crate feature postgres only.
Source§

impl<'r, T> Decode<'r, Postgres> for Json<T>
where T: Deserialize<'r> + 'r,

Available on crate feature postgres only.
Source§

impl<'r, T> Decode<'r, Sqlite> for Json<T>
where T: 'r + Deserialize<'r>,

Available on crate feature sqlite only.