pub struct AgentRollForwardRequest {
pub cf: u32,
pub key: Vec<u8>,
pub start_ts: u64,
pub commit_ts: u64,
pub delete: bool,
pub read_only: bool,
}Expand description
Roll a single committed secondary forward: replace its LockRecord with a WriteRecord{commit_ts}, advance the write pointer, materialize the staged value, clear the lock. Idempotent.
Fields§
§cf: u32target CF of the secondary user key
key: Vec<u8>the secondary user key
start_ts: u64the txn’s HLC start_ts (locates the staged value)
commit_ts: u64the txn’s HLC commit_ts
delete: boolThe op the prewrite recorded (true = Delete/tombstone, false = Put). Carried so a resolver materializing a committed write after the lock TTL-expired does not have to consult the reaped lock to decide put-vs-tombstone (issue #1626).
read_only: booltrue = this participant was a READ intent: release the lock and write
NOTHING (no value, no write-pointer, no WriteRecord). Without this the
two-valued delete would make a read intent look like a Put and the
roll-forward would fail closed looking for a staged value that, by
design, never existed.
Trait Implementations§
Source§impl Clone for AgentRollForwardRequest
impl Clone for AgentRollForwardRequest
Source§fn clone(&self) -> AgentRollForwardRequest
fn clone(&self) -> AgentRollForwardRequest
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for AgentRollForwardRequest
impl Debug for AgentRollForwardRequest
Source§impl Default for AgentRollForwardRequest
impl Default for AgentRollForwardRequest
Source§impl Message for AgentRollForwardRequest
impl Message for AgentRollForwardRequest
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self.Source§impl PartialEq for AgentRollForwardRequest
impl PartialEq for AgentRollForwardRequest
impl StructuralPartialEq for AgentRollForwardRequest
Auto Trait Implementations§
impl Freeze for AgentRollForwardRequest
impl RefUnwindSafe for AgentRollForwardRequest
impl Send for AgentRollForwardRequest
impl Sync for AgentRollForwardRequest
impl Unpin for AgentRollForwardRequest
impl UnsafeUnpin for AgentRollForwardRequest
impl UnwindSafe for AgentRollForwardRequest
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request