surql_parser/upstream/sql/statements/alter/
sequence.rs1use crate::upstream::fmt::{CoverStmts, EscapeKwIdent};
2use crate::upstream::sql::Expr;
3use surrealdb_types::{SqlFormat, ToSql, write_sql};
4#[derive(Clone, Debug, Eq, PartialEq)]
5#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
6#[derive(Default)]
7pub struct AlterSequenceStatement {
8 pub name: String,
9 pub if_exists: bool,
10 pub timeout: Option<Expr>,
11}
12impl ToSql for AlterSequenceStatement {
13 fn fmt_sql(&self, f: &mut String, fmt: SqlFormat) {
14 write_sql!(f, fmt, "ALTER SEQUENCE");
15 if self.if_exists {
16 write_sql!(f, fmt, " IF EXISTS");
17 }
18 write_sql!(f, fmt, " {}", EscapeKwIdent(&self.name, &["IF"]));
19 if let Some(timeout) = &self.timeout {
20 write_sql!(f, fmt, " TIMEOUT {}", CoverStmts(timeout));
21 }
22 }
23}