surql_parser/upstream/sql/
base.rs1use std::fmt;
2use surrealdb_types::{SqlFormat, ToSql, write_sql};
3#[derive(Clone, Debug, Default, Eq, PartialEq, PartialOrd, Hash)]
4#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
5pub enum Base {
6 #[default]
7 Root,
8 Ns,
9 Db,
10}
11impl fmt::Display for Base {
12 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
13 match self {
14 Self::Ns => f.write_str("NAMESPACE"),
15 Self::Db => f.write_str("DATABASE"),
16 Self::Root => f.write_str("ROOT"),
17 }
18 }
19}
20impl ToSql for Base {
21 fn fmt_sql(&self, f: &mut String, _fmt: SqlFormat) {
22 match self {
23 Self::Ns => write_sql!(f, sql_fmt, "NAMESPACE"),
24 Self::Db => write_sql!(f, sql_fmt, "DATABASE"),
25 Self::Root => write_sql!(f, sql_fmt, "ROOT"),
26 }
27 }
28}