Trait mysql::FromValue 
            
                [−]
            
        [src]
pub trait FromValue: Sized {
    type Intermediate: ConvIr<Self>;
    fn from_value(v: Value) -> Self { ... }
    fn from_value_opt(v: Value) -> MyResult<Self> { ... }
    fn get_intermediate(v: Value) -> MyResult<Self::Intermediate> { ... }
}Implement this trait to convert value to something.
FromRow requires ability to cheaply rollback FromValue conversion. This ability is
provided via Intermediate associated type.
Example implementation:
#[derive(Debug)] pub struct StringIr { bytes: Vec<u8>, } impl ConvIr<String> for StringIr { fn new(v: Value) -> MyResult<StringIr> { match v { Value::Bytes(bytes) => match from_utf8(&*bytes) { Ok(_) => Ok(StringIr { bytes: bytes }), Err(_) => Err(Error::FromValueError(Value::Bytes(bytes))), }, v => Err(Error::FromValueError(v)), } } fn commit(self) -> String { unsafe { String::from_utf8_unchecked(self.bytes) } } fn rollback(self) -> Value { Value::Bytes(self.bytes) } } impl FromValue for String { type Intermediate = StringIr; }
Associated Types
type Intermediate: ConvIr<Self>
Provided Methods
fn from_value(v: Value) -> Self
Will panic if could not convert v to Self.
fn from_value_opt(v: Value) -> MyResult<Self>
Will return Err(Error::FromValueError(v)) if could not convert v to Self.
fn get_intermediate(v: Value) -> MyResult<Self::Intermediate>
Will return Err(Error::FromValueError(v)) if v is not convertible to Self.
Implementors
- impl<T> FromValue for Option<T> where T: FromValue
- impl FromValue for Value
- impl FromValue for NaiveDateTime
- impl FromValue for NaiveDate
- impl FromValue for NaiveTime
- impl FromValue for Timespec
- impl FromValue for Duration
- impl FromValue for Duration
- impl FromValue for String
- impl FromValue for Vec<u8>
- impl FromValue for bool
- impl FromValue for i64
- impl FromValue for u64
- impl FromValue for f32
- impl FromValue for f64
- impl FromValue for i8
- impl FromValue for u8
- impl FromValue for i16
- impl FromValue for u16
- impl FromValue for i32
- impl FromValue for u32
- impl FromValue for isize
- impl FromValue for usize