MvccVersionChain

Trait MvccVersionChain 

Source
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§

Source

type Value

The value type stored in versions

Required Methods§

Source

fn get_visible(&self, ctx: &VisibilityContext) -> Option<&Self::Value>

Get the visible version for the given context

Source

fn get_latest(&self) -> Option<&Self::Value>

Get the latest version (regardless of visibility)

Source

fn version_count(&self) -> usize

Number of versions in the chain

Provided Methods§

Source

fn is_empty(&self) -> bool

Check if the chain is empty

Implementors§