pub trait MvccVersionChain {
type Value;
// Required methods
fn get_visible(&self, ctx: &VisibilityContext) -> Option<&Self::Value>;
fn get_latest(&self) -> Option<&Self::Value>;
fn version_count(&self) -> usize;
// Provided method
fn is_empty(&self) -> bool { ... }
}Expand description
Trait for MVCC version chain implementations
Implementors store multiple versions of a value and provide visibility-based access according to MVCC semantics.
Required Associated Types§
Required Methods§
Sourcefn get_visible(&self, ctx: &VisibilityContext) -> Option<&Self::Value>
fn get_visible(&self, ctx: &VisibilityContext) -> Option<&Self::Value>
Get the visible version for the given context
Sourcefn get_latest(&self) -> Option<&Self::Value>
fn get_latest(&self) -> Option<&Self::Value>
Get the latest version (regardless of visibility)
Sourcefn version_count(&self) -> usize
fn version_count(&self) -> usize
Number of versions in the chain