pub trait ConnectionTrait {
// Required methods
fn get_database_backend(&self) -> DbBackend;
fn execute_raw(&self, stmt: Statement) -> Result<ExecResult, DbErr>;
fn execute_unprepared(&self, sql: &str) -> Result<ExecResult, DbErr>;
fn query_one_raw(
&self,
stmt: Statement,
) -> Result<Option<QueryResult>, DbErr>;
fn query_all_raw(&self, stmt: Statement) -> Result<Vec<QueryResult>, DbErr>;
// Provided methods
fn execute<S: StatementBuilder>(
&self,
stmt: &S,
) -> Result<ExecResult, DbErr> { ... }
fn query_one<S: StatementBuilder>(
&self,
stmt: &S,
) -> Result<Option<QueryResult>, DbErr> { ... }
fn query_all<S: StatementBuilder>(
&self,
stmt: &S,
) -> Result<Vec<QueryResult>, DbErr> { ... }
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) -> DbBackend
fn get_database_backend(&self) -> DbBackend
Get the database backend for the connection. This depends on feature flags enabled.
Sourcefn execute_raw(&self, stmt: Statement) -> Result<ExecResult, DbErr>
fn execute_raw(&self, stmt: Statement) -> Result<ExecResult, DbErr>
Execute a Statement
Sourcefn execute_unprepared(&self, sql: &str) -> Result<ExecResult, DbErr>
fn execute_unprepared(&self, sql: &str) -> Result<ExecResult, DbErr>
Execute a unprepared Statement
Sourcefn query_one_raw(&self, stmt: Statement) -> Result<Option<QueryResult>, DbErr>
fn query_one_raw(&self, stmt: Statement) -> Result<Option<QueryResult>, DbErr>
Execute a Statement and return a single row of QueryResult
Sourcefn query_all_raw(&self, stmt: Statement) -> Result<Vec<QueryResult>, DbErr>
fn query_all_raw(&self, stmt: Statement) -> Result<Vec<QueryResult>, DbErr>
Execute a Statement and return a vector of QueryResult
Provided Methods§
Sourcefn execute<S: StatementBuilder>(&self, stmt: &S) -> Result<ExecResult, DbErr>
fn execute<S: StatementBuilder>(&self, stmt: &S) -> Result<ExecResult, DbErr>
Execute a [QueryStatement]
Sourcefn query_one<S: StatementBuilder>(
&self,
stmt: &S,
) -> Result<Option<QueryResult>, DbErr>
fn query_one<S: StatementBuilder>( &self, stmt: &S, ) -> Result<Option<QueryResult>, DbErr>
Execute a [QueryStatement] and return a single row of QueryResult
Sourcefn query_all<S: StatementBuilder>(
&self,
stmt: &S,
) -> Result<Vec<QueryResult>, DbErr>
fn query_all<S: StatementBuilder>( &self, stmt: &S, ) -> Result<Vec<QueryResult>, DbErr>
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.
Implementors§
impl ConnectionTrait for DatabaseExecutor<'_>
impl ConnectionTrait for DatabaseConnection
impl ConnectionTrait for DatabaseTransaction
impl ConnectionTrait for RestrictedConnection
rbac only.impl ConnectionTrait for RestrictedTransaction
rbac only.