surrealdb_sql/
base.rs

1use crate::Ident;
2use revision::revisioned;
3use serde::{Deserialize, Serialize};
4use std::fmt;
5
6#[derive(Clone, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
7#[revisioned(revision = 1)]
8pub enum Base {
9	Root,
10	Ns,
11	Db,
12	Sc(Ident),
13}
14
15impl Default for Base {
16	fn default() -> Self {
17		Self::Root
18	}
19}
20
21impl fmt::Display for Base {
22	fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
23		match self {
24			Self::Ns => f.write_str("NAMESPACE"),
25			Self::Db => f.write_str("DATABASE"),
26			Self::Sc(sc) => write!(f, "SCOPE {sc}"),
27			Self::Root => f.write_str("ROOT"),
28		}
29	}
30}