surrealdb_sql/record_id/
range.rs1use std::ops::Bound;
2
3use surrealdb_types::{SqlFormat, ToSql};
4
5use super::RecordIdKeyLit;
6
7#[derive(Clone, Debug, PartialEq, Eq)]
8pub struct RecordIdKeyRangeLit {
9 pub start: Bound<RecordIdKeyLit>,
10 pub end: Bound<RecordIdKeyLit>,
11}
12
13impl ToSql for RecordIdKeyRangeLit {
14 fn fmt_sql(&self, f: &mut String, fmt: SqlFormat) {
15 match &self.start {
16 Bound::Unbounded => {}
17 Bound::Included(v) => v.fmt_sql(f, fmt),
18 Bound::Excluded(v) => {
19 v.fmt_sql(f, fmt);
20 f.push('>');
21 }
22 }
23 match &self.end {
24 Bound::Unbounded => f.push_str(".."),
25 Bound::Excluded(v) => {
26 f.push_str("..");
27 v.fmt_sql(f, fmt);
28 }
29 Bound::Included(v) => {
30 f.push_str("..=");
31 v.fmt_sql(f, fmt);
32 }
33 }
34 }
35}