Skip to main content

surrealdb_sql/
model.rs

1use common::fmt::EscapeKwFreeIdent;
2use surrealdb_strand::Strand;
3use surrealdb_types::{SqlFormat, ToSql, write_sql};
4
5#[derive(Clone, Debug, Default, PartialEq, Eq, Hash)]
6pub struct Model {
7	pub name: Strand,
8	pub version: Strand,
9}
10
11impl ToSql for Model {
12	fn fmt_sql(&self, f: &mut String, fmt: SqlFormat) {
13		f.push_str("ml");
14		for s in self.name.as_str().split("::") {
15			f.push_str("::");
16			write_sql!(f, fmt, "{}", EscapeKwFreeIdent(s));
17		}
18
19		write_sql!(f, fmt, "<{}>", self.version.as_str());
20	}
21}