Trait mysql::prelude::FromValue

source ·
pub trait FromValue: Sized {
    type Intermediate: TryFrom<Value, Error = FromValueError> + Into<Self>;

    // Provided methods
    fn from_value(v: Value) -> Self { ... }
    fn from_value_opt(v: Value) -> Result<Self, FromValueError> { ... }
    fn get_intermediate(v: Value) -> Result<Self::Intermediate, FromValueError> { ... }
}
Expand description

Implement this trait to convert a value to some type.

The FromRow trait requires an ability to rollback this conversion to an original Value instance. Thats the reason why there is the Intermediate type – consider implementing Into<Value> for your Intermediate type if you want FromRow to work with your type.

Required Associated Types§

Provided Methods§

source

fn from_value(v: Value) -> Self

Will panic if could not convert v to Self.

source

fn from_value_opt(v: Value) -> Result<Self, FromValueError>

Will return Err(Error::FromValueError(v)) if could not convert v to Self.

source

fn get_intermediate(v: Value) -> Result<Self::Intermediate, FromValueError>

Will return Err(Error::FromValueError(v)) if v is not convertible to Self.

Implementations on Foreign Types§

source§

impl FromValue for u8

source§

impl FromValue for Vec<u8, Global>

source§

impl FromValue for Value

source§

impl FromValue for isize

source§

impl FromValue for u32

source§

impl FromValue for i8

source§

impl FromValue for u64

source§

impl FromValue for usize

source§

impl<const N: usize> FromValue for [u8; N]

§

type Intermediate = [u8; N]

source§

impl FromValue for Cow<'static, [u8]>

§

type Intermediate = Cow<'static, [u8]>

source§

impl FromValue for Date

§

type Intermediate = ParseIr<Date>

source§

impl FromValue for Duration

§

type Intermediate = ParseIr<Duration>

source§

impl FromValue for BigInt

source§

impl FromValue for PrimitiveDateTime

§

type Intermediate = ParseIr<PrimitiveDateTime>

source§

impl FromValue for i16

source§

impl FromValue for Decimal

§

type Intermediate = ParseIr<Decimal>

source§

impl FromValue for Time

Converts a MySQL TIME value to a time::Time. Note: time::Time only allows for time values in the 00:00:00 - 23:59:59 range. If you’re expecting TIME values in MySQL’s TIME value range of -838:59:59 - 838:59:59, use time::Duration instead.

§

type Intermediate = ParseIr<Time>

source§

impl FromValue for u16

source§

impl FromValue for f64

source§

impl<T> FromValue for Option<T>where T: FromValue,

source§

impl FromValue for bool

source§

impl FromValue for i128

source§

impl FromValue for i64

source§

impl FromValue for Cow<'static, str>

source§

impl FromValue for BigDecimal

§

type Intermediate = ParseIr<BigDecimal>

source§

impl FromValue for String

source§

impl FromValue for BigUint

source§

impl FromValue for f32

source§

impl FromValue for Duration

source§

impl FromValue for u128

source§

impl FromValue for i32

source§

impl FromValue for Uuid

Implementors§