mirror of
https://github.com/launchbadge/sqlx.git
synced 2026-02-15 12:20:00 +00:00
Inlined format args make code more readable, and code more compact. I ran this clippy command to fix most cases, and then cleaned up a few trailing commas and uncaught edge cases. ``` cargo clippy --bins --examples --benches --tests --lib --workspace --fix -- -A clippy::all -W clippy::uninlined_format_args ```
50 lines
1.3 KiB
Rust
50 lines
1.3 KiB
Rust
use crate::error::Error;
|
|
use std::str::FromStr;
|
|
|
|
/// Refer to [SQLite documentation] for the meaning of various synchronous settings.
|
|
///
|
|
/// [SQLite documentation]: https://www.sqlite.org/pragma.html#pragma_synchronous
|
|
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
|
|
pub enum SqliteSynchronous {
|
|
Off,
|
|
Normal,
|
|
Full,
|
|
Extra,
|
|
}
|
|
|
|
impl SqliteSynchronous {
|
|
pub(crate) fn as_str(&self) -> &'static str {
|
|
match self {
|
|
SqliteSynchronous::Off => "OFF",
|
|
SqliteSynchronous::Normal => "NORMAL",
|
|
SqliteSynchronous::Full => "FULL",
|
|
SqliteSynchronous::Extra => "EXTRA",
|
|
}
|
|
}
|
|
}
|
|
|
|
impl Default for SqliteSynchronous {
|
|
fn default() -> Self {
|
|
SqliteSynchronous::Full
|
|
}
|
|
}
|
|
|
|
impl FromStr for SqliteSynchronous {
|
|
type Err = Error;
|
|
|
|
fn from_str(s: &str) -> Result<Self, Error> {
|
|
Ok(match &*s.to_ascii_lowercase() {
|
|
"off" => SqliteSynchronous::Off,
|
|
"normal" => SqliteSynchronous::Normal,
|
|
"full" => SqliteSynchronous::Full,
|
|
"extra" => SqliteSynchronous::Extra,
|
|
|
|
_ => {
|
|
return Err(Error::Configuration(
|
|
format!("unknown value {s:?} for `synchronous`").into(),
|
|
));
|
|
}
|
|
})
|
|
}
|
|
}
|