Trait diesel::deserialize::FromSqlRow

source ·
pub trait FromSqlRow<ST, DB: Backend>: Sized {
    // Required method
    fn build_from_row<'a>(row: &impl Row<'a, DB>) -> Result<Self>;
}
Expand description

Deserialize a database row into a rust data structure

Diesel provides wild card implementations of this trait for all types that implement one of the following traits:

Required Methods§

source

fn build_from_row<'a>(row: &impl Row<'a, DB>) -> Result<Self>

See the trait documentation.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<T0, T1, ST1, __DB> FromSqlRow<(ST1, Untyped), __DB> for (T1, T0)
where __DB: Backend, T0: FromSqlRow<Untyped, __DB>, T1: FromSqlRow<ST1, __DB> + StaticallySizedRow<ST1, __DB>,

source§

fn build_from_row<'a>(full_row: &impl Row<'a, __DB>) -> Result<Self>

source§

impl<T0, T1, T2, ST1, ST2, __DB> FromSqlRow<(ST1, ST2, Untyped), __DB> for (T1, T2, T0)
where __DB: Backend, T0: FromSqlRow<Untyped, __DB>, T1: FromSqlRow<ST1, __DB> + StaticallySizedRow<ST1, __DB>, T2: FromSqlRow<ST2, __DB> + StaticallySizedRow<ST2, __DB>,

source§

fn build_from_row<'a>(full_row: &impl Row<'a, __DB>) -> Result<Self>

source§

impl<T0, T1, T2, T3, ST1, ST2, ST3, __DB> FromSqlRow<(ST1, ST2, ST3, Untyped), __DB> for (T1, T2, T3, T0)
where __DB: Backend, T0: FromSqlRow<Untyped, __DB>, T1: FromSqlRow<ST1, __DB> + StaticallySizedRow<ST1, __DB>, T2: FromSqlRow<ST2, __DB> + StaticallySizedRow<ST2, __DB>, T3: FromSqlRow<ST3, __DB> + StaticallySizedRow<ST3, __DB>,

source§

fn build_from_row<'a>(full_row: &impl Row<'a, __DB>) -> Result<Self>

source§

impl<T0, T1, T2, T3, T4, ST1, ST2, ST3, ST4, __DB> FromSqlRow<(ST1, ST2, ST3, ST4, Untyped), __DB> for (T1, T2, T3, T4, T0)
where __DB: Backend, T0: FromSqlRow<Untyped, __DB>, T1: FromSqlRow<ST1, __DB> + StaticallySizedRow<ST1, __DB>, T2: FromSqlRow<ST2, __DB> + StaticallySizedRow<ST2, __DB>, T3: FromSqlRow<ST3, __DB> + StaticallySizedRow<ST3, __DB>, T4: FromSqlRow<ST4, __DB> + StaticallySizedRow<ST4, __DB>,

source§

fn build_from_row<'a>(full_row: &impl Row<'a, __DB>) -> Result<Self>

source§

impl<T0, T1, T2, T3, T4, T5, ST1, ST2, ST3, ST4, ST5, __DB> FromSqlRow<(ST1, ST2, ST3, ST4, ST5, Untyped), __DB> for (T1, T2, T3, T4, T5, T0)
where __DB: Backend, T0: FromSqlRow<Untyped, __DB>, T1: FromSqlRow<ST1, __DB> + StaticallySizedRow<ST1, __DB>, T2: FromSqlRow<ST2, __DB> + StaticallySizedRow<ST2, __DB>, T3: FromSqlRow<ST3, __DB> + StaticallySizedRow<ST3, __DB>, T4: FromSqlRow<ST4, __DB> + StaticallySizedRow<ST4, __DB>, T5: FromSqlRow<ST5, __DB> + StaticallySizedRow<ST5, __DB>,

source§

fn build_from_row<'a>(full_row: &impl Row<'a, __DB>) -> Result<Self>

source§

impl<T0, T1, T2, T3, T4, T5, T6, ST1, ST2, ST3, ST4, ST5, ST6, __DB> FromSqlRow<(ST1, ST2, ST3, ST4, ST5, ST6, Untyped), __DB> for (T1, T2, T3, T4, T5, T6, T0)
where __DB: Backend, T0: FromSqlRow<Untyped, __DB>, T1: FromSqlRow<ST1, __DB> + StaticallySizedRow<ST1, __DB>, T2: FromSqlRow<ST2, __DB> + StaticallySizedRow<ST2, __DB>, T3: FromSqlRow<ST3, __DB> + StaticallySizedRow<ST3, __DB>, T4: FromSqlRow<ST4, __DB> + StaticallySizedRow<ST4, __DB>, T5: FromSqlRow<ST5, __DB> + StaticallySizedRow<ST5, __DB>, T6: FromSqlRow<ST6, __DB> + StaticallySizedRow<ST6, __DB>,

source§

fn build_from_row<'a>(full_row: &impl Row<'a, __DB>) -> Result<Self>

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, ST1, ST2, ST3, ST4, ST5, ST6, ST7, __DB> FromSqlRow<(ST1, ST2, ST3, ST4, ST5, ST6, ST7, Untyped), __DB> for (T1, T2, T3, T4, T5, T6, T7, T0)
where __DB: Backend, T0: FromSqlRow<Untyped, __DB>, T1: FromSqlRow<ST1, __DB> + StaticallySizedRow<ST1, __DB>, T2: FromSqlRow<ST2, __DB> + StaticallySizedRow<ST2, __DB>, T3: FromSqlRow<ST3, __DB> + StaticallySizedRow<ST3, __DB>, T4: FromSqlRow<ST4, __DB> + StaticallySizedRow<ST4, __DB>, T5: FromSqlRow<ST5, __DB> + StaticallySizedRow<ST5, __DB>, T6: FromSqlRow<ST6, __DB> + StaticallySizedRow<ST6, __DB>, T7: FromSqlRow<ST7, __DB> + StaticallySizedRow<ST7, __DB>,

source§

fn build_from_row<'a>(full_row: &impl Row<'a, __DB>) -> Result<Self>

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, ST1, ST2, ST3, ST4, ST5, ST6, ST7, ST8, __DB> FromSqlRow<(ST1, ST2, ST3, ST4, ST5, ST6, ST7, ST8, Untyped), __DB> for (T1, T2, T3, T4, T5, T6, T7, T8, T0)
where __DB: Backend, T0: FromSqlRow<Untyped, __DB>, T1: FromSqlRow<ST1, __DB> + StaticallySizedRow<ST1, __DB>, T2: FromSqlRow<ST2, __DB> + StaticallySizedRow<ST2, __DB>, T3: FromSqlRow<ST3, __DB> + StaticallySizedRow<ST3, __DB>, T4: FromSqlRow<ST4, __DB> + StaticallySizedRow<ST4, __DB>, T5: FromSqlRow<ST5, __DB> + StaticallySizedRow<ST5, __DB>, T6: FromSqlRow<ST6, __DB> + StaticallySizedRow<ST6, __DB>, T7: FromSqlRow<ST7, __DB> + StaticallySizedRow<ST7, __DB>, T8: FromSqlRow<ST8, __DB> + StaticallySizedRow<ST8, __DB>,

source§

fn build_from_row<'a>(full_row: &impl Row<'a, __DB>) -> Result<Self>

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, ST1, ST2, ST3, ST4, ST5, ST6, ST7, ST8, ST9, __DB> FromSqlRow<(ST1, ST2, ST3, ST4, ST5, ST6, ST7, ST8, ST9, Untyped), __DB> for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T0)
where __DB: Backend, T0: FromSqlRow<Untyped, __DB>, T1: FromSqlRow<ST1, __DB> + StaticallySizedRow<ST1, __DB>, T2: FromSqlRow<ST2, __DB> + StaticallySizedRow<ST2, __DB>, T3: FromSqlRow<ST3, __DB> + StaticallySizedRow<ST3, __DB>, T4: FromSqlRow<ST4, __DB> + StaticallySizedRow<ST4, __DB>, T5: FromSqlRow<ST5, __DB> + StaticallySizedRow<ST5, __DB>, T6: FromSqlRow<ST6, __DB> + StaticallySizedRow<ST6, __DB>, T7: FromSqlRow<ST7, __DB> + StaticallySizedRow<ST7, __DB>, T8: FromSqlRow<ST8, __DB> + StaticallySizedRow<ST8, __DB>, T9: FromSqlRow<ST9, __DB> + StaticallySizedRow<ST9, __DB>,

source§

fn build_from_row<'a>(full_row: &impl Row<'a, __DB>) -> Result<Self>

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, ST1, ST2, ST3, ST4, ST5, ST6, ST7, ST8, ST9, ST10, __DB> FromSqlRow<(ST1, ST2, ST3, ST4, ST5, ST6, ST7, ST8, ST9, ST10, Untyped), __DB> for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T0)
where __DB: Backend, T0: FromSqlRow<Untyped, __DB>, T1: FromSqlRow<ST1, __DB> + StaticallySizedRow<ST1, __DB>, T2: FromSqlRow<ST2, __DB> + StaticallySizedRow<ST2, __DB>, T3: FromSqlRow<ST3, __DB> + StaticallySizedRow<ST3, __DB>, T4: FromSqlRow<ST4, __DB> + StaticallySizedRow<ST4, __DB>, T5: FromSqlRow<ST5, __DB> + StaticallySizedRow<ST5, __DB>, T6: FromSqlRow<ST6, __DB> + StaticallySizedRow<ST6, __DB>, T7: FromSqlRow<ST7, __DB> + StaticallySizedRow<ST7, __DB>, T8: FromSqlRow<ST8, __DB> + StaticallySizedRow<ST8, __DB>, T9: FromSqlRow<ST9, __DB> + StaticallySizedRow<ST9, __DB>, T10: FromSqlRow<ST10, __DB> + StaticallySizedRow<ST10, __DB>,

source§

fn build_from_row<'a>(full_row: &impl Row<'a, __DB>) -> Result<Self>

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, ST1, ST2, ST3, ST4, ST5, ST6, ST7, ST8, ST9, ST10, ST11, __DB> FromSqlRow<(ST1, ST2, ST3, ST4, ST5, ST6, ST7, ST8, ST9, ST10, ST11, Untyped), __DB> for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T0)
where __DB: Backend, T0: FromSqlRow<Untyped, __DB>, T1: FromSqlRow<ST1, __DB> + StaticallySizedRow<ST1, __DB>, T2: FromSqlRow<ST2, __DB> + StaticallySizedRow<ST2, __DB>, T3: FromSqlRow<ST3, __DB> + StaticallySizedRow<ST3, __DB>, T4: FromSqlRow<ST4, __DB> + StaticallySizedRow<ST4, __DB>, T5: FromSqlRow<ST5, __DB> + StaticallySizedRow<ST5, __DB>, T6: FromSqlRow<ST6, __DB> + StaticallySizedRow<ST6, __DB>, T7: FromSqlRow<ST7, __DB> + StaticallySizedRow<ST7, __DB>, T8: FromSqlRow<ST8, __DB> + StaticallySizedRow<ST8, __DB>, T9: FromSqlRow<ST9, __DB> + StaticallySizedRow<ST9, __DB>, T10: FromSqlRow<ST10, __DB> + StaticallySizedRow<ST10, __DB>, T11: FromSqlRow<ST11, __DB> + StaticallySizedRow<ST11, __DB>,

source§

fn build_from_row<'a>(full_row: &impl Row<'a, __DB>) -> Result<Self>

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, ST1, ST2, ST3, ST4, ST5, ST6, ST7, ST8, ST9, ST10, ST11, ST12, __DB> FromSqlRow<(ST1, ST2, ST3, ST4, ST5, ST6, ST7, ST8, ST9, ST10, ST11, ST12, Untyped), __DB> for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T0)
where __DB: Backend, T0: FromSqlRow<Untyped, __DB>, T1: FromSqlRow<ST1, __DB> + StaticallySizedRow<ST1, __DB>, T2: FromSqlRow<ST2, __DB> + StaticallySizedRow<ST2, __DB>, T3: FromSqlRow<ST3, __DB> + StaticallySizedRow<ST3, __DB>, T4: FromSqlRow<ST4, __DB> + StaticallySizedRow<ST4, __DB>, T5: FromSqlRow<ST5, __DB> + StaticallySizedRow<ST5, __DB>, T6: FromSqlRow<ST6, __DB> + StaticallySizedRow<ST6, __DB>, T7: FromSqlRow<ST7, __DB> + StaticallySizedRow<ST7, __DB>, T8: FromSqlRow<ST8, __DB> + StaticallySizedRow<ST8, __DB>, T9: FromSqlRow<ST9, __DB> + StaticallySizedRow<ST9, __DB>, T10: FromSqlRow<ST10, __DB> + StaticallySizedRow<ST10, __DB>, T11: FromSqlRow<ST11, __DB> + StaticallySizedRow<ST11, __DB>, T12: FromSqlRow<ST12, __DB> + StaticallySizedRow<ST12, __DB>,

source§

fn build_from_row<'a>(full_row: &impl Row<'a, __DB>) -> Result<Self>

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, ST1, ST2, ST3, ST4, ST5, ST6, ST7, ST8, ST9, ST10, ST11, ST12, ST13, __DB> FromSqlRow<(ST1, ST2, ST3, ST4, ST5, ST6, ST7, ST8, ST9, ST10, ST11, ST12, ST13, Untyped), __DB> for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T0)
where __DB: Backend, T0: FromSqlRow<Untyped, __DB>, T1: FromSqlRow<ST1, __DB> + StaticallySizedRow<ST1, __DB>, T2: FromSqlRow<ST2, __DB> + StaticallySizedRow<ST2, __DB>, T3: FromSqlRow<ST3, __DB> + StaticallySizedRow<ST3, __DB>, T4: FromSqlRow<ST4, __DB> + StaticallySizedRow<ST4, __DB>, T5: FromSqlRow<ST5, __DB> + StaticallySizedRow<ST5, __DB>, T6: FromSqlRow<ST6, __DB> + StaticallySizedRow<ST6, __DB>, T7: FromSqlRow<ST7, __DB> + StaticallySizedRow<ST7, __DB>, T8: FromSqlRow<ST8, __DB> + StaticallySizedRow<ST8, __DB>, T9: FromSqlRow<ST9, __DB> + StaticallySizedRow<ST9, __DB>, T10: FromSqlRow<ST10, __DB> + StaticallySizedRow<ST10, __DB>, T11: FromSqlRow<ST11, __DB> + StaticallySizedRow<ST11, __DB>, T12: FromSqlRow<ST12, __DB> + StaticallySizedRow<ST12, __DB>, T13: FromSqlRow<ST13, __DB> + StaticallySizedRow<ST13, __DB>,

source§

fn build_from_row<'a>(full_row: &impl Row<'a, __DB>) -> Result<Self>

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, ST1, ST2, ST3, ST4, ST5, ST6, ST7, ST8, ST9, ST10, ST11, ST12, ST13, ST14, __DB> FromSqlRow<(ST1, ST2, ST3, ST4, ST5, ST6, ST7, ST8, ST9, ST10, ST11, ST12, ST13, ST14, Untyped), __DB> for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T0)
where __DB: Backend, T0: FromSqlRow<Untyped, __DB>, T1: FromSqlRow<ST1, __DB> + StaticallySizedRow<ST1, __DB>, T2: FromSqlRow<ST2, __DB> + StaticallySizedRow<ST2, __DB>, T3: FromSqlRow<ST3, __DB> + StaticallySizedRow<ST3, __DB>, T4: FromSqlRow<ST4, __DB> + StaticallySizedRow<ST4, __DB>, T5: FromSqlRow<ST5, __DB> + StaticallySizedRow<ST5, __DB>, T6: FromSqlRow<ST6, __DB> + StaticallySizedRow<ST6, __DB>, T7: FromSqlRow<ST7, __DB> + StaticallySizedRow<ST7, __DB>, T8: FromSqlRow<ST8, __DB> + StaticallySizedRow<ST8, __DB>, T9: FromSqlRow<ST9, __DB> + StaticallySizedRow<ST9, __DB>, T10: FromSqlRow<ST10, __DB> + StaticallySizedRow<ST10, __DB>, T11: FromSqlRow<ST11, __DB> + StaticallySizedRow<ST11, __DB>, T12: FromSqlRow<ST12, __DB> + StaticallySizedRow<ST12, __DB>, T13: FromSqlRow<ST13, __DB> + StaticallySizedRow<ST13, __DB>, T14: FromSqlRow<ST14, __DB> + StaticallySizedRow<ST14, __DB>,

source§

fn build_from_row<'a>(full_row: &impl Row<'a, __DB>) -> Result<Self>

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, ST1, ST2, ST3, ST4, ST5, ST6, ST7, ST8, ST9, ST10, ST11, ST12, ST13, ST14, ST15, __DB> FromSqlRow<(ST1, ST2, ST3, ST4, ST5, ST6, ST7, ST8, ST9, ST10, ST11, ST12, ST13, ST14, ST15, Untyped), __DB> for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T0)
where __DB: Backend, T0: FromSqlRow<Untyped, __DB>, T1: FromSqlRow<ST1, __DB> + StaticallySizedRow<ST1, __DB>, T2: FromSqlRow<ST2, __DB> + StaticallySizedRow<ST2, __DB>, T3: FromSqlRow<ST3, __DB> + StaticallySizedRow<ST3, __DB>, T4: FromSqlRow<ST4, __DB> + StaticallySizedRow<ST4, __DB>, T5: FromSqlRow<ST5, __DB> + StaticallySizedRow<ST5, __DB>, T6: FromSqlRow<ST6, __DB> + StaticallySizedRow<ST6, __DB>, T7: FromSqlRow<ST7, __DB> + StaticallySizedRow<ST7, __DB>, T8: FromSqlRow<ST8, __DB> + StaticallySizedRow<ST8, __DB>, T9: FromSqlRow<ST9, __DB> + StaticallySizedRow<ST9, __DB>, T10: FromSqlRow<ST10, __DB> + StaticallySizedRow<ST10, __DB>, T11: FromSqlRow<ST11, __DB> + StaticallySizedRow<ST11, __DB>, T12: FromSqlRow<ST12, __DB> + StaticallySizedRow<ST12, __DB>, T13: FromSqlRow<ST13, __DB> + StaticallySizedRow<ST13, __DB>, T14: FromSqlRow<ST14, __DB> + StaticallySizedRow<ST14, __DB>, T15: FromSqlRow<ST15, __DB> + StaticallySizedRow<ST15, __DB>,

source§

fn build_from_row<'a>(full_row: &impl Row<'a, __DB>) -> Result<Self>

Implementors§

source§

impl<DB, T> FromSqlRow<Untyped, DB> for T
where DB: Backend, T: QueryableByName<DB>,

source§

impl<T, ST, DB> FromSqlRow<ST, DB> for T
where T: Queryable<ST, DB>, ST: SqlTypeOrSelectable, DB: Backend, T::Row: FromStaticSqlRow<ST, DB>,