pub trait Ligature {
fn all_datasets(
&self
) -> Box<dyn Iterator<Item = Result<Dataset, LigatureError>>>;
fn dataset_exists(&self, dataset: &Dataset) -> Result<bool, LigatureError>;
fn match_datasets_prefix(
&self,
prefix: &str
) -> Box<dyn Iterator<Item = Result<Dataset, LigatureError>>>;
fn match_datasets_range(
&self,
start: &str,
end: &str
) -> Box<dyn Iterator<Item = Result<Dataset, LigatureError>>>;
fn create_dataset(&self, dataset: &Dataset) -> Result<(), LigatureError>;
fn delete_dataset(&self, dataset: &Dataset) -> Result<(), LigatureError>;
fn query<T>(
&self,
dataset: &Dataset,
f: QueryFn<T>
) -> Result<T, LigatureError>;
fn write<T>(
&self,
dataset: &Dataset,
f: WriteFn<T>
) -> Result<T, LigatureError>;
}
Expand description
A trait that all Ligature implementations implement.
Required methods
fn all_datasets(
&self
) -> Box<dyn Iterator<Item = Result<Dataset, LigatureError>>>
fn all_datasets(
&self
) -> Box<dyn Iterator<Item = Result<Dataset, LigatureError>>>
Returns all Datasets in a Ligature instance.
fn dataset_exists(&self, dataset: &Dataset) -> Result<bool, LigatureError>
fn dataset_exists(&self, dataset: &Dataset) -> Result<bool, LigatureError>
Check if a given Dataset exists.
fn match_datasets_prefix(
&self,
prefix: &str
) -> Box<dyn Iterator<Item = Result<Dataset, LigatureError>>>
fn match_datasets_prefix(
&self,
prefix: &str
) -> Box<dyn Iterator<Item = Result<Dataset, LigatureError>>>
Returns all Datasets in a Ligature instance that start with the given prefix.
fn match_datasets_range(
&self,
start: &str,
end: &str
) -> Box<dyn Iterator<Item = Result<Dataset, LigatureError>>>
fn match_datasets_range(
&self,
start: &str,
end: &str
) -> Box<dyn Iterator<Item = Result<Dataset, LigatureError>>>
Returns all Datasets in a Ligature instance that are in a given range (inclusive, exclusive].
fn create_dataset(&self, dataset: &Dataset) -> Result<(), LigatureError>
fn create_dataset(&self, dataset: &Dataset) -> Result<(), LigatureError>
Creates a dataset with the given name. TODO should probably return its own error type { InvalidDataset, DatasetExists, CouldNotCreateDataset }
fn delete_dataset(&self, dataset: &Dataset) -> Result<(), LigatureError>
fn delete_dataset(&self, dataset: &Dataset) -> Result<(), LigatureError>
Deletes a dataset with the given name. TODO should probably return its own error type { InvalidDataset, CouldNotDeleteDataset }
Initializes a QueryTx TODO should probably return its own error type CouldNotInitializeQueryTx