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