Skip to main content

PartitionedDmlTransactionBuilder

Struct PartitionedDmlTransactionBuilder 

Source
pub struct PartitionedDmlTransactionBuilder { /* private fields */ }
Expand description

A builder for PartitionedDmlTransaction.

§Example

    let db_client = spanner.database_client("projects/p/instances/i/databases/d").build().await?;
    let transaction = db_client.partitioned_dml_transaction().build().await?;
    let statement = Statement::builder("UPDATE users SET active = true WHERE TRUE").build();
    let modified_rows = transaction.execute_update(statement).await?;

Implementations§

Source§

impl PartitionedDmlTransactionBuilder

Source

pub fn with_exclude_txn_from_change_streams(self, exclude: bool) -> Self

Sets whether to exclude the transaction from change streams.

§Example
    let db_client = spanner.database_client("projects/p/instances/i/databases/d").build().await?;
    let transaction = db_client
        .partitioned_dml_transaction()
        .with_exclude_txn_from_change_streams(true)
        .build()
        .await?;

When set to true, it prevents modifications from this transaction from being tracked in change streams. Note that this only affects change streams that have been created with the DDL option allow_txn_exclusion = true. If allow_txn_exclusion is not set or set to false for a change stream, updates made within this transaction are recorded in that change stream regardless of this setting.

When set to false or not specified, modifications from this transaction are recorded in all change streams tracking columns modified by this transaction.

Source

pub fn with_retry_policy<P: TransactionRetryPolicy + 'static>( self, policy: P, ) -> Self

Sets the retry policy for the transaction.

§Example
    let db_client = spanner.database_client("projects/p/instances/i/databases/d").build().await?;
     
    let retry_policy = BasicTransactionRetryPolicy::new()
        .with_max_attempts(5)
        .with_total_timeout(Duration::from_secs(60));

    let transaction = db_client
        .partitioned_dml_transaction()
        .with_retry_policy(retry_policy)
        .build()
        .await?;

The client will retry the entire transaction if it is aborted by Spanner. This policy can be used to customize whether a transaction should be retried or not. The default is to retry indefinitely until the transaction succeeds.

Source

pub async fn build(self) -> Result<PartitionedDmlTransaction>

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FutureExt for T

Source§

fn with_context(self, otel_cx: Context) -> WithContext<Self>

Attaches the provided Context to this type, returning a WithContext wrapper. Read more
Source§

fn with_current_context(self) -> WithContext<Self>

Attaches the current Context to this type, returning a WithContext wrapper. Read more
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
Source§

impl<L> LayerExt<L> for L

Source§

fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>
where L: Layer<S>,

Applies the layer to a service and wraps it in Layered.
Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more