summaryrefslogtreecommitdiff
path: root/src/db/backup.rs
Commit message (Collapse)AuthorAge
* Upgrade to Rust 1.85 and Rust 2024 edition.Owen Jacobson2025-02-20
| | | | | | | | There are a couple of migration suggestions from `cargo fix --edition` that I have deliberately skipped, which are intended to make sure that the changes to `if let` scoping don't bite us. They don't, I'm pretty sure, and if I turn out to be wrong, I'd rather fix the scoping issues (as they arise) than use `match` (`cargo fix --edition`'s suggestion). This change also includes a bulk reformat and a clippy cleanup. NOTA BENE: As this requires a new Rust toolchain, you'll need to update Rust (`rustup update`, normally) or the server won't build. This also applies to the Debian builder Docker image; it'll need to be rebuilt (from scratch, pulling its base image again) as well.
* Replace `unsafe` impl of backups with `rusqlite`.Owen Jacobson2024-10-05
| | | | The unsafe code still exists, but I have more faith in the rusqlite authors than in myself to ensure that the code is correct.
* Implement `sqlite3_backup_step`'s multi-step protocol.Owen Jacobson2024-10-05
|
* Use the right functions for determining error messages.Owen Jacobson2024-10-05
|
* Improve ergonomics of `Backup`Owen Jacobson2024-10-05
|
* Limit unsafe{} blocks even more tightly.Owen Jacobson2024-10-05
|
* Remove an unchecked operation in favour of a panicOwen Jacobson2024-10-05
|
* Tighten up `unsafe{}` blocks in backup logic.Owen Jacobson2024-10-05
|
* Make a backup of the `.hi` database before applying migrations.Owen Jacobson2024-10-05
This was motivated by Kit and I both independently discovering that sqlite3 will happily partially apply migrations, leaving the DB in a broken state.