pub enum DatabaseExecutor<'c> {
Connection(&'c DatabaseConnection),
Transaction(&'c DatabaseTransaction),
}Expand description
A wrapper that holds either a reference to a DatabaseConnection or DatabaseTransaction.
Variantsยง
Connection(&'c DatabaseConnection)
A reference to a database connection
Transaction(&'c DatabaseTransaction)
A reference to a database transaction
Implementationsยง
Sourceยงimpl DatabaseExecutor<'_>
impl DatabaseExecutor<'_>
Sourcepub fn get_schema_builder(&self) -> SchemaBuilder
pub fn get_schema_builder(&self) -> SchemaBuilder
Creates a SchemaBuilder for this backend
Trait Implementationsยง
Sourceยงimpl Connection for DatabaseExecutor<'_>
Available on crate features schema-sync and sqlx-dep only.
impl Connection for DatabaseExecutor<'_>
Available on crate features
schema-sync and sqlx-dep only.fn query_all<'life0, 'async_trait>(
&'life0 self,
select: SelectStatement,
) -> Pin<Box<dyn Future<Output = Result<Vec<SqlxRow>, SqlxError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn query_all_raw<'life0, 'async_trait>(
&'life0 self,
sql: String,
) -> Pin<Box<dyn Future<Output = Result<Vec<SqlxRow>, SqlxError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Sourceยงimpl ConnectionTrait for DatabaseExecutor<'_>
impl ConnectionTrait for DatabaseExecutor<'_>
Sourceยงfn get_database_backend(&self) -> DbBackend
fn get_database_backend(&self) -> DbBackend
Get the database backend for the connection. This depends on feature flags enabled.
Sourceยงfn execute_raw<'life0, 'async_trait>(
&'life0 self,
stmt: Statement,
) -> Pin<Box<dyn Future<Output = Result<ExecResult, DbErr>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn execute_raw<'life0, 'async_trait>(
&'life0 self,
stmt: Statement,
) -> Pin<Box<dyn Future<Output = Result<ExecResult, DbErr>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Execute a Statement
Sourceยงfn execute_unprepared<'life0, 'life1, 'async_trait>(
&'life0 self,
sql: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<ExecResult, DbErr>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: '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
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Execute a unprepared Statement
Sourceยงfn query_one_raw<'life0, 'async_trait>(
&'life0 self,
stmt: Statement,
) -> Pin<Box<dyn Future<Output = Result<Option<QueryResult>, DbErr>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: '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
Self: 'async_trait,
'life0: 'async_trait,
Execute a Statement and return a single row of
QueryResultSourceยงfn query_all_raw<'life0, 'async_trait>(
&'life0 self,
stmt: Statement,
) -> Pin<Box<dyn Future<Output = Result<Vec<QueryResult>, DbErr>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: '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
Self: 'async_trait,
'life0: 'async_trait,
Execute a Statement and return a vector of
QueryResultSourceยงfn execute<'life0, 'life1, 'async_trait, S>(
&'life0 self,
stmt: &'life1 S,
) -> Pin<Box<dyn Future<Output = Result<ExecResult, DbErr>> + Send + 'async_trait>>where
S: 'async_trait + StatementBuilder,
Self: 'async_trait,
'life0: 'async_trait,
'life1: '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
S: 'async_trait + StatementBuilder,
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Execute a [QueryStatement]
Sourceยง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
S: 'async_trait + StatementBuilder,
Self: 'async_trait,
'life0: 'async_trait,
'life1: '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
S: 'async_trait + StatementBuilder,
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Execute a [QueryStatement] and return a single row of
QueryResultSourceยง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
S: 'async_trait + StatementBuilder,
Self: 'async_trait,
'life0: 'async_trait,
'life1: '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
S: 'async_trait + StatementBuilder,
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Execute a [QueryStatement] and return a vector of
QueryResultSourceยงfn support_returning(&self) -> bool
fn support_returning(&self) -> bool
Check if the connection supports
RETURNING syntax on insert and updateSourceยงfn is_mock_connection(&self) -> bool
fn is_mock_connection(&self) -> bool
Check if the connection is a test connection for the Mock database
Sourceยงimpl<'c> Debug for DatabaseExecutor<'c>
impl<'c> Debug for DatabaseExecutor<'c>
Sourceยงimpl<'c> From<&'c DatabaseConnection> for DatabaseExecutor<'c>
impl<'c> From<&'c DatabaseConnection> for DatabaseExecutor<'c>
Sourceยงfn from(conn: &'c DatabaseConnection) -> Self
fn from(conn: &'c DatabaseConnection) -> Self
Converts to this type from the input type.
Sourceยงimpl<'c> From<&'c DatabaseTransaction> for DatabaseExecutor<'c>
impl<'c> From<&'c DatabaseTransaction> for DatabaseExecutor<'c>
Sourceยงfn from(trans: &'c DatabaseTransaction) -> Self
fn from(trans: &'c DatabaseTransaction) -> Self
Converts to this type from the input type.
Sourceยงimpl<'c> IntoDatabaseExecutor<'c> for DatabaseExecutor<'c>
impl<'c> IntoDatabaseExecutor<'c> for DatabaseExecutor<'c>
Sourceยงfn into_database_executor(self) -> DatabaseExecutor<'c>
fn into_database_executor(self) -> DatabaseExecutor<'c>
Convert into a
DatabaseExecutorSourceยงimpl TransactionTrait for DatabaseExecutor<'_>
impl TransactionTrait for DatabaseExecutor<'_>
Sourceยงtype Transaction = DatabaseTransaction
type Transaction = DatabaseTransaction
The concrete type for the transaction
Sourceยงfn begin<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<DatabaseTransaction, DbErr>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn begin<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<DatabaseTransaction, DbErr>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Execute SQL
BEGIN transaction.
Returns a Transaction that can be committed or rolled backSourceยง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
Self: 'async_trait,
'life0: '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
Self: 'async_trait,
'life0: 'async_trait,
Execute SQL
BEGIN transaction with isolation level and/or access mode.
Returns a Transaction that can be committed or rolled backSourceยง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.
Sourceยง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 with isolation level and/or access mode.
If the function returns an error, the transaction will be rolled back. If it does not return an error, the transaction will be committed.
Auto Trait Implementationsยง
impl<'c> Freeze for DatabaseExecutor<'c>
impl<'c> !RefUnwindSafe for DatabaseExecutor<'c>
impl<'c> Send for DatabaseExecutor<'c>
impl<'c> Sync for DatabaseExecutor<'c>
impl<'c> Unpin for DatabaseExecutor<'c>
impl<'c> !UnwindSafe for DatabaseExecutor<'c>
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
Mutably borrows from an owned value. Read more
Sourceยงimpl<T> Instrument for T
impl<T> Instrument for T
Sourceยงfn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Sourceยง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>
Converts
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>
Converts
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