surrealdb_expr/expr/statements/
create.rs1use surrealdb_types::{SqlFormat, ToSql};
2
3use crate::expr::{Data, Expr, Literal, Output};
4
5#[derive(Clone, Debug, Eq, PartialEq, Hash)]
6pub struct CreateStatement {
7 pub only: bool,
9 pub what: Vec<Expr>,
11 pub data: Option<Data>,
13 pub output: Option<Output>,
15 pub timeout: Expr,
17}
18
19impl Default for CreateStatement {
20 fn default() -> Self {
21 Self {
22 only: Default::default(),
23 what: Default::default(),
24 data: Default::default(),
25 output: Default::default(),
26 timeout: Expr::Literal(Literal::None),
27 }
28 }
29}
30
31impl ToSql for CreateStatement {
32 fn fmt_sql(&self, f: &mut String, fmt: SqlFormat) {
33 let stmt: crate::sql::statements::create::CreateStatement = self.clone().into();
34 stmt.fmt_sql(f, fmt);
35 }
36}