Enum DatabaseConnection  
pub enum DatabaseConnection {
    SqlxSqlitePoolConnection(SqlxSqlitePoolConnection),
    Disconnected,
}Expand description
Handle a database connection depending on the backend enabled by the feature
flags. This creates a database pool. This will be Clone unless the feature
flag mock is enabled.
Variants§
SqlxSqlitePoolConnection(SqlxSqlitePoolConnection)
Create a SQLite database connection and pool
Disconnected
The connection to the database has been severed
Implementations§
§impl DatabaseConnection
 
impl DatabaseConnection
pub fn set_metric_callback<F>(&mut self, _callback: F)
pub fn set_metric_callback<F>(&mut self, _callback: F)
Sets a callback to metric this connection
pub async fn close(self) -> Result<(), DbErr>
pub async fn close(self) -> Result<(), DbErr>
Explicitly close the database connection.
See Self::close_by_ref for usage with references.
pub async fn close_by_ref(&self) -> Result<(), DbErr>
pub async fn close_by_ref(&self) -> Result<(), DbErr>
Explicitly close the database connection
§impl DatabaseConnection
 
impl DatabaseConnection
pub fn get_sqlite_connection_pool(&self) -> &Pool<Sqlite>
pub fn get_sqlite_connection_pool(&self) -> &Pool<Sqlite>
Trait Implementations§
§impl Clone for DatabaseConnection
 
impl Clone for DatabaseConnection
§fn clone(&self) -> DatabaseConnection
 
fn clone(&self) -> DatabaseConnection
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
 
fn clone_from(&mut self, source: &Self)
source. Read more§impl ConnectionTrait for DatabaseConnection
 
impl ConnectionTrait for DatabaseConnection
§fn get_database_backend(&self) -> DatabaseBackend
 
fn get_database_backend(&self) -> DatabaseBackend
§fn execute<'life0, 'async_trait>(
    &'life0 self,
    stmt: Statement,
) -> Pin<Box<dyn Future<Output = Result<ExecResult, DbErr>> + Send + 'async_trait>>where
    'life0: 'async_trait,
    DatabaseConnection: 'async_trait,
 
fn execute<'life0, 'async_trait>(
    &'life0 self,
    stmt: Statement,
) -> Pin<Box<dyn Future<Output = Result<ExecResult, DbErr>> + Send + 'async_trait>>where
    'life0: 'async_trait,
    DatabaseConnection: 'async_trait,
§fn execute_unprepared<'life0, 'life1, 'async_trait>(
    &'life0 self,
    sql: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<ExecResult, DbErr>> + Send + 'async_trait>>where
    'life0: 'async_trait,
    'life1: 'async_trait,
    DatabaseConnection: 'async_trait,
 
fn execute_unprepared<'life0, 'life1, 'async_trait>(
    &'life0 self,
    sql: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<ExecResult, DbErr>> + Send + 'async_trait>>where
    'life0: 'async_trait,
    'life1: 'async_trait,
    DatabaseConnection: 'async_trait,
§fn query_one<'life0, 'async_trait>(
    &'life0 self,
    stmt: Statement,
) -> Pin<Box<dyn Future<Output = Result<Option<QueryResult>, DbErr>> + Send + 'async_trait>>where
    'life0: 'async_trait,
    DatabaseConnection: 'async_trait,
 
fn query_one<'life0, 'async_trait>(
    &'life0 self,
    stmt: Statement,
) -> Pin<Box<dyn Future<Output = Result<Option<QueryResult>, DbErr>> + Send + 'async_trait>>where
    'life0: 'async_trait,
    DatabaseConnection: 'async_trait,
§fn query_all<'life0, 'async_trait>(
    &'life0 self,
    stmt: Statement,
) -> Pin<Box<dyn Future<Output = Result<Vec<QueryResult>, DbErr>> + Send + 'async_trait>>where
    'life0: 'async_trait,
    DatabaseConnection: 'async_trait,
 
fn query_all<'life0, 'async_trait>(
    &'life0 self,
    stmt: Statement,
) -> Pin<Box<dyn Future<Output = Result<Vec<QueryResult>, DbErr>> + Send + 'async_trait>>where
    'life0: 'async_trait,
    DatabaseConnection: 'async_trait,
§fn support_returning(&self) -> bool
 
fn support_returning(&self) -> bool
RETURNING syntax on insert and update§fn is_mock_connection(&self) -> bool
 
fn is_mock_connection(&self) -> bool
§impl Debug for DatabaseConnection
 
impl Debug for DatabaseConnection
§impl Default for DatabaseConnection
 
impl Default for DatabaseConnection
§fn default() -> DatabaseConnection
 
fn default() -> DatabaseConnection
§impl From<Pool<Sqlite>> for DatabaseConnection
 
impl From<Pool<Sqlite>> for DatabaseConnection
§fn from(pool: Pool<Sqlite>) -> DatabaseConnection
 
fn from(pool: Pool<Sqlite>) -> DatabaseConnection
§impl<'c> IntoSchemaManagerConnection<'c> for &'c DatabaseConnection
 
impl<'c> IntoSchemaManagerConnection<'c> for &'c DatabaseConnection
fn into_schema_manager_connection(self) -> SchemaManagerConnection<'c>
§impl StreamTrait for DatabaseConnection
 
impl StreamTrait for DatabaseConnection
§impl TransactionTrait for DatabaseConnection
 
impl TransactionTrait for DatabaseConnection
§fn transaction<'life0, 'async_trait, F, T, E>(
    &'life0 self,
    _callback: F,
) -> Pin<Box<dyn Future<Output = Result<T, TransactionError<E>>> + Send + 'async_trait>>
 
fn transaction<'life0, 'async_trait, F, T, E>( &'life0 self, _callback: F, ) -> Pin<Box<dyn Future<Output = Result<T, TransactionError<E>>> + Send + 'async_trait>>
Execute the function inside a transaction. If the function returns an error, the transaction will be rolled back. If it does not return an error, the transaction will be committed.
§fn transaction_with_config<'life0, 'async_trait, F, T, E>(
    &'life0 self,
    _callback: F,
    _isolation_level: Option<IsolationLevel>,
    _access_mode: Option<AccessMode>,
) -> Pin<Box<dyn Future<Output = Result<T, TransactionError<E>>> + Send + 'async_trait>>
 
fn transaction_with_config<'life0, 'async_trait, F, T, E>( &'life0 self, _callback: F, _isolation_level: Option<IsolationLevel>, _access_mode: Option<AccessMode>, ) -> Pin<Box<dyn Future<Output = Result<T, TransactionError<E>>> + Send + 'async_trait>>
Execute the function inside a transaction. If the function returns an error, the transaction will be rolled back. If it does not return an error, the transaction will be committed.
§fn begin<'life0, 'async_trait>(
    &'life0 self,
) -> Pin<Box<dyn Future<Output = Result<DatabaseTransaction, DbErr>> + Send + 'async_trait>>where
    'life0: 'async_trait,
    DatabaseConnection: 'async_trait,
 
fn begin<'life0, 'async_trait>(
    &'life0 self,
) -> Pin<Box<dyn Future<Output = Result<DatabaseTransaction, DbErr>> + Send + 'async_trait>>where
    'life0: 'async_trait,
    DatabaseConnection: 'async_trait,
BEGIN transaction.
Returns a Transaction that can be committed or rolled back§fn begin_with_config<'life0, 'async_trait>(
    &'life0 self,
    _isolation_level: Option<IsolationLevel>,
    _access_mode: Option<AccessMode>,
) -> Pin<Box<dyn Future<Output = Result<DatabaseTransaction, DbErr>> + Send + 'async_trait>>where
    'life0: 'async_trait,
    DatabaseConnection: 'async_trait,
 
fn begin_with_config<'life0, 'async_trait>(
    &'life0 self,
    _isolation_level: Option<IsolationLevel>,
    _access_mode: Option<AccessMode>,
) -> Pin<Box<dyn Future<Output = Result<DatabaseTransaction, DbErr>> + Send + 'async_trait>>where
    'life0: 'async_trait,
    DatabaseConnection: 'async_trait,
BEGIN transaction with isolation level and/or access mode.
Returns a Transaction that can be committed or rolled backAuto Trait Implementations§
impl Freeze for DatabaseConnection
impl !RefUnwindSafe for DatabaseConnection
impl Send for DatabaseConnection
impl Sync for DatabaseConnection
impl Unpin for DatabaseConnection
impl !UnwindSafe for DatabaseConnection
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
 
impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
 
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
    T: Clone,
 
impl<T> CloneToUninit for Twhere
    T: Clone,
§impl<T> Instrument for T
 
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
 
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
 
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
 
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
 
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
 
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more