Enum DatabaseExecutor
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§
§impl DatabaseExecutor<'_>
impl DatabaseExecutor<'_>
pub fn get_schema_builder(&self) -> SchemaBuilder
pub fn get_schema_builder(&self) -> SchemaBuilder
Creates a SchemaBuilder for this backend
Trait Implementations§
§impl ConnectionTrait for DatabaseExecutor<'_>
impl ConnectionTrait for DatabaseExecutor<'_>
§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.
§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
§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
§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
QueryResult§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
QueryResult§fn get_schema(&self) -> Option<&str>
fn get_schema(&self) -> Option<&str>
For MSSQL only. Get database schema that’s specified in the connection string (the
?currentSchema=xxx part).§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]
§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
QueryResult§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
QueryResult§fn support_returning(&self) -> bool
fn support_returning(&self) -> bool
Check if the connection supports
RETURNING syntax on insert and update§fn is_mock_connection(&self) -> bool
fn is_mock_connection(&self) -> bool
Check if the connection is a test connection for the Mock database
§impl<'c> Debug for DatabaseExecutor<'c>
impl<'c> Debug for DatabaseExecutor<'c>
§impl<'c> From<&'c DatabaseConnection> for DatabaseExecutor<'c>
impl<'c> From<&'c DatabaseConnection> for DatabaseExecutor<'c>
§fn from(conn: &'c DatabaseConnection) -> Self
fn from(conn: &'c DatabaseConnection) -> Self
Converts to this type from the input type.
§impl<'c> From<&'c DatabaseTransaction> for DatabaseExecutor<'c>
impl<'c> From<&'c DatabaseTransaction> for DatabaseExecutor<'c>
§fn from(trans: &'c DatabaseTransaction) -> Self
fn from(trans: &'c DatabaseTransaction) -> Self
Converts to this type from the input type.
§impl<'c> IntoDatabaseExecutor<'c> for DatabaseExecutor<'c>
impl<'c> IntoDatabaseExecutor<'c> for DatabaseExecutor<'c>
§fn into_database_executor(self) -> DatabaseExecutor<'c>
fn into_database_executor(self) -> DatabaseExecutor<'c>
Convert into a
DatabaseExecutor§impl TransactionTrait for DatabaseExecutor<'_>
impl TransactionTrait for DatabaseExecutor<'_>
§type Transaction = DatabaseTransaction
type Transaction = DatabaseTransaction
The concrete type for the transaction
§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 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
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 back§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 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