pub struct VersionInfo { /* private fields */ }Expand description
Per-node-group version tracking.
Contains one VectorVersionInfo per vector-sized chunk of the node group.
A “vector” is NODE_GROUP_SIZE / vectors rows — typically 1024 rows each.
Note: Clone is implemented manually because Mutex is not Clone.
Implementations§
Source§impl VersionInfo
impl VersionInfo
Sourcepub fn new(total_rows: usize) -> Self
pub fn new(total_rows: usize) -> Self
Create a new VersionInfo for a node group of total_rows capacity.
Sourcepub fn reset(&self)
pub fn reset(&self)
Drop all recorded inserts and deletes across every vector.
Called when the owning node group’s in-memory buffer is cleared for reuse (spill/restore), so stale row-offset records do not collide with rows appended afterwards at the same offsets.
Sourcepub fn num_inserters(&self) -> usize
pub fn num_inserters(&self) -> usize
Total number of unique inserting transactions across all vectors.
Sourcepub fn num_deleters(&self) -> usize
pub fn num_deleters(&self) -> usize
Total number of unique deleting transactions across all vectors.
Trait Implementations§
Source§impl Clone for VersionInfo
impl Clone for VersionInfo
Auto Trait Implementations§
impl Freeze for VersionInfo
impl RefUnwindSafe for VersionInfo
impl Send for VersionInfo
impl Sync for VersionInfo
impl Unpin for VersionInfo
impl UnsafeUnpin for VersionInfo
impl UnwindSafe for VersionInfo
Blanket Implementations§
impl<T> Allocation for T
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