Skip to main content

surql_parser/upstream/sql/statements/alter/
sequence.rs

1use 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}