Skip to main content

FromDrizzleRow

Trait FromDrizzleRow 

Source
pub trait FromDrizzleRow<Row: ?Sized>: Sized {
    const COLUMN_COUNT: usize;

    // Required method
    fn from_row_at(row: &Row, offset: usize) -> Result<Self, DrizzleError>;

    // Provided method
    fn from_row(row: &Row) -> Result<Self, DrizzleError> { ... }
}
Expand description

Extracts a Rust value from a database row at a given column offset.

Unlike TryFrom<Row>, supports offset-based reading so joined results can split a single row across multiple model types.

Tuple impls compose: (A, B) reads A at offset, then B at offset + A::COLUMN_COUNT.

Required Associated Constants§

Source

const COLUMN_COUNT: usize

Number of columns this type reads from the row.

Required Methods§

Source

fn from_row_at(row: &Row, offset: usize) -> Result<Self, DrizzleError>

Read this type from row starting at column offset.

§Errors

Returns an error if any column from offset through offset + COLUMN_COUNT - 1 cannot be read or converted.

Provided Methods§

Source

fn from_row(row: &Row) -> Result<Self, DrizzleError>

Read from offset 0.

§Errors

Returns an error if the row cannot be decoded — see Self::from_row_at.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl<__Row: ?Sized, T0: FromDrizzleRow<__Row>, T1: FromDrizzleRow<__Row>, T2: FromDrizzleRow<__Row>, T3: FromDrizzleRow<__Row>, T4: FromDrizzleRow<__Row>, T5: FromDrizzleRow<__Row>, T6: FromDrizzleRow<__Row>, T7: FromDrizzleRow<__Row>, T8: FromDrizzleRow<__Row>, T9: FromDrizzleRow<__Row>, T10: FromDrizzleRow<__Row>, T11: FromDrizzleRow<__Row>, T12: FromDrizzleRow<__Row>, T13: FromDrizzleRow<__Row>, T14: FromDrizzleRow<__Row>, T15: FromDrizzleRow<__Row>> FromDrizzleRow<__Row> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)

Source§

impl<__Row: ?Sized, T0: FromDrizzleRow<__Row>, T1: FromDrizzleRow<__Row>, T2: FromDrizzleRow<__Row>, T3: FromDrizzleRow<__Row>, T4: FromDrizzleRow<__Row>, T5: FromDrizzleRow<__Row>, T6: FromDrizzleRow<__Row>, T7: FromDrizzleRow<__Row>, T8: FromDrizzleRow<__Row>, T9: FromDrizzleRow<__Row>, T10: FromDrizzleRow<__Row>, T11: FromDrizzleRow<__Row>, T12: FromDrizzleRow<__Row>, T13: FromDrizzleRow<__Row>, T14: FromDrizzleRow<__Row>> FromDrizzleRow<__Row> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)

Source§

impl<__Row: ?Sized, T0: FromDrizzleRow<__Row>, T1: FromDrizzleRow<__Row>, T2: FromDrizzleRow<__Row>, T3: FromDrizzleRow<__Row>, T4: FromDrizzleRow<__Row>, T5: FromDrizzleRow<__Row>, T6: FromDrizzleRow<__Row>, T7: FromDrizzleRow<__Row>, T8: FromDrizzleRow<__Row>, T9: FromDrizzleRow<__Row>, T10: FromDrizzleRow<__Row>, T11: FromDrizzleRow<__Row>, T12: FromDrizzleRow<__Row>, T13: FromDrizzleRow<__Row>> FromDrizzleRow<__Row> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)

Source§

impl<__Row: ?Sized, T0: FromDrizzleRow<__Row>, T1: FromDrizzleRow<__Row>, T2: FromDrizzleRow<__Row>, T3: FromDrizzleRow<__Row>, T4: FromDrizzleRow<__Row>, T5: FromDrizzleRow<__Row>, T6: FromDrizzleRow<__Row>, T7: FromDrizzleRow<__Row>, T8: FromDrizzleRow<__Row>, T9: FromDrizzleRow<__Row>, T10: FromDrizzleRow<__Row>, T11: FromDrizzleRow<__Row>, T12: FromDrizzleRow<__Row>> FromDrizzleRow<__Row> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)

Source§

impl<__Row: ?Sized, T0: FromDrizzleRow<__Row>, T1: FromDrizzleRow<__Row>, T2: FromDrizzleRow<__Row>, T3: FromDrizzleRow<__Row>, T4: FromDrizzleRow<__Row>, T5: FromDrizzleRow<__Row>, T6: FromDrizzleRow<__Row>, T7: FromDrizzleRow<__Row>, T8: FromDrizzleRow<__Row>, T9: FromDrizzleRow<__Row>, T10: FromDrizzleRow<__Row>, T11: FromDrizzleRow<__Row>> FromDrizzleRow<__Row> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)

Source§

impl<__Row: ?Sized, T0: FromDrizzleRow<__Row>, T1: FromDrizzleRow<__Row>, T2: FromDrizzleRow<__Row>, T3: FromDrizzleRow<__Row>, T4: FromDrizzleRow<__Row>, T5: FromDrizzleRow<__Row>, T6: FromDrizzleRow<__Row>, T7: FromDrizzleRow<__Row>, T8: FromDrizzleRow<__Row>, T9: FromDrizzleRow<__Row>, T10: FromDrizzleRow<__Row>> FromDrizzleRow<__Row> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)

Source§

impl<__Row: ?Sized, T0: FromDrizzleRow<__Row>, T1: FromDrizzleRow<__Row>, T2: FromDrizzleRow<__Row>, T3: FromDrizzleRow<__Row>, T4: FromDrizzleRow<__Row>, T5: FromDrizzleRow<__Row>, T6: FromDrizzleRow<__Row>, T7: FromDrizzleRow<__Row>, T8: FromDrizzleRow<__Row>, T9: FromDrizzleRow<__Row>> FromDrizzleRow<__Row> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)

Source§

impl<__Row: ?Sized, T0: FromDrizzleRow<__Row>, T1: FromDrizzleRow<__Row>, T2: FromDrizzleRow<__Row>, T3: FromDrizzleRow<__Row>, T4: FromDrizzleRow<__Row>, T5: FromDrizzleRow<__Row>, T6: FromDrizzleRow<__Row>, T7: FromDrizzleRow<__Row>, T8: FromDrizzleRow<__Row>> FromDrizzleRow<__Row> for (T0, T1, T2, T3, T4, T5, T6, T7, T8)

Source§

impl<__Row: ?Sized, T0: FromDrizzleRow<__Row>, T1: FromDrizzleRow<__Row>, T2: FromDrizzleRow<__Row>, T3: FromDrizzleRow<__Row>, T4: FromDrizzleRow<__Row>, T5: FromDrizzleRow<__Row>, T6: FromDrizzleRow<__Row>, T7: FromDrizzleRow<__Row>> FromDrizzleRow<__Row> for (T0, T1, T2, T3, T4, T5, T6, T7)

Source§

impl<__Row: ?Sized, T0: FromDrizzleRow<__Row>, T1: FromDrizzleRow<__Row>, T2: FromDrizzleRow<__Row>, T3: FromDrizzleRow<__Row>, T4: FromDrizzleRow<__Row>, T5: FromDrizzleRow<__Row>, T6: FromDrizzleRow<__Row>> FromDrizzleRow<__Row> for (T0, T1, T2, T3, T4, T5, T6)

Source§

impl<__Row: ?Sized, T0: FromDrizzleRow<__Row>, T1: FromDrizzleRow<__Row>, T2: FromDrizzleRow<__Row>, T3: FromDrizzleRow<__Row>, T4: FromDrizzleRow<__Row>, T5: FromDrizzleRow<__Row>> FromDrizzleRow<__Row> for (T0, T1, T2, T3, T4, T5)

Source§

impl<__Row: ?Sized, T0: FromDrizzleRow<__Row>, T1: FromDrizzleRow<__Row>, T2: FromDrizzleRow<__Row>, T3: FromDrizzleRow<__Row>, T4: FromDrizzleRow<__Row>> FromDrizzleRow<__Row> for (T0, T1, T2, T3, T4)

Source§

impl<__Row: ?Sized, T0: FromDrizzleRow<__Row>, T1: FromDrizzleRow<__Row>, T2: FromDrizzleRow<__Row>, T3: FromDrizzleRow<__Row>> FromDrizzleRow<__Row> for (T0, T1, T2, T3)

Source§

impl<__Row: ?Sized, T0: FromDrizzleRow<__Row>, T1: FromDrizzleRow<__Row>, T2: FromDrizzleRow<__Row>> FromDrizzleRow<__Row> for (T0, T1, T2)

Source§

impl<__Row: ?Sized, T0: FromDrizzleRow<__Row>, T1: FromDrizzleRow<__Row>> FromDrizzleRow<__Row> for (T0, T1)

Source§

impl<__Row: ?Sized, T0: FromDrizzleRow<__Row>> FromDrizzleRow<__Row> for (T0,)

Implementors§