pub trait FromSQLiteValue: Sized {
// Required methods
fn from_sqlite_integer(value: i64) -> Result<Self, DrizzleError>;
fn from_sqlite_text(value: &str) -> Result<Self, DrizzleError>;
fn from_sqlite_real(value: f64) -> Result<Self, DrizzleError>;
fn from_sqlite_blob(value: &[u8]) -> Result<Self, DrizzleError>;
// Provided methods
fn from_sqlite_ref(value: SQLiteValueRef<'_>) -> Result<Self, DrizzleError> { ... }
fn from_sqlite_null() -> Result<Self, DrizzleError> { ... }
}Expand description
Decodes a Rust value from a SQLite value.
SQLite has five storage classes (NULL, INTEGER, REAL, TEXT, BLOB), and
this trait has one method per class. Return
DrizzleError::ConversionError from the ones your type does not
accept. NULL is rejected unless you override
from_sqlite_null, as Option<T> does.
Every DrizzleSQLiteColumn type (including #[derive(SQLiteEnum)]
enums) gets this trait through a blanket impl, so implement
DrizzleSQLiteColumn instead when the type is also used as a column.
Required Methods§
Sourcefn from_sqlite_integer(value: i64) -> Result<Self, DrizzleError>
fn from_sqlite_integer(value: i64) -> Result<Self, DrizzleError>
Decodes an INTEGER.
§Errors
Returns DrizzleError::ConversionError if value cannot be represented as Self.
Sourcefn from_sqlite_text(value: &str) -> Result<Self, DrizzleError>
fn from_sqlite_text(value: &str) -> Result<Self, DrizzleError>
Decodes a TEXT value.
§Errors
Returns DrizzleError::ConversionError if value cannot be parsed or represented as Self.
Sourcefn from_sqlite_real(value: f64) -> Result<Self, DrizzleError>
fn from_sqlite_real(value: f64) -> Result<Self, DrizzleError>
Decodes a REAL value.
§Errors
Returns DrizzleError::ConversionError if value cannot be represented as Self.
Sourcefn from_sqlite_blob(value: &[u8]) -> Result<Self, DrizzleError>
fn from_sqlite_blob(value: &[u8]) -> Result<Self, DrizzleError>
Decodes a BLOB.
§Errors
Returns DrizzleError::ConversionError if value cannot be interpreted as Self.
Provided Methods§
Sourcefn from_sqlite_ref(value: SQLiteValueRef<'_>) -> Result<Self, DrizzleError>
fn from_sqlite_ref(value: SQLiteValueRef<'_>) -> Result<Self, DrizzleError>
Decodes any borrowed value by calling the method for its storage class.
§Errors
Returns DrizzleError::ConversionError if value cannot be
represented as Self.
Sourcefn from_sqlite_null() -> Result<Self, DrizzleError>
fn from_sqlite_null() -> Result<Self, DrizzleError>
Decodes NULL.
§Errors
The default implementation always returns DrizzleError::ConversionError;
override for nullable-aware types (e.g. Option).
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".