1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
use sql_ast::ast as sql;
#[derive(Debug, PartialEq, Clone)]
pub enum Operator {
Plus,
Minus,
Multiply,
Divide,
Modulus,
Eq,
Neq,
Lt,
Lte,
Gt,
Gte,
And,
Or,
Like,
In,
NotIn,
Is,
IsNot,
Ilike,
Starts,
}
impl Into<sql::BinaryOperator> for &Operator {
fn into(self) -> sql::BinaryOperator {
match self {
Operator::Eq => sql::BinaryOperator::Eq,
Operator::Neq => sql::BinaryOperator::NotEq,
Operator::Lt => sql::BinaryOperator::Lt,
Operator::Lte => sql::BinaryOperator::LtEq,
Operator::Gt => sql::BinaryOperator::Gt,
Operator::Gte => sql::BinaryOperator::GtEq,
Operator::And => sql::BinaryOperator::And,
Operator::Or => sql::BinaryOperator::Or,
Operator::Like => sql::BinaryOperator::Like,
Operator::Plus => sql::BinaryOperator::Plus,
Operator::Minus => sql::BinaryOperator::Minus,
Operator::Multiply => sql::BinaryOperator::Multiply,
Operator::Divide => sql::BinaryOperator::Divide,
Operator::Modulus => sql::BinaryOperator::Modulus,
_ => panic!("unsupported conversion"),
}
}
}