pub enum FilterCondition {
Comparison {
column: String,
operator: FilterOperator,
param_index: usize,
},
Is {
column: String,
value: IsValue,
},
In {
column: String,
param_indices: Vec<usize>,
},
Pattern {
column: String,
operator: PatternOperator,
param_index: usize,
},
TextSearch {
column: String,
query_param_index: usize,
config: Option<String>,
search_type: TextSearchType,
},
ArrayRange {
column: String,
operator: ArrayRangeOperator,
param_index: usize,
},
Not(Box<FilterCondition>),
Or(Vec<FilterCondition>),
And(Vec<FilterCondition>),
Raw(String),
Match {
conditions: Vec<(String, usize)>,
},
}Expand description
A single filter condition in a WHERE clause.
Variants§
Comparison
column op $N (e.g. “name” = $1)
Is
column IS NULL / IS NOT NULL / IS TRUE / IS FALSE
In
column IN ($1, $2, …)
Pattern
column LIKE/ILIKE $N
TextSearch
Full-text search: column @@ to_tsquery(config, $N)
ArrayRange
Array/range operators (e.g. @>, <@, &&)
Not(Box<FilterCondition>)
NOT (condition)
Or(Vec<FilterCondition>)
(condition OR condition OR …)
And(Vec<FilterCondition>)
(condition AND condition AND …) - used inside or_filter
Raw(String)
Raw SQL fragment (escape hatch)
Match
Match multiple column=value conditions (AND)
Trait Implementations§
Source§impl Clone for FilterCondition
impl Clone for FilterCondition
Source§fn clone(&self) -> FilterCondition
fn clone(&self) -> FilterCondition
Returns a duplicate of the value. Read more
1.0.0 · 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 FilterCondition
impl RefUnwindSafe for FilterCondition
impl Send for FilterCondition
impl Sync for FilterCondition
impl Unpin for FilterCondition
impl UnwindSafe for FilterCondition
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