Trait mz_storage::controller::CollectionManagement
source · [−]pub trait CollectionManagement: Debug + Send + StorageController {
fn append_to_managed_collection<'life0, 'async_trait>(
&'life0 mut self,
global_id: GlobalId,
updates: Vec<(Row, Diff)>
) -> Pin<Box<dyn Future<Output = ()> + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn truncate_managed_collection<'life0, 'async_trait>(
&'life0 mut self,
global_id: GlobalId
) -> Pin<Box<dyn Future<Output = ()> + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn initialize_shard_mapping<'life0, 'async_trait>(
&'life0 mut self
) -> Pin<Box<dyn Future<Output = ()> + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn register_shard_mapping<'life0, 'async_trait>(
&'life0 mut self,
global_id: GlobalId
) -> Pin<Box<dyn Future<Output = ()> + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
}
Required Methods
Appends updates
to the collection correlated with global_id
at a
timestamp decided on by the implementor.
Truncates the collection associated with global_id
.
Initializes the data expressing which global IDs correlate to which shards. Necessary because we cannot write any of these mappings that we discover before the shard mapping collection exists.