surrealdb_sql/statements/alter/
mod.rs1pub mod access;
2pub mod analyzer;
3pub mod api;
4pub mod bucket;
5pub mod config;
6pub mod event;
7pub mod field;
8pub mod function;
9pub mod module;
10use surrealdb_types::{SqlFormat, ToSql};
11pub mod database;
12pub mod index;
13pub mod param;
14pub mod sequence;
15pub mod user;
16
17pub mod namespace;
18pub mod system;
19pub mod table;
20
21pub use access::AlterAccessStatement;
22pub use analyzer::AlterAnalyzerStatement;
23pub use api::{AlterApiClause, AlterApiStatement};
24pub use bucket::AlterBucketStatement;
25pub use config::AlterConfigStatement;
26pub use database::AlterDatabaseStatement;
27pub use event::AlterEventStatement;
28pub use field::AlterFieldStatement;
29pub use function::AlterFunctionStatement;
30pub use index::AlterIndexStatement;
31pub use module::AlterModuleStatement;
32pub use namespace::AlterNamespaceStatement;
33pub use param::AlterParamStatement;
34pub use sequence::AlterSequenceStatement;
35pub use system::AlterSystemStatement;
36pub use table::AlterTableStatement;
37pub use user::AlterUserStatement;
38
39#[derive(Clone, Debug, Eq, PartialEq, Default)]
40#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
41pub enum AlterKind<T> {
47 #[default]
48 None,
49 Set(T),
50 Drop,
51}
52
53#[derive(Clone, Debug, Eq, PartialEq)]
54#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
55pub enum AlterStatement {
57 System(AlterSystemStatement),
58 Namespace(AlterNamespaceStatement),
59 Database(AlterDatabaseStatement),
60 Table(AlterTableStatement),
61 Api(AlterApiStatement),
62 Event(AlterEventStatement),
63 Index(AlterIndexStatement),
64 Sequence(AlterSequenceStatement),
65 Field(Box<AlterFieldStatement>),
66 Param(AlterParamStatement),
67 Bucket(AlterBucketStatement),
68 Config(AlterConfigStatement),
69 Analyzer(AlterAnalyzerStatement),
70 Function(AlterFunctionStatement),
71 User(AlterUserStatement),
72 Access(AlterAccessStatement),
73 Module(AlterModuleStatement),
74}
75
76impl ToSql for AlterStatement {
77 fn fmt_sql(&self, f: &mut String, fmt: SqlFormat) {
78 match self {
79 Self::System(v) => v.fmt_sql(f, fmt),
80 Self::Namespace(v) => v.fmt_sql(f, fmt),
81 Self::Database(v) => v.fmt_sql(f, fmt),
82 Self::Table(v) => v.fmt_sql(f, fmt),
83 Self::Api(v) => v.fmt_sql(f, fmt),
84 Self::Event(v) => v.fmt_sql(f, fmt),
85 Self::Index(v) => v.fmt_sql(f, fmt),
86 Self::Sequence(v) => v.fmt_sql(f, fmt),
87 Self::Field(v) => v.fmt_sql(f, fmt),
88 Self::Param(v) => v.fmt_sql(f, fmt),
89 Self::Bucket(v) => v.fmt_sql(f, fmt),
90 Self::Config(v) => v.fmt_sql(f, fmt),
91 Self::Analyzer(v) => v.fmt_sql(f, fmt),
92 Self::Function(v) => v.fmt_sql(f, fmt),
93 Self::User(v) => v.fmt_sql(f, fmt),
94 Self::Access(v) => v.fmt_sql(f, fmt),
95 Self::Module(v) => v.fmt_sql(f, fmt),
96 }
97 }
98}