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<'_, 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>,

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

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, 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>,

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.