Trait tikv::storage::txn::commands::WriteCommand[][src]

pub trait WriteCommand<S: Snapshot, L: LockManager>: CommandExt {
    fn process_write(
        self,
        snapshot: S,
        context: WriteContext<'_, L>
    ) -> Result<WriteResult>; }

Commands that need to modify the database during execution will implement this trait.

Required methods

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

Loading content...

Implementors

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

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

impl<S: Snapshot, L: LockManager> WriteCommand<S, L> for CheckSecondaryLocks[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.

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

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

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

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

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

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

Delete any pessimistic lock with small for_update_ts belongs to this transaction.

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

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

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

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

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

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

Loading content...