pub enum FilterExpr {
Filter(Filter),
All(Vec<FilterExpr>),
Any(Vec<FilterExpr>),
Not(Box<FilterExpr>),
Relation(RelationFilter),
Coalesce(CoalesceFilter),
Json(JsonFilter),
Spatial(SpatialFilter),
VectorDistance(VectorDistanceFilter),
}Variants§
Filter(Filter)
All(Vec<FilterExpr>)
Any(Vec<FilterExpr>)
Not(Box<FilterExpr>)
Relation(RelationFilter)
Coalesce(CoalesceFilter)
COALESCE(col_a, col_b, ...) op value — built via
super::coalesce::coalesce.
Json(JsonFilter)
JSON / JSONB column predicates — see JsonFilter. Built via
FieldRef::json_has_key(...) and
FieldRef::json_get_text(...).<cmp>(...).
Spatial(SpatialFilter)
PostGIS spatial predicates — see SpatialFilter. Built via
FieldRef::covers_geography(...) /
FieldRef::dwithin_geography(...). PG-only; the embedded
rusqlite backend doesn’t ship SpatiaLite by default, so its
renderer fails loud at codegen time.
VectorDistance(VectorDistanceFilter)
Vector(n) distance-to-a-query-vector threshold predicates (see
docs/design/extensions.md §6/§7, cratestack#163) — see
VectorDistanceFilter. Built via
FieldRef::distance_to(...).lt(...)/.lte(...)/etc. PG-only
(pgvector); the embedded rusqlite backend fails loud at render
time, mirroring Self::Spatial.
Implementations§
Source§impl FilterExpr
impl FilterExpr
pub fn all(filters: impl IntoIterator<Item = FilterExpr>) -> Self
pub fn any(filters: impl IntoIterator<Item = FilterExpr>) -> Self
pub fn not(self) -> Self
pub fn and(self, other: impl Into<FilterExpr>) -> Self
pub fn or(self, other: impl Into<FilterExpr>) -> Self
pub fn relation( parent_table: &'static str, parent_column: &'static str, related_table: &'static str, related_column: &'static str, filter: FilterExpr, ) -> Self
pub fn relation_some( parent_table: &'static str, parent_column: &'static str, related_table: &'static str, related_column: &'static str, filter: FilterExpr, ) -> Self
pub fn relation_every( parent_table: &'static str, parent_column: &'static str, related_table: &'static str, related_column: &'static str, filter: FilterExpr, ) -> Self
pub fn relation_none( parent_table: &'static str, parent_column: &'static str, related_table: &'static str, related_column: &'static str, filter: FilterExpr, ) -> Self
Trait Implementations§
Source§impl Clone for FilterExpr
impl Clone for FilterExpr
Source§fn clone(&self) -> FilterExpr
fn clone(&self) -> FilterExpr
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more