mirror of
https://github.com/aljazceru/turso.git
synced 2025-12-19 01:24:20 +01:00
Co-authored-by: Mikaël Francoeur <mikael.francoeur@hotmail.com> cleanup Co-authored-by: Mikaël Francoeur <mikael.francoeur@hotmail.com>
33 lines
783 B
Rust
33 lines
783 B
Rust
use std::fmt::Display;
|
|
|
|
use serde::{Deserialize, Serialize};
|
|
|
|
#[derive(Debug, Clone, Serialize, Deserialize)]
|
|
pub enum Pragma {
|
|
AutoVacuumMode(VacuumMode),
|
|
}
|
|
|
|
#[derive(Debug, Clone, Serialize, Deserialize)]
|
|
pub enum VacuumMode {
|
|
None,
|
|
Incremental,
|
|
Full,
|
|
}
|
|
|
|
impl Display for Pragma {
|
|
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
|
match self {
|
|
Pragma::AutoVacuumMode(vacuum_mode) => {
|
|
let mode = match vacuum_mode {
|
|
VacuumMode::None => "none",
|
|
VacuumMode::Incremental => "incremental",
|
|
VacuumMode::Full => "full",
|
|
};
|
|
|
|
write!(f, "PRAGMA auto_vacuum={mode}")?;
|
|
Ok(())
|
|
}
|
|
}
|
|
}
|
|
}
|