use skv::KeyValueStore;
fn main() -> Result<(), Box<dyn std::error::Error>> {
std::fs::create_dir_all("tmp")?;
let store_name = "kv_store1.db";
let index_name = "kv_index1.db";
let kv_store = KeyValueStore::<[u8; 4]>::new(
format!("tmp/{}", store_name),
format!("tmp/{}", index_name),
)?;
kv_store.insert("key1".to_string(), [255, 255, 255, 255])?;
println!("Inital {:?}", kv_store.get("key1"));
drop(kv_store);
let kv_store = KeyValueStore::<[u8; 4]>::load(
format!("tmp/{}", store_name),
format!("tmp/{}", index_name),
)?;
println!("ReRead {:?}", kv_store.get("key1"));
std::fs::remove_file(format!("tmp/{}", store_name))?;
std::fs::remove_file(format!("tmp/{}", index_name))?;
std::fs::remove_dir("tmp")?;
Ok(())
}