pub enum ConditionExpr {
Comparison {
left: Operand,
op: CompOp,
right: Operand,
},
Between {
operand: Operand,
lo: Operand,
hi: Operand,
},
In {
operand: Operand,
values: Vec<Operand>,
},
AttributeExists(Vec<PathElement>),
AttributeNotExists(Vec<PathElement>),
AttributeType(Vec<PathElement>, Operand),
BeginsWith(Operand, Operand),
Contains(Operand, Operand),
And(Box<ConditionExpr>, Box<ConditionExpr>),
Or(Box<ConditionExpr>, Box<ConditionExpr>),
Not(Box<ConditionExpr>),
}Expand description
Parsed condition expression AST.
Variants§
Comparison
path comparator operand
Between
operand BETWEEN lo AND hi
In
operand IN (val1, val2, ...)
AttributeExists(Vec<PathElement>)
attribute_exists(path)
AttributeNotExists(Vec<PathElement>)
attribute_not_exists(path)
AttributeType(Vec<PathElement>, Operand)
attribute_type(path, :type_val)
BeginsWith(Operand, Operand)
begins_with(path, operand)
Contains(Operand, Operand)
contains(path, operand)
And(Box<ConditionExpr>, Box<ConditionExpr>)
size(path) — used as operand in comparisons, handled specially
This is actually an operand, not standalone. We handle size() as an Operand variant.
expr AND expr
Or(Box<ConditionExpr>, Box<ConditionExpr>)
expr OR expr
Not(Box<ConditionExpr>)
NOT expr
Trait Implementations§
Source§impl Clone for ConditionExpr
impl Clone for ConditionExpr
Source§fn clone(&self) -> ConditionExpr
fn clone(&self) -> ConditionExpr
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for ConditionExpr
impl RefUnwindSafe for ConditionExpr
impl Send for ConditionExpr
impl Sync for ConditionExpr
impl Unpin for ConditionExpr
impl UnsafeUnpin for ConditionExpr
impl UnwindSafe for ConditionExpr
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more