use surrealdb_types::{SqlFormat, ToSql, write_sql};
use crate::Expr;
use crate::statements::alter::AlterKind;
#[derive(Clone, Debug, Default, Eq, PartialEq)]
pub struct AlterSystemStatement {
pub query_timeout: AlterKind<Expr>,
pub compact: bool,
}
impl ToSql for AlterSystemStatement {
fn fmt_sql(&self, f: &mut String, fmt: SqlFormat) {
write_sql!(f, fmt, "ALTER SYSTEM");
match &self.query_timeout {
AlterKind::None => {}
AlterKind::Set(duration) => {
write_sql!(f, fmt, " QUERY_TIMEOUT {}", duration);
}
AlterKind::Drop => {
write_sql!(f, fmt, " DROP QUERY_TIMEOUT");
}
}
if self.compact {
write_sql!(f, fmt, " COMPACT");
}
}
}