pub enum Expr {
Between {
lhs: Box<Expr>,
not: bool,
start: Box<Expr>,
end: Box<Expr>,
},
Case {
base: Option<Box<Expr>>,
when_then_pairs: Vec<(Box<Expr>, Box<Expr>)>,
else_expr: Option<Box<Expr>>,
},
Binary(Box<Expr>, Operator, Box<Expr>),
Cast {
expr: Box<Expr>,
type_name: Type,
},
Collate(Box<Expr>, Name),
DoublyQualified(Name, Name, Name),
Exists(Box<Select>),
FunctionCall {
name: String,
distinctness: Option<Distinctness>,
args: Option<Vec<Box<Expr>>>,
},
FunctionCallStar(String),
Id(Name),
InList {
lhs: Box<Expr>,
not: bool,
rhs: Option<Vec<Box<Expr>>>,
},
InSelect {
lhs: Box<Expr>,
not: bool,
rhs: Box<Select>,
},
InTable {
lhs: Box<Expr>,
not: bool,
rhs: QualifiedName,
},
Isnull(Box<Expr>),
Like {
lhs: Box<Expr>,
not: bool,
op: LikeOperator,
rhs: Box<Expr>,
escape: Option<Box<Expr>>,
},
Literal(String),
NotNull(Box<Expr>),
NumericLiteral(String),
Parenthesized(Box<Expr>),
Qualified(Name, Name),
Raise(ResolveType, Option<String>),
Subquery(Box<Select>),
Unary(UnaryOperator, Box<Expr>),
Variable(String),
}
Variants
Between
Fields of Between
Case
Fields of Case
Binary(Box<Expr>, Operator, Box<Expr>)
Cast
Fields of Cast
Collate(Box<Expr>, Name)
DoublyQualified(Name, Name, Name)
Exists(Box<Select>)
FunctionCall
Fields of FunctionCall
FunctionCallStar(String)
Id(Name)
InList
Fields of InList
InSelect
Fields of InSelect
InTable
Fields of InTable
Isnull(Box<Expr>)
Like
Fields of Like
Literal(String)
NotNull(Box<Expr>)
NumericLiteral(String)
Parenthesized(Box<Expr>)
Qualified(Name, Name)
Raise(ResolveType, Option<String>)
Subquery(Box<Select>)
Unary(UnaryOperator, Box<Expr>)
Variable(String)
Trait Implementations
Formats the value using the given formatter.
fn eq(&self, __arg_0: &Expr) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, __arg_0: &Expr) -> bool
This method tests for !=
.