Skip to main content

surql_parser/upstream/sql/
constant.rs

1use 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}