Skip to main content

RecordStore

Trait RecordStore 

Source
pub trait RecordStore: Send + Sync {
    // Required methods
    fn insert(&self, record: Record);
    fn get(&self, id: RecordId) -> Option<Cow<'_, Record>>;
    fn len(&self) -> usize;

    // Provided methods
    fn get_many(&self, ids: &[RecordId]) -> Vec<Option<Cow<'_, Record>>> { ... }
    fn is_empty(&self) -> bool { ... }
}
Expand description

Backing store for records used during ingestion and batch runs.

Required Methods§

Source

fn insert(&self, record: Record)

Persist a record. Must be callable from the ingester background task.

Source

fn get(&self, id: RecordId) -> Option<Cow<'_, Record>>

Retrieve a single record by ID. Returns None if not present.

Source

fn len(&self) -> usize

Total number of records held.

Provided Methods§

Source

fn get_many(&self, ids: &[RecordId]) -> Vec<Option<Cow<'_, Record>>>

Retrieve multiple records in one call (allows batch I/O optimisation). The default impl calls get in a loop; override for bulk reads.

Source

fn is_empty(&self) -> bool

Implementors§