surql_parser/upstream/sql/
constant.rs1use surrealdb_types::{SqlFormat, ToSql};
2#[derive(Clone, Debug, Eq, PartialEq, PartialOrd, Hash)]
3#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
4pub enum Constant {
5 MathE,
6 MathFrac1Pi,
7 MathFrac1Sqrt2,
8 MathFrac2Pi,
9 MathFrac2SqrtPi,
10 MathFracPi2,
11 MathFracPi3,
12 MathFracPi4,
13 MathFracPi6,
14 MathFracPi8,
15 MathInfinity,
16 MathLn10,
17 MathLn2,
18 MathLog102,
19 MathLog10E,
20 MathLog210,
21 MathLog2E,
22 MathNegInfinity,
23 MathPi,
24 MathSqrt2,
25 MathTau,
26 TimeEpoch,
27 TimeMin,
28 TimeMax,
29 DurationMax,
30}
31impl ToSql for Constant {
32 fn fmt_sql(&self, f: &mut String, _fmt: SqlFormat) {
33 f.push_str(match self {
34 Self::MathE => "math::E",
35 Self::MathFrac1Pi => "math::FRAC_1_PI",
36 Self::MathFrac1Sqrt2 => "math::FRAC_1_SQRT_2",
37 Self::MathFrac2Pi => "math::FRAC_2_PI",
38 Self::MathFrac2SqrtPi => "math::FRAC_2_SQRT_PI",
39 Self::MathFracPi2 => "math::FRAC_PI_2",
40 Self::MathFracPi3 => "math::FRAC_PI_3",
41 Self::MathFracPi4 => "math::FRAC_PI_4",
42 Self::MathFracPi6 => "math::FRAC_PI_6",
43 Self::MathFracPi8 => "math::FRAC_PI_8",
44 Self::MathInfinity => "math::INFINITY",
45 Self::MathLn10 => "math::LN_10",
46 Self::MathLn2 => "math::LN_2",
47 Self::MathLog102 => "math::LOG10_2",
48 Self::MathLog10E => "math::LOG10_E",
49 Self::MathLog210 => "math::LOG2_10",
50 Self::MathLog2E => "math::LOG2_E",
51 Self::MathNegInfinity => "math::NEG_INFINITY",
52 Self::MathPi => "math::PI",
53 Self::MathSqrt2 => "math::SQRT_2",
54 Self::MathTau => "math::TAU",
55 Self::TimeEpoch => "time::EPOCH",
56 Self::TimeMin => "time::MINIMUM",
57 Self::TimeMax => "time::MAXIMUM",
58 Self::DurationMax => "duration::MAX",
59 })
60 }
61}