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)
        }
    }

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…