Skip to main content

Comparison

Trait Comparison 

Source
pub trait Comparison<'a, C, QS, DB>: ValueSqlType {
    // Required method
    fn compare(
        column: C,
        operator: FilterOperator,
        value: Value,
    ) -> Option<BoxedCondition<'a, QS, DB>>;
}
Expand description

How a column whose non-null SQL type is Self is compared with a value: <, =, >, and for text the LIKE operators.

Implemented per SQL type, so the code generated for a column is the same call whatever its type: condition picks the implementation by the column’s SQL type.

Required Methods§

Source

fn compare( column: C, operator: FilterOperator, value: Value, ) -> Option<BoxedCondition<'a, QS, DB>>

column operator value, the value bound with the column’s type; None if the value is of another type, or the operator does not apply.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl<'a, C, QS, DB> Comparison<'a, C, QS, DB> for BigInt
where DB: Backend, C: Expression + NullableExpressionMethods, C::SqlType: IntoNullable<Nullable = Nullable<BigInt>>, Nullable<C>: Expression<SqlType = Nullable<BigInt>>, Eq<Nullable<C>, Option<i64>>: BoxableExpression<QS, DB, SqlType = Nullable<Bool>> + 'a, Lt<Nullable<C>, Option<i64>>: BoxableExpression<QS, DB, SqlType = Nullable<Bool>> + 'a, Gt<Nullable<C>, Option<i64>>: BoxableExpression<QS, DB, SqlType = Nullable<Bool>> + 'a,

Source§

fn compare( column: C, operator: FilterOperator, value: Value, ) -> Option<BoxedCondition<'a, QS, DB>>

Source§

impl<'a, C, QS, DB> Comparison<'a, C, QS, DB> for Bool
where DB: Backend, C: Expression + NullableExpressionMethods, C::SqlType: IntoNullable<Nullable = Nullable<Bool>>, Nullable<C>: Expression<SqlType = Nullable<Bool>>, Eq<Nullable<C>, Option<bool>>: BoxableExpression<QS, DB, SqlType = Nullable<Bool>> + 'a, Lt<Nullable<C>, Option<bool>>: BoxableExpression<QS, DB, SqlType = Nullable<Bool>> + 'a, Gt<Nullable<C>, Option<bool>>: BoxableExpression<QS, DB, SqlType = Nullable<Bool>> + 'a,

Source§

fn compare( column: C, operator: FilterOperator, value: Value, ) -> Option<BoxedCondition<'a, QS, DB>>

Source§

impl<'a, C, QS, DB> Comparison<'a, C, QS, DB> for Date
where DB: Backend, C: Expression + NullableExpressionMethods, C::SqlType: IntoNullable<Nullable = Nullable<Date>>, Nullable<C>: Expression<SqlType = Nullable<Date>>, Eq<Nullable<C>, Option<NaiveDate>>: BoxableExpression<QS, DB, SqlType = Nullable<Bool>> + 'a, Lt<Nullable<C>, Option<NaiveDate>>: BoxableExpression<QS, DB, SqlType = Nullable<Bool>> + 'a, Gt<Nullable<C>, Option<NaiveDate>>: BoxableExpression<QS, DB, SqlType = Nullable<Bool>> + 'a,

Source§

fn compare( column: C, operator: FilterOperator, value: Value, ) -> Option<BoxedCondition<'a, QS, DB>>

Source§

impl<'a, C, QS, DB> Comparison<'a, C, QS, DB> for Datetime

Source§

fn compare( column: C, operator: FilterOperator, value: Value, ) -> Option<BoxedCondition<'a, QS, DB>>

Source§

impl<'a, C, QS, DB> Comparison<'a, C, QS, DB> for Double
where DB: Backend, C: Expression + NullableExpressionMethods, C::SqlType: IntoNullable<Nullable = Nullable<Double>>, Nullable<C>: Expression<SqlType = Nullable<Double>>, Eq<Nullable<C>, Option<f64>>: BoxableExpression<QS, DB, SqlType = Nullable<Bool>> + 'a, Lt<Nullable<C>, Option<f64>>: BoxableExpression<QS, DB, SqlType = Nullable<Bool>> + 'a, Gt<Nullable<C>, Option<f64>>: BoxableExpression<QS, DB, SqlType = Nullable<Bool>> + 'a,

Source§

fn compare( column: C, operator: FilterOperator, value: Value, ) -> Option<BoxedCondition<'a, QS, DB>>

Source§

impl<'a, C, QS, DB> Comparison<'a, C, QS, DB> for Float
where DB: Backend, C: Expression + NullableExpressionMethods, C::SqlType: IntoNullable<Nullable = Nullable<Float>>, Nullable<C>: Expression<SqlType = Nullable<Float>>, Eq<Nullable<C>, Option<f32>>: BoxableExpression<QS, DB, SqlType = Nullable<Bool>> + 'a, Lt<Nullable<C>, Option<f32>>: BoxableExpression<QS, DB, SqlType = Nullable<Bool>> + 'a, Gt<Nullable<C>, Option<f32>>: BoxableExpression<QS, DB, SqlType = Nullable<Bool>> + 'a,

Source§

fn compare( column: C, operator: FilterOperator, value: Value, ) -> Option<BoxedCondition<'a, QS, DB>>

Source§

impl<'a, C, QS, DB> Comparison<'a, C, QS, DB> for Integer
where DB: Backend, C: Expression + NullableExpressionMethods, C::SqlType: IntoNullable<Nullable = Nullable<Integer>>, Nullable<C>: Expression<SqlType = Nullable<Integer>>, Eq<Nullable<C>, Option<i32>>: BoxableExpression<QS, DB, SqlType = Nullable<Bool>> + 'a, Lt<Nullable<C>, Option<i32>>: BoxableExpression<QS, DB, SqlType = Nullable<Bool>> + 'a, Gt<Nullable<C>, Option<i32>>: BoxableExpression<QS, DB, SqlType = Nullable<Bool>> + 'a,

Source§

fn compare( column: C, operator: FilterOperator, value: Value, ) -> Option<BoxedCondition<'a, QS, DB>>

Source§

impl<'a, C, QS, DB> Comparison<'a, C, QS, DB> for SmallInt
where DB: Backend, C: Expression + NullableExpressionMethods, C::SqlType: IntoNullable<Nullable = Nullable<SmallInt>>, Nullable<C>: Expression<SqlType = Nullable<SmallInt>>, Eq<Nullable<C>, Option<i16>>: BoxableExpression<QS, DB, SqlType = Nullable<Bool>> + 'a, Lt<Nullable<C>, Option<i16>>: BoxableExpression<QS, DB, SqlType = Nullable<Bool>> + 'a, Gt<Nullable<C>, Option<i16>>: BoxableExpression<QS, DB, SqlType = Nullable<Bool>> + 'a,

Source§

fn compare( column: C, operator: FilterOperator, value: Value, ) -> Option<BoxedCondition<'a, QS, DB>>

Source§

impl<'a, C, QS, DB> Comparison<'a, C, QS, DB> for Text
where DB: Backend, C: Expression + NullableExpressionMethods, C::SqlType: IntoNullable<Nullable = Nullable<Self>>, Nullable<C>: Expression<SqlType = Nullable<Self>> + TextExpressionMethods, Escape<Like<Nullable<C>, String>>: BoxableExpression<QS, DB, SqlType = Nullable<Bool>> + 'a, Eq<Nullable<C>, Option<String>>: BoxableExpression<QS, DB, SqlType = Nullable<Bool>> + 'a, Lt<Nullable<C>, Option<String>>: BoxableExpression<QS, DB, SqlType = Nullable<Bool>> + 'a, Gt<Nullable<C>, Option<String>>: BoxableExpression<QS, DB, SqlType = Nullable<Bool>> + 'a,

Source§

fn compare( column: C, operator: FilterOperator, value: Value, ) -> Option<BoxedCondition<'a, QS, DB>>

Source§

impl<'a, C, QS, DB> Comparison<'a, C, QS, DB> for Time
where DB: Backend, C: Expression + NullableExpressionMethods, C::SqlType: IntoNullable<Nullable = Nullable<Time>>, Nullable<C>: Expression<SqlType = Nullable<Time>>, Eq<Nullable<C>, Option<NaiveTime>>: BoxableExpression<QS, DB, SqlType = Nullable<Bool>> + 'a, Lt<Nullable<C>, Option<NaiveTime>>: BoxableExpression<QS, DB, SqlType = Nullable<Bool>> + 'a, Gt<Nullable<C>, Option<NaiveTime>>: BoxableExpression<QS, DB, SqlType = Nullable<Bool>> + 'a,

Source§

fn compare( column: C, operator: FilterOperator, value: Value, ) -> Option<BoxedCondition<'a, QS, DB>>

Source§

impl<'a, C, QS, DB> Comparison<'a, C, QS, DB> for Timestamp

Source§

fn compare( column: C, operator: FilterOperator, value: Value, ) -> Option<BoxedCondition<'a, QS, DB>>

Source§

impl<'a, C, QS, DB> Comparison<'a, C, QS, DB> for Timestamptz

Source§

fn compare( column: C, operator: FilterOperator, value: Value, ) -> Option<BoxedCondition<'a, QS, DB>>

Source§

impl<'a, C, QS, DB> Comparison<'a, C, QS, DB> for TimestamptzSqlite

Source§

fn compare( column: C, operator: FilterOperator, value: Value, ) -> Option<BoxedCondition<'a, QS, DB>>

Implementors§