pub type SourcePredicate = Predicate;Expand description
Source predicates are intentionally the same AST shape as normal predicates.
Aliased Type§
pub enum SourcePredicate {
Show 18 variants
Eq {
left: Expr,
right: Expr,
},
Neq {
left: Expr,
right: Expr,
},
Gt {
left: Expr,
right: Expr,
},
Gte {
left: Expr,
right: Expr,
},
Lt {
left: Expr,
right: Expr,
},
Lte {
left: Expr,
right: Expr,
},
Between {
value: Expr,
min: Expr,
max: Expr,
},
HasKey {
property: String,
},
IsNull {
property: String,
},
IsNotNull {
property: String,
},
StartsWith {
value: Expr,
prefix: Expr,
},
EndsWith {
value: Expr,
suffix: Expr,
},
Contains {
value: Expr,
substring: Expr,
},
IsIn {
value: Expr,
values: Expr,
},
And {
predicates: Vec<Predicate>,
},
Or {
predicates: Vec<Predicate>,
},
Not {
predicate: Box<Predicate>,
},
Compare {
left: Expr,
op: CompareOp,
right: Expr,
},
}Variants§
Eq
Equality comparison.
Neq
Inequality comparison.
Gt
Greater-than comparison.
Gte
Greater-than-or-equal comparison.
Lt
Less-than comparison.
Lte
Less-than-or-equal comparison.
Between
Inclusive range comparison.
HasKey
Property exists.
IsNull
Property is null or missing.
IsNotNull
Property exists and is not null.
StartsWith
String starts with prefix.
EndsWith
String ends with suffix.
Contains
String contains substring.
IsIn
Value is in a list.
And
Logical AND.
Or
Logical OR.
Not
Logical NOT.
Compare
Explicit expression comparison.