surrealdb_expr/expr/
with.rs1use common::fmt::{EscapeKwFreeIdent, Fmt};
2use surrealdb_types::{SqlFormat, ToSql};
3
4#[derive(Clone, Debug, Eq, PartialEq, Hash)]
5pub enum With {
6 NoIndex,
7 Index(Vec<String>),
8}
9
10impl ToSql for With {
11 fn fmt_sql(&self, f: &mut String, fmt: SqlFormat) {
12 f.push_str("WITH");
13 match self {
14 With::NoIndex => f.push_str(" NOINDEX"),
15 With::Index(i) => {
16 f.push_str(" INDEX ");
17 Fmt::comma_separated(i.iter().map(|x| EscapeKwFreeIdent(x.as_str())))
18 .fmt_sql(f, fmt)
19 }
20 }
21 }
22}