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§
Sourcefn query(
&self,
filter: &RecordFilter,
) -> Result<Vec<StoredRecord>, RecordStoreError>
fn query( &self, filter: &RecordFilter, ) -> Result<Vec<StoredRecord>, RecordStoreError>
フィルタで検索
Sourcefn count(
&self,
filter: Option<&RecordFilter>,
) -> Result<usize, RecordStoreError>
fn count( &self, filter: Option<&RecordFilter>, ) -> Result<usize, RecordStoreError>
件数を取得
Provided Methods§
Sourcefn append_batch(
&self,
records: &[Record],
) -> Result<Vec<RecordId>, RecordStoreError>
fn append_batch( &self, records: &[Record], ) -> Result<Vec<RecordId>, RecordStoreError>
複数の Record を一括追加