surql_parser/upstream/sql/statements/alter/
mod.rs1pub mod field;
2use surrealdb_types::{SqlFormat, ToSql};
3mod database;
4mod index;
5mod namespace;
6mod sequence;
7mod system;
8mod table;
9pub use database::AlterDatabaseStatement;
10pub use field::AlterFieldStatement;
11pub use index::AlterIndexStatement;
12pub use namespace::AlterNamespaceStatement;
13pub use sequence::AlterSequenceStatement;
14pub use system::AlterSystemStatement;
15pub use table::AlterTableStatement;
16#[derive(Clone, Debug, Eq, PartialEq, Default)]
17#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
18pub enum AlterKind<T> {
24 #[default]
25 None,
26 Set(T),
27 Drop,
28}
29#[derive(Clone, Debug, Eq, PartialEq)]
30#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
31pub enum AlterStatement {
33 System(AlterSystemStatement),
34 Namespace(AlterNamespaceStatement),
35 Database(AlterDatabaseStatement),
36 Table(AlterTableStatement),
37 Index(AlterIndexStatement),
38 Sequence(AlterSequenceStatement),
39 Field(AlterFieldStatement),
40}
41impl ToSql for AlterStatement {
42 fn fmt_sql(&self, f: &mut String, fmt: SqlFormat) {
43 match self {
44 Self::System(v) => v.fmt_sql(f, fmt),
45 Self::Namespace(v) => v.fmt_sql(f, fmt),
46 Self::Database(v) => v.fmt_sql(f, fmt),
47 Self::Table(v) => v.fmt_sql(f, fmt),
48 Self::Index(v) => v.fmt_sql(f, fmt),
49 Self::Sequence(v) => v.fmt_sql(f, fmt),
50 Self::Field(v) => v.fmt_sql(f, fmt),
51 }
52 }
53}