pub struct ReadVersionState<'a> {
pub manifest: &'a Manifest,
pub indices: &'a [IndexMetadata],
}Expand description
The version a transaction read, as the coverage derivation needs it.
An index covering every fragment live at this version holds every row
compaction had copied into the base table by then, so it is caught up to
that version’s compacted_sstables. That is the only proof available:
nothing maps a compaction generation to the fragments its rows landed in.
read_version is fixed for the life of a transaction and survives rebase,
so the credit a commit can prove is stable across attempts. The recorded
result may still differ between attempts, because a rebased attempt sees a
different head: other commits move the compacted generations and the
positions already recorded.
Fields§
§manifest: &'a Manifest§indices: &'a [IndexMetadata]Trait Implementations§
Source§impl<'a> Clone for ReadVersionState<'a>
impl<'a> Clone for ReadVersionState<'a>
Source§fn clone(&self) -> ReadVersionState<'a>
fn clone(&self) -> ReadVersionState<'a>
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl<'a> Copy for ReadVersionState<'a>
Auto Trait Implementations§
impl<'a> !RefUnwindSafe for ReadVersionState<'a>
impl<'a> !UnwindSafe for ReadVersionState<'a>
impl<'a> Freeze for ReadVersionState<'a>
impl<'a> Send for ReadVersionState<'a>
impl<'a> Sync for ReadVersionState<'a>
impl<'a> Unpin for ReadVersionState<'a>
impl<'a> UnsafeUnpin for ReadVersionState<'a>
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
Mutably borrows from an owned value. Read more
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more