pub struct RunLocator {
pub run_id: u128,
pub min_epoch: Epoch,
pub max_epoch: Epoch,
pub min_hlc: Option<HlcTimestamp>,
pub max_hlc: Option<HlcTimestamp>,
pub contains_unstamped_versions: bool,
}Expand description
What one run-level posting says about a RowId: enough metadata to
conservatively decide whether the run can contain a version visible to a
supplied snapshot, without opening the run.
Fields§
§run_id: u128Stable identifier of the run, matched against the manifest’s RunRef.
min_epoch: Epoch§max_epoch: Epoch§min_hlc: Option<HlcTimestamp>Some when the run carries HLC-stamped rows.
max_hlc: Option<HlcTimestamp>§contains_unstamped_versions: booltrue when the run also contains legacy unstamped (epoch-only) rows.
Implementations§
Source§impl RunLocator
impl RunLocator
Sourcepub fn is_impossible_for(&self, snapshot: Snapshot) -> bool
pub fn is_impossible_for(&self, snapshot: Snapshot) -> bool
true when this locator cannot contain a version visible to
snapshot. Conservative: when in doubt, return false so the caller
opens the run. The proof is split into the stamped and unstamped
possibilities and never uses positional tuple fields (REM-A):
- a stamped version may be visible when the locator’s minimum
HLC is at or below the snapshot (
min_hlc, notmax_hlc— a run can span the snapshot and still host an older visible version); - an unstamped version may be visible when the locator’s minimum epoch is at or below the snapshot epoch.
Trait Implementations§
Source§impl Clone for RunLocator
impl Clone for RunLocator
Source§fn clone(&self) -> RunLocator
fn clone(&self) -> RunLocator
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 Copy for RunLocator
Source§impl Debug for RunLocator
impl Debug for RunLocator
impl Eq for RunLocator
Source§impl PartialEq for RunLocator
impl PartialEq for RunLocator
impl StructuralPartialEq for RunLocator
Auto Trait Implementations§
impl Freeze for RunLocator
impl RefUnwindSafe for RunLocator
impl Send for RunLocator
impl Sync for RunLocator
impl Unpin for RunLocator
impl UnsafeUnpin for RunLocator
impl UnwindSafe for RunLocator
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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