TryFromRow

Trait TryFromRow 

Source
pub trait TryFromRow<C: Configuration>: Sized {
    type Error: Error + 'static;

    // Required method
    fn try_from_row<'r, 's, 'c, S>(
        row: Row<'r, 's, 'c, S, C>,
    ) -> Result<Self, Self::Error>;
}
Expand description

This traits allow for conversion of Row type representing ODBC cursor used internally by ResultSet iterator to any other type returned as Item that implements it.

This trait is implemented for Rust tuple type enabling conversion of rows to tuples of types implementing TryFromValue. Also this trait implementation allows to convert single column rows to types implementing TryFromColumn.

This trait can be implemented for custom objects. This will enable them to be queried directly from database as Item of ResultSet iterator.

Required Associated Types§

Source

type Error: Error + 'static

Required Methods§

Source

fn try_from_row<'r, 's, 'c, S>( row: Row<'r, 's, 'c, S, C>, ) -> Result<Self, Self::Error>

Given ColumnType convert from Row to other type of value representing table row.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl TryFromRow<DefaultConfiguration> for ()

Unit can be used to signal that no rows of data should be produced.

Source§

type Error = RowConvertError

Source§

fn try_from_row<'r, 's, 'c, S>( _row: Row<'r, 's, 'c, S, DefaultConfiguration>, ) -> Result<Self, Self::Error>

Source§

impl<C: Configuration, TA: TryFromColumn<C>> TryFromRow<C> for (TA,)

Source§

type Error = RowConvertTupleError

Source§

fn try_from_row<'r, 's, 'c, S>( row: Row<'r, 's, 'c, S, C>, ) -> Result<(TA,), Self::Error>

Source§

impl<C: Configuration, TA: TryFromColumn<C>, TB: TryFromColumn<C>> TryFromRow<C> for (TA, TB)

Source§

type Error = RowConvertTupleError

Source§

fn try_from_row<'r, 's, 'c, S>( row: Row<'r, 's, 'c, S, C>, ) -> Result<(TA, TB), Self::Error>

Source§

impl<C: Configuration, TA: TryFromColumn<C>, TB: TryFromColumn<C>, TC: TryFromColumn<C>> TryFromRow<C> for (TA, TB, TC)

Source§

type Error = RowConvertTupleError

Source§

fn try_from_row<'r, 's, 'c, S>( row: Row<'r, 's, 'c, S, C>, ) -> Result<(TA, TB, TC), Self::Error>

Source§

impl<C: Configuration, TA: TryFromColumn<C>, TB: TryFromColumn<C>, TC: TryFromColumn<C>, TD: TryFromColumn<C>> TryFromRow<C> for (TA, TB, TC, TD)

Source§

type Error = RowConvertTupleError

Source§

fn try_from_row<'r, 's, 'c, S>( row: Row<'r, 's, 'c, S, C>, ) -> Result<(TA, TB, TC, TD), Self::Error>

Source§

impl<C: Configuration, TA: TryFromColumn<C>, TB: TryFromColumn<C>, TC: TryFromColumn<C>, TD: TryFromColumn<C>, TE: TryFromColumn<C>> TryFromRow<C> for (TA, TB, TC, TD, TE)

Source§

type Error = RowConvertTupleError

Source§

fn try_from_row<'r, 's, 'c, S>( row: Row<'r, 's, 'c, S, C>, ) -> Result<(TA, TB, TC, TD, TE), Self::Error>

Source§

impl<C: Configuration, TA: TryFromColumn<C>, TB: TryFromColumn<C>, TC: TryFromColumn<C>, TD: TryFromColumn<C>, TE: TryFromColumn<C>, TF: TryFromColumn<C>> TryFromRow<C> for (TA, TB, TC, TD, TE, TF)

Source§

type Error = RowConvertTupleError

Source§

fn try_from_row<'r, 's, 'c, S>( row: Row<'r, 's, 'c, S, C>, ) -> Result<(TA, TB, TC, TD, TE, TF), Self::Error>

Source§

impl<C: Configuration, TA: TryFromColumn<C>, TB: TryFromColumn<C>, TC: TryFromColumn<C>, TD: TryFromColumn<C>, TE: TryFromColumn<C>, TF: TryFromColumn<C>, TG: TryFromColumn<C>> TryFromRow<C> for (TA, TB, TC, TD, TE, TF, TG)

Source§

type Error = RowConvertTupleError

Source§

fn try_from_row<'r, 's, 'c, S>( row: Row<'r, 's, 'c, S, C>, ) -> Result<(TA, TB, TC, TD, TE, TF, TG), Self::Error>

Source§

impl<C: Configuration, TA: TryFromColumn<C>, TB: TryFromColumn<C>, TC: TryFromColumn<C>, TD: TryFromColumn<C>, TE: TryFromColumn<C>, TF: TryFromColumn<C>, TG: TryFromColumn<C>, TH: TryFromColumn<C>> TryFromRow<C> for (TA, TB, TC, TD, TE, TF, TG, TH)

Source§

type Error = RowConvertTupleError

Source§

fn try_from_row<'r, 's, 'c, S>( row: Row<'r, 's, 'c, S, C>, ) -> Result<(TA, TB, TC, TD, TE, TF, TG, TH), Self::Error>

Source§

impl<C: Configuration, TA: TryFromColumn<C>, TB: TryFromColumn<C>, TC: TryFromColumn<C>, TD: TryFromColumn<C>, TE: TryFromColumn<C>, TF: TryFromColumn<C>, TG: TryFromColumn<C>, TH: TryFromColumn<C>, TI: TryFromColumn<C>> TryFromRow<C> for (TA, TB, TC, TD, TE, TF, TG, TH, TI)

Source§

impl<C: Configuration, TA: TryFromColumn<C>, TB: TryFromColumn<C>, TC: TryFromColumn<C>, TD: TryFromColumn<C>, TE: TryFromColumn<C>, TF: TryFromColumn<C>, TG: TryFromColumn<C>, TH: TryFromColumn<C>, TI: TryFromColumn<C>, TJ: TryFromColumn<C>> TryFromRow<C> for (TA, TB, TC, TD, TE, TF, TG, TH, TI, TJ)

Source§

impl<C: Configuration, TA: TryFromColumn<C>, TB: TryFromColumn<C>, TC: TryFromColumn<C>, TD: TryFromColumn<C>, TE: TryFromColumn<C>, TF: TryFromColumn<C>, TG: TryFromColumn<C>, TH: TryFromColumn<C>, TI: TryFromColumn<C>, TJ: TryFromColumn<C>, TK: TryFromColumn<C>> TryFromRow<C> for (TA, TB, TC, TD, TE, TF, TG, TH, TI, TJ, TK)

Source§

impl<C: Configuration, TA: TryFromColumn<C>, TB: TryFromColumn<C>, TC: TryFromColumn<C>, TD: TryFromColumn<C>, TE: TryFromColumn<C>, TF: TryFromColumn<C>, TG: TryFromColumn<C>, TH: TryFromColumn<C>, TI: TryFromColumn<C>, TJ: TryFromColumn<C>, TK: TryFromColumn<C>, TL: TryFromColumn<C>> TryFromRow<C> for (TA, TB, TC, TD, TE, TF, TG, TH, TI, TJ, TK, TL)

Source§

impl<C: Configuration, TA: TryFromColumn<C>, TB: TryFromColumn<C>, TC: TryFromColumn<C>, TD: TryFromColumn<C>, TE: TryFromColumn<C>, TF: TryFromColumn<C>, TG: TryFromColumn<C>, TH: TryFromColumn<C>, TI: TryFromColumn<C>, TJ: TryFromColumn<C>, TK: TryFromColumn<C>, TL: TryFromColumn<C>, TM: TryFromColumn<C>> TryFromRow<C> for (TA, TB, TC, TD, TE, TF, TG, TH, TI, TJ, TK, TL, TM)

Source§

impl<C: Configuration, TA: TryFromColumn<C>, TB: TryFromColumn<C>, TC: TryFromColumn<C>, TD: TryFromColumn<C>, TE: TryFromColumn<C>, TF: TryFromColumn<C>, TG: TryFromColumn<C>, TH: TryFromColumn<C>, TI: TryFromColumn<C>, TJ: TryFromColumn<C>, TK: TryFromColumn<C>, TL: TryFromColumn<C>, TM: TryFromColumn<C>, TN: TryFromColumn<C>> TryFromRow<C> for (TA, TB, TC, TD, TE, TF, TG, TH, TI, TJ, TK, TL, TM, TN)

Source§

impl<C: Configuration, TA: TryFromColumn<C>, TB: TryFromColumn<C>, TC: TryFromColumn<C>, TD: TryFromColumn<C>, TE: TryFromColumn<C>, TF: TryFromColumn<C>, TG: TryFromColumn<C>, TH: TryFromColumn<C>, TI: TryFromColumn<C>, TJ: TryFromColumn<C>, TK: TryFromColumn<C>, TL: TryFromColumn<C>, TM: TryFromColumn<C>, TN: TryFromColumn<C>, TO: TryFromColumn<C>> TryFromRow<C> for (TA, TB, TC, TD, TE, TF, TG, TH, TI, TJ, TK, TL, TM, TN, TO)

Source§

impl<C: Configuration, TA: TryFromColumn<C>, TB: TryFromColumn<C>, TC: TryFromColumn<C>, TD: TryFromColumn<C>, TE: TryFromColumn<C>, TF: TryFromColumn<C>, TG: TryFromColumn<C>, TH: TryFromColumn<C>, TI: TryFromColumn<C>, TJ: TryFromColumn<C>, TK: TryFromColumn<C>, TL: TryFromColumn<C>, TM: TryFromColumn<C>, TN: TryFromColumn<C>, TO: TryFromColumn<C>, TP: TryFromColumn<C>> TryFromRow<C> for (TA, TB, TC, TD, TE, TF, TG, TH, TI, TJ, TK, TL, TM, TN, TO, TP)

Source§

impl<C: Configuration, TA: TryFromColumn<C>, TB: TryFromColumn<C>, TC: TryFromColumn<C>, TD: TryFromColumn<C>, TE: TryFromColumn<C>, TF: TryFromColumn<C>, TG: TryFromColumn<C>, TH: TryFromColumn<C>, TI: TryFromColumn<C>, TJ: TryFromColumn<C>, TK: TryFromColumn<C>, TL: TryFromColumn<C>, TM: TryFromColumn<C>, TN: TryFromColumn<C>, TO: TryFromColumn<C>, TP: TryFromColumn<C>, TQ: TryFromColumn<C>> TryFromRow<C> for (TA, TB, TC, TD, TE, TF, TG, TH, TI, TJ, TK, TL, TM, TN, TO, TP, TQ)

Source§

impl<C: Configuration, TA: TryFromColumn<C>, TB: TryFromColumn<C>, TC: TryFromColumn<C>, TD: TryFromColumn<C>, TE: TryFromColumn<C>, TF: TryFromColumn<C>, TG: TryFromColumn<C>, TH: TryFromColumn<C>, TI: TryFromColumn<C>, TJ: TryFromColumn<C>, TK: TryFromColumn<C>, TL: TryFromColumn<C>, TM: TryFromColumn<C>, TN: TryFromColumn<C>, TO: TryFromColumn<C>, TP: TryFromColumn<C>, TQ: TryFromColumn<C>, TR: TryFromColumn<C>> TryFromRow<C> for (TA, TB, TC, TD, TE, TF, TG, TH, TI, TJ, TK, TL, TM, TN, TO, TP, TQ, TR)

Source§

impl<C: Configuration, TA: TryFromColumn<C>, TB: TryFromColumn<C>, TC: TryFromColumn<C>, TD: TryFromColumn<C>, TE: TryFromColumn<C>, TF: TryFromColumn<C>, TG: TryFromColumn<C>, TH: TryFromColumn<C>, TI: TryFromColumn<C>, TJ: TryFromColumn<C>, TK: TryFromColumn<C>, TL: TryFromColumn<C>, TM: TryFromColumn<C>, TN: TryFromColumn<C>, TO: TryFromColumn<C>, TP: TryFromColumn<C>, TQ: TryFromColumn<C>, TR: TryFromColumn<C>, TS: TryFromColumn<C>> TryFromRow<C> for (TA, TB, TC, TD, TE, TF, TG, TH, TI, TJ, TK, TL, TM, TN, TO, TP, TQ, TR, TS)

Source§

impl<C: Configuration, TA: TryFromColumn<C>, TB: TryFromColumn<C>, TC: TryFromColumn<C>, TD: TryFromColumn<C>, TE: TryFromColumn<C>, TF: TryFromColumn<C>, TG: TryFromColumn<C>, TH: TryFromColumn<C>, TI: TryFromColumn<C>, TJ: TryFromColumn<C>, TK: TryFromColumn<C>, TL: TryFromColumn<C>, TM: TryFromColumn<C>, TN: TryFromColumn<C>, TO: TryFromColumn<C>, TP: TryFromColumn<C>, TQ: TryFromColumn<C>, TR: TryFromColumn<C>, TS: TryFromColumn<C>, TT: TryFromColumn<C>> TryFromRow<C> for (TA, TB, TC, TD, TE, TF, TG, TH, TI, TJ, TK, TL, TM, TN, TO, TP, TQ, TR, TS, TT)

Source§

impl<C: Configuration, TA: TryFromColumn<C>, TB: TryFromColumn<C>, TC: TryFromColumn<C>, TD: TryFromColumn<C>, TE: TryFromColumn<C>, TF: TryFromColumn<C>, TG: TryFromColumn<C>, TH: TryFromColumn<C>, TI: TryFromColumn<C>, TJ: TryFromColumn<C>, TK: TryFromColumn<C>, TL: TryFromColumn<C>, TM: TryFromColumn<C>, TN: TryFromColumn<C>, TO: TryFromColumn<C>, TP: TryFromColumn<C>, TQ: TryFromColumn<C>, TR: TryFromColumn<C>, TS: TryFromColumn<C>, TT: TryFromColumn<C>, TU: TryFromColumn<C>> TryFromRow<C> for (TA, TB, TC, TD, TE, TF, TG, TH, TI, TJ, TK, TL, TM, TN, TO, TP, TQ, TR, TS, TT, TU)

Source§

impl<C: Configuration, TA: TryFromColumn<C>, TB: TryFromColumn<C>, TC: TryFromColumn<C>, TD: TryFromColumn<C>, TE: TryFromColumn<C>, TF: TryFromColumn<C>, TG: TryFromColumn<C>, TH: TryFromColumn<C>, TI: TryFromColumn<C>, TJ: TryFromColumn<C>, TK: TryFromColumn<C>, TL: TryFromColumn<C>, TM: TryFromColumn<C>, TN: TryFromColumn<C>, TO: TryFromColumn<C>, TP: TryFromColumn<C>, TQ: TryFromColumn<C>, TR: TryFromColumn<C>, TS: TryFromColumn<C>, TT: TryFromColumn<C>, TU: TryFromColumn<C>, TV: TryFromColumn<C>> TryFromRow<C> for (TA, TB, TC, TD, TE, TF, TG, TH, TI, TJ, TK, TL, TM, TN, TO, TP, TQ, TR, TS, TT, TU, TV)

Source§

impl<C: Configuration, TA: TryFromColumn<C>, TB: TryFromColumn<C>, TC: TryFromColumn<C>, TD: TryFromColumn<C>, TE: TryFromColumn<C>, TF: TryFromColumn<C>, TG: TryFromColumn<C>, TH: TryFromColumn<C>, TI: TryFromColumn<C>, TJ: TryFromColumn<C>, TK: TryFromColumn<C>, TL: TryFromColumn<C>, TM: TryFromColumn<C>, TN: TryFromColumn<C>, TO: TryFromColumn<C>, TP: TryFromColumn<C>, TQ: TryFromColumn<C>, TR: TryFromColumn<C>, TS: TryFromColumn<C>, TT: TryFromColumn<C>, TU: TryFromColumn<C>, TV: TryFromColumn<C>, TW: TryFromColumn<C>> TryFromRow<C> for (TA, TB, TC, TD, TE, TF, TG, TH, TI, TJ, TK, TL, TM, TN, TO, TP, TQ, TR, TS, TT, TU, TV, TW)

Source§

impl<C: Configuration, TA: TryFromColumn<C>, TB: TryFromColumn<C>, TC: TryFromColumn<C>, TD: TryFromColumn<C>, TE: TryFromColumn<C>, TF: TryFromColumn<C>, TG: TryFromColumn<C>, TH: TryFromColumn<C>, TI: TryFromColumn<C>, TJ: TryFromColumn<C>, TK: TryFromColumn<C>, TL: TryFromColumn<C>, TM: TryFromColumn<C>, TN: TryFromColumn<C>, TO: TryFromColumn<C>, TP: TryFromColumn<C>, TQ: TryFromColumn<C>, TR: TryFromColumn<C>, TS: TryFromColumn<C>, TT: TryFromColumn<C>, TU: TryFromColumn<C>, TV: TryFromColumn<C>, TW: TryFromColumn<C>, TY: TryFromColumn<C>> TryFromRow<C> for (TA, TB, TC, TD, TE, TF, TG, TH, TI, TJ, TK, TL, TM, TN, TO, TP, TQ, TR, TS, TT, TU, TV, TW, TY)

Implementors§

Source§

impl TryFromRow<DefaultConfiguration> for ValueRow

Source§

impl<T> TryFromRow<DefaultConfiguration> for T

Convert row with single column to any type implementing TryFromColumn.