#[non_exhaustive]pub enum Condition {
Show 19 variants
Eq(String, SqlValue),
Ne(String, SqlValue),
Gt(String, SqlValue),
Gte(String, SqlValue),
Lt(String, SqlValue),
Lte(String, SqlValue),
Like(String, String),
NotLike(String, String),
ILike(String, String),
IsNull(String),
IsNotNull(String),
In(String, Vec<SqlValue>),
NotIn(String, Vec<SqlValue>),
Between(String, SqlValue, SqlValue),
NotBetween(String, SqlValue, SqlValue),
Raw(String),
Group(Vec<(JoinOp, Condition)>),
JsonGet(String, String, SqlValue),
Subquery {
exists: bool,
table: String,
fk_expr: String,
inner: Vec<(JoinOp, Condition)>,
},
}Expand description
A single WHERE clause condition.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Eq(String, SqlValue)
Ne(String, SqlValue)
Gt(String, SqlValue)
Gte(String, SqlValue)
Lt(String, SqlValue)
Lte(String, SqlValue)
Like(String, String)
NotLike(String, String)
ILike(String, String)
IsNull(String)
IsNotNull(String)
In(String, Vec<SqlValue>)
NotIn(String, Vec<SqlValue>)
Between(String, SqlValue, SqlValue)
NotBetween(String, SqlValue, SqlValue)
Raw(String)
Group(Vec<(JoinOp, Condition)>)
Grouped sub-conditions joined by their own JoinOp. Renders as (cond1 AND cond2 OR …).
JsonGet(String, String, SqlValue)
JSONB text extraction: col->>'key' = $N (PostgreSQL) or json_extract(col,'$.key') = ? (SQLite).
Subquery
[NOT] EXISTS (SELECT 1 FROM table WHERE fk_expr [AND inner_conds]).
Used by has(), doesnt_have(), where_has(), and where_doesnt_have().
Implementations§
Source§impl Condition
impl Condition
Sourcepub fn to_param_sql(&self, offset: usize) -> (String, Vec<SqlValue>)
pub fn to_param_sql(&self, offset: usize) -> (String, Vec<SqlValue>)
Render as a SQL fragment using positional placeholders ($N).
offset is the next available parameter index (1-based).
Returns (sql_fragment, collected_params).
For SQLite (? placeholders) use to_param_sql_sqlite.
Sourcepub fn to_param_sql_sqlite(&self) -> (String, Vec<SqlValue>)
pub fn to_param_sql_sqlite(&self) -> (String, Vec<SqlValue>)
Render as a SQL fragment using anonymous ? placeholders (SQLite dialect).
Returns (sql_fragment, collected_params).
Sourcepub fn to_literal_sql(&self) -> String
pub fn to_literal_sql(&self) -> String
Render as a SQL literal fragment (no parameterization — for debug output).
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Condition
impl RefUnwindSafe for Condition
impl Send for Condition
impl Sync for Condition
impl Unpin for Condition
impl UnsafeUnpin for Condition
impl UnwindSafe for Condition
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