Skip to main content

RecordStore

Trait RecordStore 

Source
pub trait RecordStore: Send + Sync {
    // Required methods
    fn append(&self, record: &Record) -> Result<RecordId, RecordStoreError>;
    fn get(&self, id: &RecordId) -> Result<Option<Record>, RecordStoreError>;
    fn query(
        &self,
        filter: &RecordFilter,
    ) -> Result<Vec<StoredRecord>, RecordStoreError>;
    fn count(
        &self,
        filter: Option<&RecordFilter>,
    ) -> Result<usize, RecordStoreError>;

    // Provided methods
    fn append_batch(
        &self,
        records: &[Record],
    ) -> Result<Vec<RecordId>, RecordStoreError> { ... }
    fn get_batch(
        &self,
        ids: &[RecordId],
    ) -> Result<Vec<Record>, RecordStoreError> { ... }
}
Expand description

Record の永続化を担う Trait

Required Methods§

Source

fn append(&self, record: &Record) -> Result<RecordId, RecordStoreError>

Record を追加

Source

fn get(&self, id: &RecordId) -> Result<Option<Record>, RecordStoreError>

ID で取得

Source

fn query( &self, filter: &RecordFilter, ) -> Result<Vec<StoredRecord>, RecordStoreError>

フィルタで検索

Source

fn count( &self, filter: Option<&RecordFilter>, ) -> Result<usize, RecordStoreError>

件数を取得

Provided Methods§

Source

fn append_batch( &self, records: &[Record], ) -> Result<Vec<RecordId>, RecordStoreError>

複数の Record を一括追加

Source

fn get_batch(&self, ids: &[RecordId]) -> Result<Vec<Record>, RecordStoreError>

複数 ID で一括取得

Implementors§