pub struct Filter {
pub column: String,
pub operator: Operator,
pub value: FilterValue,
}
Expand description
Individual filter condition
Represents a single comparison operation between a column and a value. Provides convenient constructor methods for common comparison operations.
§Examples
use libsql_orm::{Filter, Value};
// Basic comparisons
let eq_filter = Filter::eq("status", "active");
let gt_filter = Filter::gt("age", 18i64);
let like_filter = Filter::like("name", "%john%");
// Range and list operations
let between_filter = Filter::between("score", 80, 100);
let in_filter = Filter::in_values("role", vec!["admin", "user"]);
let null_filter = Filter::is_null("deleted_at");
Fields§
§column: String
Column name
operator: Operator
Operator
value: FilterValue
Value(s) to compare against
Implementations§
Source§impl Filter
impl Filter
Sourcepub fn new(
column: impl Into<String>,
operator: Operator,
value: FilterValue,
) -> Self
pub fn new( column: impl Into<String>, operator: Operator, value: FilterValue, ) -> Self
Create a new filter
Sourcepub fn new_simple(
column: impl Into<String>,
operator: Operator,
value: impl Into<Value>,
) -> Self
pub fn new_simple( column: impl Into<String>, operator: Operator, value: impl Into<Value>, ) -> Self
Create a new filter with a simple value
Sourcepub fn eq(column: impl Into<String>, value: impl Into<Value>) -> Self
pub fn eq(column: impl Into<String>, value: impl Into<Value>) -> Self
Create an equality filter
Sourcepub fn ne(column: impl Into<String>, value: impl Into<Value>) -> Self
pub fn ne(column: impl Into<String>, value: impl Into<Value>) -> Self
Create a not-equal filter
Sourcepub fn lt(column: impl Into<String>, value: impl Into<Value>) -> Self
pub fn lt(column: impl Into<String>, value: impl Into<Value>) -> Self
Create a less-than filter
Sourcepub fn le(column: impl Into<String>, value: impl Into<Value>) -> Self
pub fn le(column: impl Into<String>, value: impl Into<Value>) -> Self
Create a less-than-or-equal filter
Sourcepub fn gt(column: impl Into<String>, value: impl Into<Value>) -> Self
pub fn gt(column: impl Into<String>, value: impl Into<Value>) -> Self
Create a greater-than filter
Sourcepub fn ge(column: impl Into<String>, value: impl Into<Value>) -> Self
pub fn ge(column: impl Into<String>, value: impl Into<Value>) -> Self
Create a greater-than-or-equal filter
Sourcepub fn like(column: impl Into<String>, pattern: impl Into<String>) -> Self
pub fn like(column: impl Into<String>, pattern: impl Into<String>) -> Self
Create a LIKE filter
Sourcepub fn not_like(column: impl Into<String>, pattern: impl Into<String>) -> Self
pub fn not_like(column: impl Into<String>, pattern: impl Into<String>) -> Self
Create a NOT LIKE filter
Sourcepub fn in_values(
column: impl Into<String>,
values: Vec<impl Into<Value>>,
) -> Self
pub fn in_values( column: impl Into<String>, values: Vec<impl Into<Value>>, ) -> Self
Create an IN filter
Sourcepub fn not_in_values(
column: impl Into<String>,
values: Vec<impl Into<Value>>,
) -> Self
pub fn not_in_values( column: impl Into<String>, values: Vec<impl Into<Value>>, ) -> Self
Create a NOT IN filter
Sourcepub fn is_not_null(column: impl Into<String>) -> Self
pub fn is_not_null(column: impl Into<String>) -> Self
Create an IS NOT NULL filter
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Filter
impl<'de> Deserialize<'de> for Filter
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for Filter
impl RefUnwindSafe for Filter
impl Send for Filter
impl Sync for Filter
impl Unpin for Filter
impl UnwindSafe for Filter
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