Skip to main content

surql_parser/upstream/sql/statements/remove/
model.rs

1use crate::upstream::fmt::EscapeIdent;
2use surrealdb_types::{SqlFormat, ToSql, write_sql};
3#[derive(Clone, Debug, Eq, PartialEq)]
4#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
5pub struct RemoveModelStatement {
6	pub name: String,
7	pub version: String,
8	pub if_exists: bool,
9}
10impl ToSql for RemoveModelStatement {
11	fn fmt_sql(&self, f: &mut String, sql_fmt: SqlFormat) {
12		write_sql!(f, sql_fmt, "REMOVE MODEL");
13		if self.if_exists {
14			write_sql!(f, sql_fmt, " IF EXISTS");
15		}
16		write_sql!(
17			f,
18			sql_fmt,
19			" ml::{}<{}>",
20			EscapeIdent(&self.name),
21			self.version
22		);
23	}
24}