pub enum Predicate {
Eq {
column: ColumnId,
value: PredicateValue,
},
In {
column: ColumnId,
values: Vec<PredicateValue>,
},
Range(RangePredicate),
Exists(ColumnId),
IsNull(ColumnId),
And(Vec<Predicate>),
Or(Vec<Predicate>),
Not(Box<Predicate>),
}Expand description
The complete v1 metadata predicate language.
This enum intentionally has no free-form or unsupported marker. Bindings must reject LIKE, regex, GLOB, and every other operation not represented by one of these variants before calling the engine.
Variants§
Eq
Exact typed equality.
In
Membership in a typed set. An empty set matches no rows.
Range(RangePredicate)
A numeric range.
Exists(ColumnId)
Rows in which a column is non-null.
IsNull(ColumnId)
Rows in which a column is null.
And(Vec<Predicate>)
Logical conjunction. The empty conjunction is true within the alive set.
Or(Vec<Predicate>)
Logical disjunction. The empty disjunction is false.
Not(Box<Predicate>)
Logical negation bounded by the current alive set.
Trait Implementations§
impl StructuralPartialEq for Predicate
Auto Trait Implementations§
impl Freeze for Predicate
impl RefUnwindSafe for Predicate
impl Send for Predicate
impl Sync for Predicate
impl Unpin for Predicate
impl UnsafeUnpin for Predicate
impl UnwindSafe for Predicate
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