INNER CODE UNIT · Rust
dump_database
gluesql/gluesql · cli/src/lib.rs:195
pub fn dump_database<T: Store + Transaction>(storage: &mut T, dump_path: PathBuf) -> Result<()> {
let mut file = File::create(dump_path)?;
let autocommit = storage.begin(true)?;
let result = write_dump(storage, &mut file);
if !autocommit {
return result;
}
match result {
Ok(()) => storage.commit().map_err(Into::into),
Err(error) => {
storage.rollback()?;
Err(error)
}
}