pub trait Row<'a, DB: Backend>: RowIndex<usize> + for<'b> RowIndex<&'b str> + for<'b> RowGatWorkaround<'b, DB> + Sized {
type InnerPartialRow: Row<'a, DB>;
// Required methods
fn field_count(&self) -> usize;
fn get<'b, I>(&'b self, idx: I) -> Option<FieldRet<'b, Self, DB>>
where Self: RowIndex<I>,
'a: 'b;
fn partial_row(
&self,
range: Range<usize>
) -> PartialRow<'_, Self::InnerPartialRow>;
// Provided method
fn get_value<ST, T, I>(&self, idx: I) -> Result<T>
where Self: RowIndex<I>,
T: FromSql<ST, DB> { ... }
}
Expand description
Represents a single database row.
This trait is used as an argument to FromSqlRow
.
Required Associated Types§
sourcetype InnerPartialRow: Row<'a, DB>
type InnerPartialRow: Row<'a, DB>
Return type of PartialRow
For all implementations, beside of the Row
implementation on PartialRow
itself
this should be Self
.
Required Methods§
sourcefn field_count(&self) -> usize
fn field_count(&self) -> usize
Get the number of fields in the current row
sourcefn get<'b, I>(&'b self, idx: I) -> Option<FieldRet<'b, Self, DB>>where
Self: RowIndex<I>,
'a: 'b,
fn get<'b, I>(&'b self, idx: I) -> Option<FieldRet<'b, Self, DB>>where Self: RowIndex<I>, 'a: 'b,
Get the field with the provided index from the row.
Returns None
if there is no matching field for the given index
sourcefn partial_row(
&self,
range: Range<usize>
) -> PartialRow<'_, Self::InnerPartialRow>
fn partial_row( &self, range: Range<usize> ) -> PartialRow<'_, Self::InnerPartialRow>
Returns a wrapping row that allows only to access fields, where the index is part of the provided range.