pub enum Compare<'a> {
Show 18 variants
Equals(Box<Expression<'a>>, Box<Expression<'a>>),
NotEquals(Box<Expression<'a>>, Box<Expression<'a>>),
LessThan(Box<Expression<'a>>, Box<Expression<'a>>),
LessThanOrEquals(Box<Expression<'a>>, Box<Expression<'a>>),
GreaterThan(Box<Expression<'a>>, Box<Expression<'a>>),
GreaterThanOrEquals(Box<Expression<'a>>, Box<Expression<'a>>),
In(Box<Expression<'a>>, Box<Expression<'a>>),
NotIn(Box<Expression<'a>>, Box<Expression<'a>>),
Like(Box<Expression<'a>>, Box<Expression<'a>>),
NotLike(Box<Expression<'a>>, Box<Expression<'a>>),
Null(Box<Expression<'a>>),
NotNull(Box<Expression<'a>>),
Between(Box<Expression<'a>>, Box<Expression<'a>>, Box<Expression<'a>>),
NotBetween(Box<Expression<'a>>, Box<Expression<'a>>, Box<Expression<'a>>),
Raw(Box<Expression<'a>>, Cow<'a, str>, Box<Expression<'a>>),
JsonCompare(JsonCompare<'a>),
Any(Box<Expression<'a>>),
All(Box<Expression<'a>>),
}
Expand description
For modeling comparison expressions.
Variants§
Equals(Box<Expression<'a>>, Box<Expression<'a>>)
left = right
NotEquals(Box<Expression<'a>>, Box<Expression<'a>>)
left <> right
LessThan(Box<Expression<'a>>, Box<Expression<'a>>)
left < right
LessThanOrEquals(Box<Expression<'a>>, Box<Expression<'a>>)
left <= right
GreaterThan(Box<Expression<'a>>, Box<Expression<'a>>)
left > right
GreaterThanOrEquals(Box<Expression<'a>>, Box<Expression<'a>>)
left >= right
In(Box<Expression<'a>>, Box<Expression<'a>>)
left IN (..)
NotIn(Box<Expression<'a>>, Box<Expression<'a>>)
left NOT IN (..)
Like(Box<Expression<'a>>, Box<Expression<'a>>)
left LIKE %..%
NotLike(Box<Expression<'a>>, Box<Expression<'a>>)
left NOT LIKE %..%
Null(Box<Expression<'a>>)
value IS NULL
NotNull(Box<Expression<'a>>)
value IS NOT NULL
Between(Box<Expression<'a>>, Box<Expression<'a>>, Box<Expression<'a>>)
value
BETWEEN left
AND right
NotBetween(Box<Expression<'a>>, Box<Expression<'a>>, Box<Expression<'a>>)
value
NOT BETWEEN left
AND right
Raw(Box<Expression<'a>>, Cow<'a, str>, Box<Expression<'a>>)
Raw comparator, allows to use an operator left <raw> right
as is,
without visitor transformation in between.
JsonCompare(JsonCompare<'a>)
All json related comparators
Any(Box<Expression<'a>>)
ANY (left
)
All(Box<Expression<'a>>)
ALL (left
)
Trait Implementations§
Source§impl<'a> From<Compare<'a>> for ConditionTree<'a>
impl<'a> From<Compare<'a>> for ConditionTree<'a>
Source§impl<'a> From<Compare<'a>> for Expression<'a>
impl<'a> From<Compare<'a>> for Expression<'a>
impl<'a> StructuralPartialEq for Compare<'a>
Auto Trait Implementations§
impl<'a> Freeze for Compare<'a>
impl<'a> RefUnwindSafe for Compare<'a>
impl<'a> Send for Compare<'a>
impl<'a> Sync for Compare<'a>
impl<'a> Unpin for Compare<'a>
impl<'a> UnwindSafe for Compare<'a>
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<'a, T> Conjunctive<'a> for Twhere
T: Into<Expression<'a>>,
impl<'a, T> Conjunctive<'a> for Twhere
T: Into<Expression<'a>>,
Source§fn and<E>(self, other: E) -> ConditionTree<'a>where
E: Into<Expression<'a>>,
fn and<E>(self, other: E) -> ConditionTree<'a>where
E: Into<Expression<'a>>,
Builds an
AND
condition having self
as the left leaf and other
as the right.Source§fn or<E>(self, other: E) -> ConditionTree<'a>where
E: Into<Expression<'a>>,
fn or<E>(self, other: E) -> ConditionTree<'a>where
E: Into<Expression<'a>>,
Builds an
OR
condition having self
as the left leaf and other
as the right.Source§fn not(self) -> ConditionTree<'a>
fn not(self) -> ConditionTree<'a>
Builds a
NOT
condition having self
as the condition.