pub struct DatabaseTransaction { /* private fields */ }Expand description
A live database transaction.
Obtain one with
TransactionTrait::begin (manual
commit/rollback) or
TransactionTrait::transaction
(auto commit on Ok, auto rollback on Err). Like
DatabaseConnection it implements
ConnectionTrait, so SeaORM’s query and
mutation methods work against it transparently. Calling begin on a
transaction starts a nested transaction via SAVEPOINT.
Implementations§
Source§impl DatabaseTransaction
impl DatabaseTransaction
Sourcepub fn transaction<F, T, E>(
&self,
callback: F,
) -> Result<T, TransactionError<E>>
pub fn transaction<F, T, E>( &self, callback: F, ) -> Result<T, TransactionError<E>>
Execute the function inside a transaction. If the function returns an error, the transaction will be rolled back. Otherwise, the transaction will be committed.
Sourcepub fn transaction_with_config<F, T, E>(
&self,
callback: F,
isolation_level: Option<IsolationLevel>,
access_mode: Option<AccessMode>,
) -> Result<T, TransactionError<E>>
pub fn transaction_with_config<F, T, E>( &self, callback: F, isolation_level: Option<IsolationLevel>, access_mode: Option<AccessMode>, ) -> Result<T, TransactionError<E>>
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. Otherwise, the transaction will be committed.
Trait Implementations§
Source§impl ConnectionTrait for DatabaseTransaction
impl ConnectionTrait for DatabaseTransaction
Source§fn get_database_backend(&self) -> DbBackend
fn get_database_backend(&self) -> DbBackend
Source§fn execute_raw(&self, stmt: Statement) -> Result<ExecResult, DbErr>
fn execute_raw(&self, stmt: Statement) -> Result<ExecResult, DbErr>
Source§fn execute_unprepared(&self, sql: &str) -> Result<ExecResult, DbErr>
fn execute_unprepared(&self, sql: &str) -> Result<ExecResult, DbErr>
Source§fn query_one_raw(&self, stmt: Statement) -> Result<Option<QueryResult>, DbErr>
fn query_one_raw(&self, stmt: Statement) -> Result<Option<QueryResult>, DbErr>
QueryResultSource§fn query_all_raw(&self, stmt: Statement) -> Result<Vec<QueryResult>, DbErr>
fn query_all_raw(&self, stmt: Statement) -> Result<Vec<QueryResult>, DbErr>
QueryResultSource§fn execute<S: StatementBuilder>(&self, stmt: &S) -> Result<ExecResult, DbErr>
fn execute<S: StatementBuilder>(&self, stmt: &S) -> Result<ExecResult, DbErr>
StatementBuilderSource§fn query_one<S: StatementBuilder>(
&self,
stmt: &S,
) -> Result<Option<QueryResult>, DbErr>
fn query_one<S: StatementBuilder>( &self, stmt: &S, ) -> Result<Option<QueryResult>, DbErr>
StatementBuilder and return a single row of QueryResultSource§fn query_all<S: StatementBuilder>(
&self,
stmt: &S,
) -> Result<Vec<QueryResult>, DbErr>
fn query_all<S: StatementBuilder>( &self, stmt: &S, ) -> Result<Vec<QueryResult>, DbErr>
StatementBuilder and return a vector of QueryResultSource§fn support_returning(&self) -> bool
fn support_returning(&self) -> bool
RETURNING syntax on insert and updateSource§fn is_mock_connection(&self) -> bool
fn is_mock_connection(&self) -> bool
Source§impl Debug for DatabaseTransaction
impl Debug for DatabaseTransaction
Source§impl Drop for DatabaseTransaction
impl Drop for DatabaseTransaction
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
Source§impl<'c> IntoDatabaseExecutor<'c> for &'c DatabaseTransaction
impl<'c> IntoDatabaseExecutor<'c> for &'c DatabaseTransaction
Source§fn into_database_executor(self) -> DatabaseExecutor<'c>
fn into_database_executor(self) -> DatabaseExecutor<'c>
DatabaseExecutor.Source§impl IntoDatabaseExecutor<'static> for DatabaseTransaction
impl IntoDatabaseExecutor<'static> for DatabaseTransaction
Source§fn into_database_executor(self) -> DatabaseExecutor<'static>
fn into_database_executor(self) -> DatabaseExecutor<'static>
DatabaseExecutor.Source§impl StreamTrait for DatabaseTransaction
Available on crate feature stream only.
impl StreamTrait for DatabaseTransaction
stream only.Source§type Stream<'a> = TransactionStream<'a>
type Stream<'a> = TransactionStream<'a>
Source§fn get_database_backend(&self) -> DbBackend
fn get_database_backend(&self) -> DbBackend
Source§fn stream_raw<'a>(&'a self, stmt: Statement) -> Result<Self::Stream<'a>, DbErr>
fn stream_raw<'a>(&'a self, stmt: Statement) -> Result<Self::Stream<'a>, DbErr>
Source§fn stream<'a, S: StatementBuilder>(
&'a self,
stmt: &S,
) -> Result<Self::Stream<'a>, DbErr>
fn stream<'a, S: StatementBuilder>( &'a self, stmt: &S, ) -> Result<Self::Stream<'a>, DbErr>
StatementBuilder and return a stream of resultsSource§impl TransactionTrait for DatabaseTransaction
impl TransactionTrait for DatabaseTransaction
Source§fn transaction<F, T, E>(&self, _callback: F) -> Result<T, TransactionError<E>>
fn transaction<F, T, E>(&self, _callback: F) -> Result<T, TransactionError<E>>
Execute the function inside a transaction. If the function returns an error, the transaction will be rolled back. Otherwise, the transaction will be committed.
Source§fn transaction_with_config<F, T, E>(
&self,
_callback: F,
isolation_level: Option<IsolationLevel>,
access_mode: Option<AccessMode>,
) -> Result<T, TransactionError<E>>
fn transaction_with_config<F, T, E>( &self, _callback: F, isolation_level: Option<IsolationLevel>, access_mode: Option<AccessMode>, ) -> Result<T, TransactionError<E>>
Execute the function inside a transaction. If the function returns an error, the transaction will be rolled back. Otherwise, the transaction will be committed.
Source§type Transaction = DatabaseTransaction
type Transaction = DatabaseTransaction
Source§fn begin(&self) -> Result<DatabaseTransaction, DbErr>
fn begin(&self) -> Result<DatabaseTransaction, DbErr>
BEGIN transaction.
Returns a Transaction that can be committed or rolled backSource§fn begin_with_config(
&self,
isolation_level: Option<IsolationLevel>,
access_mode: Option<AccessMode>,
) -> Result<DatabaseTransaction, DbErr>
fn begin_with_config( &self, isolation_level: Option<IsolationLevel>, access_mode: Option<AccessMode>, ) -> Result<DatabaseTransaction, DbErr>
BEGIN transaction with isolation level and/or access mode.
Returns a Transaction that can be committed or rolled backSource§fn begin_with_options(
&self,
options: TransactionOptions,
) -> Result<DatabaseTransaction, DbErr>
fn begin_with_options( &self, options: TransactionOptions, ) -> Result<DatabaseTransaction, DbErr>
BEGIN transaction with isolation level and/or access mode.
Returns a Transaction that can be committed or rolled backAuto Trait Implementations§
impl !RefUnwindSafe for DatabaseTransaction
impl !Send for DatabaseTransaction
impl !Sync for DatabaseTransaction
impl !UnwindSafe for DatabaseTransaction
impl Freeze for DatabaseTransaction
impl Unpin for DatabaseTransaction
impl UnsafeUnpin for DatabaseTransaction
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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>
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