use std::path::PathBuf;
use cesiumdb::{
Db,
DbOptions,
};
fn main() {
let mut opts = DbOptions::default();
opts.data_dir(PathBuf::from("/tmp/cesiumdb_basic_example"));
let db = Db::open(opts).unwrap();
db.put(b"hello", b"world").unwrap();
let value = db.get(b"hello").unwrap();
assert_eq!(value.as_deref(), Some(b"world".as_slice()));
println!("put(hello, world) => get(hello) = {:?}", value);
db.put(b"hello", b"cesium").unwrap();
let value = db.get(b"hello").unwrap();
assert_eq!(value.as_deref(), Some(b"cesium".as_slice()));
println!("put(hello, cesium) => get(hello) = {:?}", value);
db.delete(b"hello").unwrap();
let value = db.get(b"hello").unwrap();
assert!(value.is_none());
println!("delete(hello) => get(hello) = {:?}", value);
db.sync().unwrap();
println!("synced to disk");
db.close().unwrap();
println!("closed successfully");
}