surrealdb_expr/expr/statements/define/
database.rs1use super::DefineKind;
2use crate::expr::changefeed::ChangeFeed;
3use crate::expr::statements::info::InfoStructure;
4use crate::expr::{Expr, Literal};
5use crate::val::Value;
6
7#[derive(Clone, Debug, Eq, PartialEq, Hash)]
8pub struct DefineDatabaseStatement {
9 pub kind: DefineKind,
10 pub id: Option<u32>,
11 pub name: Expr,
12 pub strict: bool,
13 pub comment: Expr,
14 pub changefeed: Option<ChangeFeed>,
15}
16
17impl Default for DefineDatabaseStatement {
18 fn default() -> Self {
19 Self {
20 kind: DefineKind::Default,
21 id: None,
22 name: Expr::Literal(Literal::None),
23 comment: Expr::Literal(Literal::None),
24 changefeed: None,
25 strict: false,
26 }
27 }
28}
29impl InfoStructure for DefineDatabaseStatement {
30 fn structure(self) -> Value {
31 Value::from(map! {
32 "name" => self.name.structure(),
33 "comment" => self.comment.structure(),
34 })
35 }
36}