pub trait ConnectionTrait: Sync {
// Required methods
fn get_database_backend(&self) -> DatabaseBackend;
fn execute_raw<'life0, 'async_trait>(
&'life0 self,
stmt: Statement,
) -> Pin<Box<dyn Future<Output = Result<ExecResult, DbErr>> + Send + 'async_trait>>
where 'life0: 'async_trait,
Self: '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,
Self: 'async_trait;
fn query_one_raw<'life0, 'async_trait>(
&'life0 self,
stmt: Statement,
) -> Pin<Box<dyn Future<Output = Result<Option<QueryResult>, DbErr>> + Send + 'async_trait>>
where 'life0: 'async_trait,
Self: 'async_trait;
fn query_all_raw<'life0, 'async_trait>(
&'life0 self,
stmt: Statement,
) -> Pin<Box<dyn Future<Output = Result<Vec<QueryResult>, DbErr>> + Send + 'async_trait>>
where 'life0: 'async_trait,
Self: 'async_trait;
// Provided methods
fn execute<'life0, 'life1, 'async_trait, S>(
&'life0 self,
stmt: &'life1 S,
) -> Pin<Box<dyn Future<Output = Result<ExecResult, DbErr>> + Send + 'async_trait>>
where 'life0: 'async_trait,
'life1: 'async_trait,
S: 'async_trait + StatementBuilder,
Self: 'async_trait { ... }
fn query_one<'life0, 'life1, 'async_trait, S>(
&'life0 self,
stmt: &'life1 S,
) -> Pin<Box<dyn Future<Output = Result<Option<QueryResult>, DbErr>> + Send + 'async_trait>>
where 'life0: 'async_trait,
'life1: 'async_trait,
S: 'async_trait + StatementBuilder,
Self: 'async_trait { ... }
fn query_all<'life0, 'life1, 'async_trait, S>(
&'life0 self,
stmt: &'life1 S,
) -> Pin<Box<dyn Future<Output = Result<Vec<QueryResult>, DbErr>> + Send + 'async_trait>>
where 'life0: 'async_trait,
'life1: 'async_trait,
S: 'async_trait + StatementBuilder,
Self: 'async_trait { ... }
fn support_returning(&self) -> bool { ... }
fn is_mock_connection(&self) -> bool { ... }
}Expand description
The generic API for a database connection that can perform query or execute statements. It abstracts database connection and transaction
Required Methods§
Sourcefn get_database_backend(&self) -> DatabaseBackend
fn get_database_backend(&self) -> DatabaseBackend
Get the database backend for the connection. This depends on feature flags enabled.
Sourcefn execute_raw<'life0, 'async_trait>(
&'life0 self,
stmt: Statement,
) -> Pin<Box<dyn Future<Output = Result<ExecResult, DbErr>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn execute_raw<'life0, 'async_trait>(
&'life0 self,
stmt: Statement,
) -> Pin<Box<dyn Future<Output = Result<ExecResult, DbErr>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Execute a Statement
Sourcefn 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,
Self: '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,
Self: 'async_trait,
Execute a unprepared Statement
Provided Methods§
Sourcefn execute<'life0, 'life1, 'async_trait, S>(
&'life0 self,
stmt: &'life1 S,
) -> Pin<Box<dyn Future<Output = Result<ExecResult, DbErr>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
S: 'async_trait + StatementBuilder,
Self: 'async_trait,
fn execute<'life0, 'life1, 'async_trait, S>(
&'life0 self,
stmt: &'life1 S,
) -> Pin<Box<dyn Future<Output = Result<ExecResult, DbErr>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
S: 'async_trait + StatementBuilder,
Self: 'async_trait,
Execute a [QueryStatement]
Sourcefn query_one<'life0, 'life1, 'async_trait, S>(
&'life0 self,
stmt: &'life1 S,
) -> Pin<Box<dyn Future<Output = Result<Option<QueryResult>, DbErr>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
S: 'async_trait + StatementBuilder,
Self: 'async_trait,
fn query_one<'life0, 'life1, 'async_trait, S>(
&'life0 self,
stmt: &'life1 S,
) -> Pin<Box<dyn Future<Output = Result<Option<QueryResult>, DbErr>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
S: 'async_trait + StatementBuilder,
Self: 'async_trait,
Execute a [QueryStatement] and return a single row of QueryResult
Sourcefn query_all<'life0, 'life1, 'async_trait, S>(
&'life0 self,
stmt: &'life1 S,
) -> Pin<Box<dyn Future<Output = Result<Vec<QueryResult>, DbErr>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
S: 'async_trait + StatementBuilder,
Self: 'async_trait,
fn query_all<'life0, 'life1, 'async_trait, S>(
&'life0 self,
stmt: &'life1 S,
) -> Pin<Box<dyn Future<Output = Result<Vec<QueryResult>, DbErr>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
S: 'async_trait + StatementBuilder,
Self: 'async_trait,
Execute a [QueryStatement] and return a vector of QueryResult
Sourcefn support_returning(&self) -> bool
fn support_returning(&self) -> bool
Check if the connection supports RETURNING syntax on insert and update
Sourcefn is_mock_connection(&self) -> bool
fn is_mock_connection(&self) -> bool
Check if the connection is a test connection for the Mock database
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.