Trait sqlx::Decode

source ·
pub trait Decode<'r, DB>: Sized
where DB: Database,
{ // Required method fn decode( value: <DB as Database>::ValueRef<'r>, ) -> Result<Self, Box<dyn Error + Sync + Send>>; }
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 Database>::ValueRef<'r>,
    ) -> 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 Database>::ValueRef<'r>, ) -> Result<Self, Box<dyn Error + Sync + Send>>

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

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl Decode<'_, MySql> for IpAddr

source§

fn decode( value: MySqlValueRef<'_>, ) -> Result<IpAddr, Box<dyn Error + Sync + Send>>

source§

impl Decode<'_, MySql> for bool

source§

fn decode( value: MySqlValueRef<'_>, ) -> Result<bool, Box<dyn Error + Sync + Send>>

source§

impl Decode<'_, MySql> for f32

source§

fn decode(value: MySqlValueRef<'_>) -> Result<f32, Box<dyn Error + Sync + Send>>

source§

impl Decode<'_, MySql> for f64

source§

fn decode(value: MySqlValueRef<'_>) -> Result<f64, Box<dyn Error + Sync + Send>>

source§

impl Decode<'_, MySql> for i8

source§

fn decode(value: MySqlValueRef<'_>) -> Result<i8, Box<dyn Error + Sync + Send>>

source§

impl Decode<'_, MySql> for i16

source§

fn decode(value: MySqlValueRef<'_>) -> Result<i16, Box<dyn Error + Sync + Send>>

source§

impl Decode<'_, MySql> for i32

source§

fn decode(value: MySqlValueRef<'_>) -> Result<i32, Box<dyn Error + Sync + Send>>

source§

impl Decode<'_, MySql> for i64

source§

fn decode(value: MySqlValueRef<'_>) -> Result<i64, Box<dyn Error + Sync + Send>>

source§

impl Decode<'_, MySql> for u8

source§

fn decode(value: MySqlValueRef<'_>) -> Result<u8, Box<dyn Error + Sync + Send>>

source§

impl Decode<'_, MySql> for u16

source§

fn decode(value: MySqlValueRef<'_>) -> Result<u16, Box<dyn Error + Sync + Send>>

source§

impl Decode<'_, MySql> for u32

source§

fn decode(value: MySqlValueRef<'_>) -> Result<u32, Box<dyn Error + Sync + Send>>

source§

impl Decode<'_, MySql> for u64

source§

fn decode(value: MySqlValueRef<'_>) -> Result<u64, Box<dyn Error + Sync + Send>>

source§

impl Decode<'_, MySql> for String

source§

fn decode( value: MySqlValueRef<'_>, ) -> Result<String, Box<dyn Error + Sync + Send>>

source§

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

source§

fn decode( value: MySqlValueRef<'_>, ) -> Result<Vec<u8>, Box<dyn Error + Sync + Send>>

source§

impl Decode<'_, MySql> for Ipv4Addr

source§

fn decode( value: MySqlValueRef<'_>, ) -> Result<Ipv4Addr, Box<dyn Error + Sync + Send>>

source§

impl Decode<'_, MySql> for Ipv6Addr

source§

fn decode( value: MySqlValueRef<'_>, ) -> Result<Ipv6Addr, Box<dyn Error + Sync + Send>>

source§

impl Decode<'_, Postgres> for bool

source§

fn decode(value: PgValueRef<'_>) -> Result<bool, Box<dyn Error + Sync + Send>>

source§

impl Decode<'_, Postgres> for f32

source§

fn decode(value: PgValueRef<'_>) -> Result<f32, Box<dyn Error + Sync + Send>>

source§

impl Decode<'_, Postgres> for f64

source§

fn decode(value: PgValueRef<'_>) -> Result<f64, Box<dyn Error + Sync + Send>>

source§

impl Decode<'_, Postgres> for i8

source§

fn decode(value: PgValueRef<'_>) -> Result<i8, Box<dyn Error + Sync + Send>>

source§

impl Decode<'_, Postgres> for i16

source§

fn decode(value: PgValueRef<'_>) -> Result<i16, Box<dyn Error + Sync + Send>>

source§

impl Decode<'_, Postgres> for i32

source§

fn decode(value: PgValueRef<'_>) -> Result<i32, Box<dyn Error + Sync + Send>>

source§

impl Decode<'_, Postgres> for i64

source§

fn decode(value: PgValueRef<'_>) -> Result<i64, Box<dyn Error + Sync + Send>>

source§

impl Decode<'_, Postgres> for Box<[u8]>

source§

fn decode( value: PgValueRef<'_>, ) -> Result<Box<[u8]>, Box<dyn Error + Sync + Send>>

source§

impl Decode<'_, Postgres> for String

source§

fn decode(value: PgValueRef<'_>) -> Result<String, Box<dyn Error + Sync + Send>>

source§

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

source§

fn decode( value: PgValueRef<'_>, ) -> Result<Vec<u8>, Box<dyn Error + Sync + Send>>

source§

impl Decode<'_, Sqlite> for Box<str>

source§

fn decode( value: SqliteValueRef<'_>, ) -> Result<Box<str>, Box<dyn Error + Sync + Send>>

source§

impl Decode<'_, Sqlite> for Box<[u8]>

source§

fn decode( value: SqliteValueRef<'_>, ) -> Result<Box<[u8]>, Box<dyn Error + Sync + Send>>

source§

impl<'a> Decode<'a, Any> for &'a str

source§

fn decode( value: <Any as Database>::ValueRef<'a>, ) -> Result<&'a str, Box<dyn Error + Sync + Send>>

source§

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

source§

fn decode( value: PgValueRef<'db>, ) -> Result<IpAddr, Box<dyn Error + Sync + Send>>

source§

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

source§

fn decode( value: <Any as Database>::ValueRef<'r>, ) -> Result<&'r [u8], Box<dyn Error + Sync + Send>>

source§

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

source§

fn decode( value: <Any as Database>::ValueRef<'r>, ) -> Result<bool, Box<dyn Error + Sync + Send>>

source§

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

source§

fn decode(value: AnyValueRef<'r>) -> Result<f32, Box<dyn Error + Sync + Send>>

source§

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

source§

fn decode( value: <Any as Database>::ValueRef<'r>, ) -> Result<f64, Box<dyn Error + Sync + Send>>

source§

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

source§

fn decode( value: <Any as Database>::ValueRef<'r>, ) -> Result<i16, Box<dyn Error + Sync + Send>>

source§

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

source§

fn decode( value: <Any as Database>::ValueRef<'r>, ) -> Result<i32, Box<dyn Error + Sync + Send>>

source§

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

source§

fn decode( value: <Any as Database>::ValueRef<'r>, ) -> Result<i64, Box<dyn Error + Sync + Send>>

source§

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

source§

fn decode( value: <Any as Database>::ValueRef<'r>, ) -> Result<String, Box<dyn Error + Sync + Send>>

source§

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

source§

fn decode( value: <Any as Database>::ValueRef<'r>, ) -> Result<Vec<u8>, Box<dyn Error + Sync + Send>>

source§

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

source§

fn decode( value: MySqlValueRef<'r>, ) -> Result<&'r str, Box<dyn Error + Sync + Send>>

source§

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

source§

fn decode( value: MySqlValueRef<'r>, ) -> Result<&'r [u8], Box<dyn Error + Sync + Send>>

source§

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

source§

fn decode( value: MySqlValueRef<'r>, ) -> Result<Cow<'r, str>, Box<dyn Error + Sync + Send>>

source§

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

source§

fn decode( value: MySqlValueRef<'r>, ) -> Result<Box<str>, Box<dyn Error + Sync + Send>>

source§

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

source§

fn decode( value: MySqlValueRef<'r>, ) -> Result<Box<[u8]>, Box<dyn Error + Sync + Send>>

source§

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

source§

fn decode( value: <MySql as Database>::ValueRef<'r>, ) -> Result<Duration, Box<dyn Error + Sync + Send>>

source§

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

source§

fn decode( value: <MySql as Database>::ValueRef<'r>, ) -> Result<TimeDelta, Box<dyn Error + Sync + Send>>

source§

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

source§

fn decode( value: <MySql as Database>::ValueRef<'r>, ) -> Result<Duration, Box<dyn Error + Sync + Send>>

source§

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

source§

fn decode( value: PgValueRef<'r>, ) -> Result<&'r str, Box<dyn Error + Sync + Send>>

source§

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

source§

fn decode( value: PgValueRef<'r>, ) -> Result<&'r [u8], Box<dyn Error + Sync + Send>>

source§

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

source§

fn decode( value: PgValueRef<'r>, ) -> Result<Cow<'r, str>, Box<dyn Error + Sync + Send>>

source§

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

source§

fn decode(_value: PgValueRef<'r>) -> Result<(), Box<dyn Error + Sync + Send>>

source§

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

source§

fn decode( value: PgValueRef<'r>, ) -> Result<Box<str>, Box<dyn Error + Sync + Send>>

source§

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

source§

fn decode( value: SqliteValueRef<'r>, ) -> Result<&'r str, Box<dyn Error + Sync + Send>>

source§

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

source§

fn decode( value: SqliteValueRef<'r>, ) -> Result<&'r [u8], Box<dyn Error + Sync + Send>>

source§

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

source§

fn decode( value: SqliteValueRef<'r>, ) -> Result<Cow<'r, str>, Box<dyn Error + Sync + Send>>

source§

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

source§

fn decode( value: SqliteValueRef<'r>, ) -> Result<bool, Box<dyn Error + Sync + Send>>

source§

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

source§

fn decode( value: SqliteValueRef<'r>, ) -> Result<f32, Box<dyn Error + Sync + Send>>

source§

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

source§

fn decode( value: SqliteValueRef<'r>, ) -> Result<f64, Box<dyn Error + Sync + Send>>

source§

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

source§

fn decode(value: SqliteValueRef<'r>) -> Result<i8, Box<dyn Error + Sync + Send>>

source§

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

source§

fn decode( value: SqliteValueRef<'r>, ) -> Result<i16, Box<dyn Error + Sync + Send>>

source§

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

source§

fn decode( value: SqliteValueRef<'r>, ) -> Result<i32, Box<dyn Error + Sync + Send>>

source§

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

source§

fn decode( value: SqliteValueRef<'r>, ) -> Result<i64, Box<dyn Error + Sync + Send>>

source§

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

source§

fn decode(value: SqliteValueRef<'r>) -> Result<u8, Box<dyn Error + Sync + Send>>

source§

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

source§

fn decode( value: SqliteValueRef<'r>, ) -> Result<u16, Box<dyn Error + Sync + Send>>

source§

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

source§

fn decode( value: SqliteValueRef<'r>, ) -> Result<u32, Box<dyn Error + Sync + Send>>

source§

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

source§

fn decode( value: SqliteValueRef<'r>, ) -> Result<u64, Box<dyn Error + Sync + Send>>

source§

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

source§

fn decode( value: SqliteValueRef<'r>, ) -> Result<String, Box<dyn Error + Sync + Send>>

source§

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

source§

fn decode( value: SqliteValueRef<'r>, ) -> Result<Vec<u8>, Box<dyn Error + Sync + Send>>

source§

impl<'r, DB> Decode<'r, DB> for NonZero<i8>
where DB: Database, i8: Decode<'r, DB>,

source§

fn decode( value: <DB as Database>::ValueRef<'r>, ) -> Result<NonZero<i8>, Box<dyn Error + Sync + Send>>

source§

impl<'r, DB> Decode<'r, DB> for NonZero<i16>
where DB: Database, i16: Decode<'r, DB>,

source§

fn decode( value: <DB as Database>::ValueRef<'r>, ) -> Result<NonZero<i16>, Box<dyn Error + Sync + Send>>

source§

impl<'r, DB> Decode<'r, DB> for NonZero<i32>
where DB: Database, i32: Decode<'r, DB>,

source§

fn decode( value: <DB as Database>::ValueRef<'r>, ) -> Result<NonZero<i32>, Box<dyn Error + Sync + Send>>

source§

impl<'r, DB> Decode<'r, DB> for NonZero<i64>
where DB: Database, i64: Decode<'r, DB>,

source§

fn decode( value: <DB as Database>::ValueRef<'r>, ) -> Result<NonZero<i64>, Box<dyn Error + Sync + Send>>

source§

impl<'r, DB> Decode<'r, DB> for NonZero<u8>
where DB: Database, u8: Decode<'r, DB>,

source§

fn decode( value: <DB as Database>::ValueRef<'r>, ) -> Result<NonZero<u8>, Box<dyn Error + Sync + Send>>

source§

impl<'r, DB> Decode<'r, DB> for NonZero<u16>
where DB: Database, u16: Decode<'r, DB>,

source§

fn decode( value: <DB as Database>::ValueRef<'r>, ) -> Result<NonZero<u16>, Box<dyn Error + Sync + Send>>

source§

impl<'r, DB> Decode<'r, DB> for NonZero<u32>
where DB: Database, u32: Decode<'r, DB>,

source§

fn decode( value: <DB as Database>::ValueRef<'r>, ) -> Result<NonZero<u32>, Box<dyn Error + Sync + Send>>

source§

impl<'r, DB> Decode<'r, DB> for NonZero<u64>
where DB: Database, u64: Decode<'r, DB>,

source§

fn decode( value: <DB as Database>::ValueRef<'r>, ) -> Result<NonZero<u64>, Box<dyn Error + Sync + Send>>

source§

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

source§

fn decode( value: <DB as Database>::ValueRef<'r>, ) -> Result<Option<T>, Box<dyn Error + Sync + Send>>

source§

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

source§

fn decode(value: PgValueRef<'r>) -> Result<(T1,), Box<dyn Error + Sync + Send>>

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

source§

fn decode( value: PgValueRef<'r>, ) -> Result<(T1, T2), Box<dyn Error + Sync + Send>>

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

source§

fn decode( value: PgValueRef<'r>, ) -> Result<(T1, T2, T3), Box<dyn Error + Sync + Send>>

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

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

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

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

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

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

source§

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

source§

fn decode(value: PgValueRef<'r>) -> Result<Vec<T>, Box<dyn Error + Sync + Send>>

source§

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

source§

fn decode(value: PgValueRef<'r>) -> Result<[T; N], Box<dyn Error + Sync + Send>>

source§

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

source§

fn decode( value: PgValueRef<'_>, ) -> Result<[u8; N], Box<dyn Error + Sync + Send>>

Implementors§

source§

impl Decode<'_, MySql> for BigDecimal

source§

impl Decode<'_, MySql> for Decimal

source§

impl Decode<'_, MySql> for Uuid

source§

impl Decode<'_, MySql> for Hyphenated

source§

impl Decode<'_, MySql> for Simple

source§

impl Decode<'_, Postgres> for IpNetwork

source§

impl Decode<'_, Postgres> for Oid

source§

impl Decode<'_, Postgres> for PgCiText

source§

impl Decode<'_, Postgres> for PgMoney

source§

impl Decode<'_, Postgres> for MacAddress

source§

impl Decode<'_, Postgres> for BigDecimal

§Note: NaN

BigDecimal has a greater range than NUMERIC (see the corresponding Encode impl for details) but cannot represent NaN, so decoding may return an error.

source§

impl Decode<'_, Postgres> for BitVec

source§

impl Decode<'_, Postgres> for Decimal

§Note: rust_decimal::Decimal Has a Smaller Range than NUMERIC

NUMERIC is can have up to 131,072 digits before the decimal point, and 16,384 digits after it. See [Section 8.1, Numeric Types] of the Postgres manual for details.

However, rust_decimal::Decimal is limited to a maximum absolute magnitude of 296 - 1, a number with 67 decimal digits, and a minimum absolute magnitude of 10-28, a number with, unsurprisingly, 28 decimal digits.

Thus, in contrast with BigDecimal, NUMERIC can actually represent every possible value of rust_decimal::Decimal, but not the other way around. This means that encoding should never fail, but decoding can.

source§

impl Decode<'_, Postgres> for Uuid

source§

impl Decode<'_, Sqlite> for Uuid

source§

impl Decode<'_, Sqlite> for Hyphenated

source§

impl Decode<'_, Sqlite> for Simple

source§

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

source§

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

source§

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

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

source§

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

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

source§

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

source§

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

source§

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

Decode from a TIME value.

§Errors

Returns an error if the TIME value is negative or exceeds 23:59:59.999999.

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

impl<'r, T> Decode<'r, MySql> for Text<T>
where T: FromStr, Box<dyn Error + Sync + Send>: From<<T as FromStr>::Err>,

source§

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

source§

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

source§

impl<'r, T> Decode<'r, Postgres> for Text<T>
where T: FromStr, Box<dyn Error + Sync + Send>: From<<T as FromStr>::Err>,

source§

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

source§

impl<'r, T> Decode<'r, Sqlite> for Text<T>
where T: FromStr, Box<dyn Error + Sync + Send>: From<<T as FromStr>::Err>,