Trait odbc_iter::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.

Implementations on Foreign Types§

source§

impl TryFromRow<DefaultConfiguration> for ()

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

§

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,)

§

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)

§

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)

§

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)

§

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)

§

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)

§

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)

§

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)

§

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)

§

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, TI), 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>, 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 Twhere T: TryFromColumn<DefaultConfiguration>,

Convert row with single column to any type implementing TryFromColumn.