Trait sqlx_oldapi::prelude::Row
source · pub trait Row: Sealed + Unpin + Send + Sync + 'static {
type Database: Database;
// Required methods
fn columns(&self) -> &[<Self::Database as Database>::Column];
fn try_get_raw<I>(
&self,
index: I
) -> Result<<Self::Database as HasValueRef<'_>>::ValueRef, Error>
where I: ColumnIndex<Self>;
// Provided methods
fn is_empty(&self) -> bool { ... }
fn len(&self) -> usize { ... }
fn column<I>(&self, index: I) -> &<Self::Database as Database>::Column
where I: ColumnIndex<Self> { ... }
fn try_column<I>(
&self,
index: I
) -> Result<&<Self::Database as Database>::Column, Error>
where I: ColumnIndex<Self> { ... }
fn get<'r, T, I>(&'r self, index: I) -> T
where I: ColumnIndex<Self>,
T: Decode<'r, Self::Database> + Type<Self::Database> { ... }
fn get_unchecked<'r, T, I>(&'r self, index: I) -> T
where I: ColumnIndex<Self>,
T: Decode<'r, Self::Database> { ... }
fn try_get<'r, T, I>(&'r self, index: I) -> Result<T, Error>
where I: ColumnIndex<Self>,
T: Decode<'r, Self::Database> + Type<Self::Database> { ... }
fn try_get_unchecked<'r, T, I>(&'r self, index: I) -> Result<T, Error>
where I: ColumnIndex<Self>,
T: Decode<'r, Self::Database> { ... }
}Expand description
Represents a single row from the database.
This trait is sealed and cannot be implemented for types outside of SQLx.
Required Associated Types§
Required Methods§
sourcefn columns(&self) -> &[<Self::Database as Database>::Column]
fn columns(&self) -> &[<Self::Database as Database>::Column]
Gets all columns in this statement.
sourcefn try_get_raw<I>(
&self,
index: I
) -> Result<<Self::Database as HasValueRef<'_>>::ValueRef, Error>where
I: ColumnIndex<Self>,
fn try_get_raw<I>(
&self,
index: I
) -> Result<<Self::Database as HasValueRef<'_>>::ValueRef, Error>where
I: ColumnIndex<Self>,
Index into the database row and decode a single value.
Errors
ColumnNotFoundif the column by the given name was not found.ColumnIndexOutOfBoundsif theusizeindex was greater than the number of columns in the row.
Provided Methods§
sourcefn column<I>(&self, index: I) -> &<Self::Database as Database>::Columnwhere
I: ColumnIndex<Self>,
fn column<I>(&self, index: I) -> &<Self::Database as Database>::Columnwhere
I: ColumnIndex<Self>,
Gets the column information at index.
A string index can be used to access a column by name and a usize index
can be used to access a column by position.
Panics
Panics if index is out of bounds.
See try_column for a non-panicking version.
sourcefn try_column<I>(
&self,
index: I
) -> Result<&<Self::Database as Database>::Column, Error>where
I: ColumnIndex<Self>,
fn try_column<I>(
&self,
index: I
) -> Result<&<Self::Database as Database>::Column, Error>where
I: ColumnIndex<Self>,
Gets the column information at index or None if out of bounds.
sourcefn get<'r, T, I>(&'r self, index: I) -> T
fn get<'r, T, I>(&'r self, index: I) -> T
Index into the database row and decode a single value.
A string index can be used to access a column by name and a usize index
can be used to access a column by position.
Panics
Panics if the column does not exist or its value cannot be decoded into the requested type.
See try_get for a non-panicking version.
sourcefn get_unchecked<'r, T, I>(&'r self, index: I) -> T
fn get_unchecked<'r, T, I>(&'r self, index: I) -> T
Index into the database row and decode a single value.
Unlike get, this method does not check that the type
being returned from the database is compatible with the Rust type and blindly tries
to decode the value.
Panics
Panics if the column does not exist or its value cannot be decoded into the requested type.
See try_get_unchecked for a non-panicking version.
sourcefn try_get<'r, T, I>(&'r self, index: I) -> Result<T, Error>
fn try_get<'r, T, I>(&'r self, index: I) -> Result<T, Error>
Index into the database row and decode a single value.
A string index can be used to access a column by name and a usize index
can be used to access a column by position.
Errors
ColumnNotFoundif the column by the given name was not found.ColumnIndexOutOfBoundsif theusizeindex was greater than the number of columns in the row.ColumnDecodeif the value could not be decoded into the requested type.
sourcefn try_get_unchecked<'r, T, I>(&'r self, index: I) -> Result<T, Error>
fn try_get_unchecked<'r, T, I>(&'r self, index: I) -> Result<T, Error>
Index into the database row and decode a single value.
Unlike try_get, this method does not check that the type
being returned from the database is compatible with the Rust type and blindly tries
to decode the value.
Errors
ColumnNotFoundif the column by the given name was not found.ColumnIndexOutOfBoundsif theusizeindex was greater than the number of columns in the row.ColumnDecodeif the value could not be decoded into the requested type.