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) -> Self
Makes 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) -> Self
Makes 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) -> Self
pub fn not_deferrable(self) -> Self
[src]
pub fn not_deferrable(self) -> Self
Makes 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) -> Self
Makes 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) -> Self
Makes the transaction ISOLATION LEVEL REPEATABLE READ
Example
conn.build_transaction() .repeatable_read() .run(|| Ok(()))
pub fn serializable(self) -> Self
[src]
pub fn serializable(self) -> Self
Makes 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>