Struct tikv::storage::txn::commands::CheckTxnStatus[][src]

pub struct CheckTxnStatus {
    pub ctx: Context,
    pub primary_key: Key,
    pub lock_ts: TimeStamp,
    pub caller_start_ts: TimeStamp,
    pub current_ts: TimeStamp,
    pub rollback_if_not_exist: bool,
    pub force_sync_commit: bool,
    pub resolving_pessimistic_lock: bool,
}

Check the status of a transaction. This is usually invoked by a transaction that meets another transaction’s lock. If the primary lock is expired, it will rollback the primary lock. If the primary lock exists but is not expired, it may update the transaction’s min_commit_ts. Returns a TxnStatus to represent the status.

This is invoked on a transaction’s primary lock. The lock may be generated by either AcquirePessimisticLock or Prewrite.

Fields

ctx: Contextprimary_key: Key

The primary key of the transaction.

lock_ts: TimeStamp

The lock’s ts, namely the transaction’s start_ts.

caller_start_ts: TimeStamp

The start_ts of the transaction that invokes this command.

current_ts: TimeStamp

The approximate current_ts when the command is invoked.

rollback_if_not_exist: bool

Specifies the behavior when neither commit/rollback record nor lock is found. If true, rollbacks that transaction; otherwise returns an error.

force_sync_commit: boolresolving_pessimistic_lock: bool

Implementations

impl CheckTxnStatus[src]

pub fn new(
    primary_key: Key,
    lock_ts: TimeStamp,
    caller_start_ts: TimeStamp,
    current_ts: TimeStamp,
    rollback_if_not_exist: bool,
    force_sync_commit: bool,
    resolving_pessimistic_lock: bool,
    ctx: Context
) -> TypedCommand<TxnStatus>
[src]

Return a TypedCommand that encapsulates the result of executing this command.

Trait Implementations

impl CommandExt for CheckTxnStatus[src]

impl Debug for CheckTxnStatus[src]

impl Display for CheckTxnStatus[src]

impl<S: Snapshot, L: LockManager> WriteCommand<S, L> for CheckTxnStatus[src]

fn process_write(
    self,
    snapshot: S,
    context: WriteContext<'_, L>
) -> Result<WriteResult>
[src]

checks whether a transaction has expired its primary lock’s TTL, rollback the transaction if expired, or update the transaction’s min_commit_ts according to the metadata in the primary lock. When transaction T1 meets T2’s lock, it may invoke this on T2’s primary key. In this situation, self.start_ts is T2’s start_ts, caller_start_ts is T1’s start_ts, and the current_ts is literally the timestamp when this function is invoked; it may not be accurate.

Auto Trait Implementations

impl RefUnwindSafe for CheckTxnStatus

impl Send for CheckTxnStatus

impl Sync for CheckTxnStatus

impl Unpin for CheckTxnStatus

impl UnwindSafe for CheckTxnStatus

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<V, W> ConvertFrom<W> for V where
    W: ConvertTo<V>, 
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T[src]

type Init = T

The type for initializers.

impl<T> Pointable for T[src]

type Init = T

The type for initializers.

impl<T> Same<T> for T[src]

type Output = T

Should always be Self

impl<T> Sealed<T> for T where
    T: ?Sized
[src]

impl<T> SendSyncUnwindSafe for T where
    T: Send + Sync + UnwindSafe + ?Sized
[src]

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 
[src]