Enum tikv::storage::mvcc::TxnCommitRecord [−][src]
pub enum TxnCommitRecord { None { overlapped_write: Option<OverlappedWrite>, }, SingleRecord { commit_ts: TimeStamp, write: Write, }, OverlappedRollback { commit_ts: TimeStamp, }, }
The result of get_txn_commit_record
, which is used to get the status of a specified
transaction from write cf.
Variants
The commit record of the given transaction is not found. But it’s possible that there’s
another transaction’s commit record, whose commit_ts
equals to the current transaction’s
start_ts
. That kind of record will be returned via the overlapped_write
field.
In this case, if the current transaction is to be rolled back, the overlapped_write
must not
be overwritten.
Fields of None
overlapped_write: Option<OverlappedWrite>
Found the transaction’s write record.
The transaction’s status is found in another transaction’s record’s overlapped_rollback
field. This may happen when the current transaction’s start_ts
is the same as the
commit_ts
of another transaction on this key.
Fields of OverlappedRollback
commit_ts: TimeStamp
Implementations
impl TxnCommitRecord
[src][−]
pub fn exist(&self) -> bool
[src]
pub fn info(&self) -> Option<(TimeStamp, WriteType)>
[src]
pub fn unwrap_single_record(self) -> (TimeStamp, WriteType)
[src]
pub fn unwrap_overlapped_rollback(self) -> TimeStamp
[src]
pub fn unwrap_none(self) -> Option<OverlappedWrite>
[src]
Trait Implementations
impl Debug for TxnCommitRecord
[src][+]
Auto Trait Implementations
impl RefUnwindSafe for TxnCommitRecord
impl Send for TxnCommitRecord
impl Sync for TxnCommitRecord
impl Unpin for TxnCommitRecord
impl UnwindSafe for TxnCommitRecord
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src][+]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<V, W> ConvertFrom<W> for V where
W: ConvertTo<V>,
[src][+]
W: ConvertTo<V>,
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][+]
U: From<T>,
impl<T> Pointable for T
[src][+]
impl<T> Pointable for T
[src][+]
impl<T> Same<T> for T
[src]
type Output = T
Should always be Self
impl<T> Sealed<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> SendSyncUnwindSafe for T where
T: Send + Sync + UnwindSafe + ?Sized,
[src]
T: Send + Sync + UnwindSafe + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src][+]
U: Into<T>,
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src][+]
U: TryFrom<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
[src][+]
V: MultiLane<T>,