pub enum PredicateNode {
True,
Compare {
left: Operand,
op: ComparisonOp,
right: Operand,
},
InList {
expr: Operand,
list: Vec<ScalarValue>,
negated: bool,
},
IsNull {
expr: Operand,
negated: bool,
},
Not(Box<Predicate>),
And(Vec<Predicate>),
Or(Vec<Predicate>),
}Expand description
Recursive predicate node; leaf and branch variants coexist.
Variants§
True
Always-true literal; matches all rows.
Compare
Binary comparison.
InList
Membership test against a literal list.
Fields
§
list: Vec<ScalarValue>Literal candidates.
IsNull
Null check (IS NULL / IS NOT NULL).
Not(Box<Predicate>)
Logical negation.
And(Vec<Predicate>)
Conjunction over multiple predicates.
Or(Vec<Predicate>)
Disjunction over multiple predicates.
Trait Implementations§
Source§impl Clone for PredicateNode
impl Clone for PredicateNode
Source§fn clone(&self) -> PredicateNode
fn clone(&self) -> PredicateNode
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 moreSource§impl Debug for PredicateNode
impl Debug for PredicateNode
Source§impl PartialEq for PredicateNode
impl PartialEq for PredicateNode
Source§fn eq(&self, other: &PredicateNode) -> bool
fn eq(&self, other: &PredicateNode) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for PredicateNode
Auto Trait Implementations§
impl Freeze for PredicateNode
impl RefUnwindSafe for PredicateNode
impl Send for PredicateNode
impl Sync for PredicateNode
impl Unpin for PredicateNode
impl UnsafeUnpin for PredicateNode
impl UnwindSafe for PredicateNode
Blanket Implementations§
impl<T> Allocation for T
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