pub struct MemoryEntityStore { /* private fields */ }Expand description
In-memory entity store for testing and development.
Stores entities in a HashMap<(entity_type, id), EntityRow> behind
a Mutex. Not suitable for production (no persistence).
Implementations§
Trait Implementations§
Source§impl Default for MemoryEntityStore
impl Default for MemoryEntityStore
Source§impl EntityStore for MemoryEntityStore
impl EntityStore for MemoryEntityStore
Source§fn register_schema<'life0, 'life1, 'async_trait>(
&'life0 self,
schema: &'life1 EntitySchema,
) -> Pin<Box<dyn Future<Output = Result<(), IndexerError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn register_schema<'life0, 'life1, 'async_trait>(
&'life0 self,
schema: &'life1 EntitySchema,
) -> Pin<Box<dyn Future<Output = Result<(), IndexerError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Register (create) a schema. Backends may create tables/collections.
Source§fn insert<'life0, 'async_trait>(
&'life0 self,
row: EntityRow,
) -> Pin<Box<dyn Future<Output = Result<(), IndexerError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn insert<'life0, 'async_trait>(
&'life0 self,
row: EntityRow,
) -> Pin<Box<dyn Future<Output = Result<(), IndexerError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Insert a new entity row. Errors if a row with the same primary key exists.
Source§fn upsert<'life0, 'async_trait>(
&'life0 self,
row: EntityRow,
) -> Pin<Box<dyn Future<Output = Result<(), IndexerError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn upsert<'life0, 'async_trait>(
&'life0 self,
row: EntityRow,
) -> Pin<Box<dyn Future<Output = Result<(), IndexerError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Insert or update an entity row. If a row with the same primary key exists,
it is replaced.
Source§fn delete<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
entity_type: &'life1 str,
id: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<(), IndexerError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn delete<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
entity_type: &'life1 str,
id: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<(), IndexerError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Delete a single entity by type and primary key.
Source§fn delete_after_block<'life0, 'life1, 'async_trait>(
&'life0 self,
entity_type: &'life1 str,
block_number: u64,
) -> Pin<Box<dyn Future<Output = Result<u64, IndexerError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn delete_after_block<'life0, 'life1, 'async_trait>(
&'life0 self,
entity_type: &'life1 str,
block_number: u64,
) -> Pin<Box<dyn Future<Output = Result<u64, IndexerError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Delete all entities of the given type with
block_number > block_number.
Used during reorg rollback. Returns the number of deleted rows.Auto Trait Implementations§
impl !Freeze for MemoryEntityStore
impl RefUnwindSafe for MemoryEntityStore
impl Send for MemoryEntityStore
impl Sync for MemoryEntityStore
impl Unpin for MemoryEntityStore
impl UnsafeUnpin for MemoryEntityStore
impl UnwindSafe for MemoryEntityStore
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more