use crate::store::fst::StoreFSTActionBuilder;
use crate::store::item::StoreItem;
use crate::store::kv::StoreKVActionBuilder;
pub struct ExecutorFlushC;
impl ExecutorFlushC {
pub fn execute(store: StoreItem) -> Result<u32, ()> {
if let StoreItem(collection, None, None) = store {
general_kv_access_lock_write!();
general_fst_access_lock_write!();
match (
StoreKVActionBuilder::erase(collection, None),
StoreFSTActionBuilder::erase(collection, None),
) {
(Ok(erase_count), Ok(_)) => Ok(erase_count),
_ => Err(()),
}
} else {
Err(())
}
}
}