pub trait Fetch<'r> {
// Required methods
unsafe fn fetch_column<'c>(
statement: &'r Statement<'c>,
column: ColumnIndex,
) -> Self
where 'c: 'r;
unsafe fn fetch_value<'c>(value: &'r ValueRef<'c>) -> Self
where 'c: 'r;
}Expand description
A type that can be read via a sqlite3_column_* or
sqlite3_value_* function.
Required Methods§
Sourceunsafe fn fetch_column<'c>(
statement: &'r Statement<'c>,
column: ColumnIndex,
) -> Selfwhere
'c: 'r,
unsafe fn fetch_column<'c>(
statement: &'r Statement<'c>,
column: ColumnIndex,
) -> Selfwhere
'c: 'r,
Fetch a column value from the statement.
§Safety
Callers are responsible for managing the ffi::Statement lifecycle, and
ensuring the ColumnIndex is in bounds.
From the SQLite reference:
If the SQL statement does not currently point to a valid row, or if the column index is out of range, the result is undefined. These routines may only be called when the most recent call to
sqlite3_stephas returnedSQLITE_ROWand neithersqlite3_resetnorsqlite3_finalizehave been called subsequently.If any of these routines are called after
sqlite3_resetorsqlite3_finalizeor aftersqlite3_stephas returned something other thanSQLITE_ROW, results are undefined. Ifsqlite3_steporsqlite3_resetorsqlite3_finalizeare called from a different thread while any of these routines are pending, then the results are undefined.
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<'r> Fetch<'r> for f64
impl<'r> Fetch<'r> for f64
unsafe fn fetch_column<'c>(
statement: &'r Statement<'c>,
column: ColumnIndex,
) -> Selfwhere
'c: 'r,
Source§unsafe fn fetch_value<'c>(value: &'r ValueRef<'c>) -> Selfwhere
'c: 'r,
unsafe fn fetch_value<'c>(value: &'r ValueRef<'c>) -> Selfwhere
'c: 'r,
functions or value only.Source§impl<'r> Fetch<'r> for i32
impl<'r> Fetch<'r> for i32
unsafe fn fetch_column<'c>(
statement: &'r Statement<'c>,
column: ColumnIndex,
) -> Selfwhere
'c: 'r,
Source§unsafe fn fetch_value<'c>(value: &'r ValueRef<'c>) -> Selfwhere
'c: 'r,
unsafe fn fetch_value<'c>(value: &'r ValueRef<'c>) -> Selfwhere
'c: 'r,
functions or value only.Source§impl<'r> Fetch<'r> for i64
impl<'r> Fetch<'r> for i64
unsafe fn fetch_column<'c>(
statement: &'r Statement<'c>,
column: ColumnIndex,
) -> Selfwhere
'c: 'r,
Source§unsafe fn fetch_value<'c>(value: &'r ValueRef<'c>) -> Selfwhere
'c: 'r,
unsafe fn fetch_value<'c>(value: &'r ValueRef<'c>) -> Selfwhere
'c: 'r,
functions or value only.Source§impl<'r, T> Fetch<'r> for Option<T>where
T: Fetch<'r>,
impl<'r, T> Fetch<'r> for Option<T>where
T: Fetch<'r>,
unsafe fn fetch_column<'c>(
statement: &'r Statement<'c>,
column: ColumnIndex,
) -> Selfwhere
'c: 'r,
Source§unsafe fn fetch_value<'c>(value: &'r ValueRef<'c>) -> Selfwhere
'c: 'r,
unsafe fn fetch_value<'c>(value: &'r ValueRef<'c>) -> Selfwhere
'c: 'r,
functions or value only.Implementors§
impl<'r> Fetch<'r> for Type
impl<'r> Fetch<'r> for Borrowed<'r, str>
impl<'r> Fetch<'r> for Borrowed<'r, [u8]>
impl<'r> Fetch<'r> for OpaqueValueRef<'r>
value only.impl<'r, T: Pointee> Fetch<'r> for Pointer<'r, T>
value only.impl<'r, T: Pointee> Fetch<'r> for PointerMut<'r, T>
value only.