Skip to main content

surrealdb_sql/
split.rs

1use std::ops::Deref;
2
3use common::fmt::Fmt;
4use surrealdb_types::write_sql;
5
6use crate::idiom::Idiom;
7
8#[derive(Clone, Debug, Default, PartialEq, Eq)]
9pub struct Splits(pub Vec<Split>);
10
11impl surrealdb_types::ToSql for Splits {
12	fn fmt_sql(&self, f: &mut String, fmt: surrealdb_types::SqlFormat) {
13		write_sql!(f, fmt, "SPLIT ON {}", Fmt::comma_separated(&self.0))
14	}
15}
16
17#[derive(Clone, Debug, Default, PartialEq, Eq)]
18#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
19pub struct Split(pub Idiom);
20
21impl Deref for Split {
22	type Target = Idiom;
23	fn deref(&self) -> &Self::Target {
24		&self.0
25	}
26}
27
28impl surrealdb_types::ToSql for Split {
29	fn fmt_sql(&self, f: &mut String, fmt: surrealdb_types::SqlFormat) {
30		self.0.fmt_sql(f, fmt);
31	}
32}