surrealdb_expr/expr/statements/alter/
table.rs1use surrealdb_types::{SqlFormat, ToSql};
2
3use super::AlterKind;
4use crate::expr::permission::Permissions;
5use crate::expr::table_type::TableType;
6use crate::expr::{ChangeFeed, Expr, Literal};
7
8#[derive(Clone, Debug, Eq, PartialEq, Hash)]
9pub struct AlterTableStatement {
24 pub name: Expr,
26 pub if_exists: bool,
28 pub schemafull: AlterKind<()>,
30 pub permissions: Option<Permissions>,
32 pub changefeed: AlterKind<ChangeFeed>,
34 pub comment: AlterKind<String>,
36 pub compact: bool,
38 pub kind: Option<TableType>,
40 pub inline_edges_cap: AlterKind<u32>,
42 pub inline_refs_cap: AlterKind<u32>,
44}
45
46impl Default for AlterTableStatement {
47 fn default() -> Self {
48 Self {
49 name: Expr::Literal(Literal::None),
50 if_exists: false,
51 schemafull: AlterKind::None,
52 permissions: None,
53 changefeed: AlterKind::None,
54 comment: AlterKind::None,
55 compact: false,
56 kind: None,
57 inline_edges_cap: AlterKind::None,
58 inline_refs_cap: AlterKind::None,
59 }
60 }
61}
62
63impl ToSql for AlterTableStatement {
64 fn fmt_sql(&self, f: &mut String, fmt: SqlFormat) {
65 let stmt: crate::sql::statements::alter::AlterTableStatement = self.clone().into();
66 stmt.fmt_sql(f, fmt);
67 }
68}