Struct diesel::pg::TransactionBuilder [−][src]
#[must_use = "Transaction builder does nothing unless you call `run` on it"]pub struct TransactionBuilder<'a> { /* fields omitted */ }
Used to build a transaction, specifying additional details.
This struct is returned by .build_transaction.
See the documentation for methods on this struct for usage examples.
See the PostgreSQL documentation for SET TRANSACTION
for details on the behavior of each option.
Methods
impl<'a> TransactionBuilder<'a>[src]
impl<'a> TransactionBuilder<'a>pub fn read_only(self) -> Self[src]
pub fn read_only(self) -> SelfMakes the transaction READ ONLY
Example
conn.build_transaction() .read_only() .run::<_, diesel::result::Error, _>(|| { let read_attempt = users.select(name).load::<String>(&conn); assert!(read_attempt.is_ok()); let write_attempt = diesel::insert_into(users) .values(name.eq("Ruby")) .execute(&conn); assert!(write_attempt.is_err()); Ok(()) })?;
pub fn read_write(self) -> Self[src]
pub fn read_write(self) -> SelfMakes the transaction READ WRITE
This is the default, unless you've changed the
default_transaction_read_only configuration parameter.
Example
conn.build_transaction() .read_write() .run(|| { let read_attempt = users.select(name).load::<String>(&conn); assert!(read_attempt.is_ok()); let write_attempt = diesel::insert_into(users) .values(name.eq("Ruby")) .execute(&conn); assert!(write_attempt.is_ok()); Ok(()) })
pub fn deferrable(self) -> Self[src]
pub fn deferrable(self) -> Selfpub fn not_deferrable(self) -> Self[src]
pub fn not_deferrable(self) -> SelfMakes the transaction NOT DEFERRABLE
This is the default, unless you've changed the
default_transaction_deferrable configuration parameter.
Example
conn.build_transaction() .not_deferrable() .run(|| Ok(()))
pub fn read_committed(self) -> Self[src]
pub fn read_committed(self) -> SelfMakes the transaction ISOLATION LEVEL READ COMMITTED
This is the default, unless you've changed the
default_transaction_isolation_level configuration parameter.
Example
conn.build_transaction() .read_committed() .run(|| Ok(()))
pub fn repeatable_read(self) -> Self[src]
pub fn repeatable_read(self) -> SelfMakes the transaction ISOLATION LEVEL REPEATABLE READ
Example
conn.build_transaction() .repeatable_read() .run(|| Ok(()))
pub fn serializable(self) -> Self[src]
pub fn serializable(self) -> SelfMakes the transaction ISOLATION LEVEL SERIALIZABLE
Example
conn.build_transaction() .serializable() .run(|| Ok(()))
pub fn run<T, E, F>(&self, f: F) -> Result<T, E> where
F: FnOnce() -> Result<T, E>,
E: From<Error>, [src]
pub fn run<T, E, F>(&self, f: F) -> Result<T, E> where
F: FnOnce() -> Result<T, E>,
E: From<Error>, Runs the given function inside of the transaction with the parameters given to this builder.
Returns an error if the connection is already inside a transaction.
Trait Implementations
impl<'a> Clone for TransactionBuilder<'a>[src]
impl<'a> Clone for TransactionBuilder<'a>fn clone(&self) -> TransactionBuilder<'a>[src]
fn clone(&self) -> TransactionBuilder<'a>Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)1.0.0[src]
fn clone_from(&mut self, source: &Self)Performs copy-assignment from source. Read more
impl<'a> Copy for TransactionBuilder<'a>[src]
impl<'a> Copy for TransactionBuilder<'a>impl<'a> QueryFragment<Pg> for TransactionBuilder<'a>[src]
impl<'a> QueryFragment<Pg> for TransactionBuilder<'a>fn walk_ast(&self, out: AstPass<Pg>) -> QueryResult<()>[src]
fn walk_ast(&self, out: AstPass<Pg>) -> QueryResult<()>Walk over this QueryFragment for all passes. Read more
fn to_sql(&self, out: &mut DB::QueryBuilder) -> QueryResult<()>[src]
fn to_sql(&self, out: &mut DB::QueryBuilder) -> QueryResult<()>Converts this QueryFragment to its SQL representation. Read more
fn collect_binds(
&self,
out: &mut DB::BindCollector,
metadata_lookup: &DB::MetadataLookup
) -> QueryResult<()>[src]
fn collect_binds(
&self,
out: &mut DB::BindCollector,
metadata_lookup: &DB::MetadataLookup
) -> QueryResult<()>Serializes all bind parameters in this query. Read more
fn is_safe_to_cache_prepared(&self) -> QueryResult<bool>[src]
fn is_safe_to_cache_prepared(&self) -> QueryResult<bool>Is this query safe to store in the prepared statement cache? Read more
Auto Trait Implementations
impl<'a> !Send for TransactionBuilder<'a>
impl<'a> !Send for TransactionBuilder<'a>impl<'a> !Sync for TransactionBuilder<'a>
impl<'a> !Sync for TransactionBuilder<'a>