rocket_db_pools::diesel::prelude

Trait PgExpressionMethods

Source
pub trait PgExpressionMethods: Sized + Expression {
    // Provided methods
    fn is_not_distinct_from<T>(
        self,
        other: T,
    ) -> Grouped<IsNotDistinctFrom<Self, <T as AsExpression<Self::SqlType>>::Expression>>
       where Self::SqlType: SqlType,
             T: AsExpression<Self::SqlType> { ... }
    fn is_distinct_from<T>(
        self,
        other: T,
    ) -> Grouped<IsDistinctFrom<Self, <T as AsExpression<Self::SqlType>>::Expression>>
       where Self::SqlType: SqlType,
             T: AsExpression<Self::SqlType> { ... }
}
Expand description

PostgreSQL specific methods which are present on all expressions.

Provided Methods§

Source

fn is_not_distinct_from<T>( self, other: T, ) -> Grouped<IsNotDistinctFrom<Self, <T as AsExpression<Self::SqlType>>::Expression>>
where Self::SqlType: SqlType, T: AsExpression<Self::SqlType>,

Creates a PostgreSQL IS NOT DISTINCT FROM expression.

This behaves identically to the = operator, except that NULL is treated as a normal value.

§Example
let distinct = users.select(id).filter(name.is_distinct_from("Sean"));
let not_distinct = users.select(id).filter(name.is_not_distinct_from("Sean"));
assert_eq!(Ok(2), distinct.first(connection));
assert_eq!(Ok(1), not_distinct.first(connection));
Source

fn is_distinct_from<T>( self, other: T, ) -> Grouped<IsDistinctFrom<Self, <T as AsExpression<Self::SqlType>>::Expression>>
where Self::SqlType: SqlType, T: AsExpression<Self::SqlType>,

Creates a PostgreSQL IS DISTINCT FROM expression.

This behaves identically to the != operator, except that NULL is treated as a normal value.

§Example
let distinct = users.select(id).filter(name.is_distinct_from("Sean"));
let not_distinct = users.select(id).filter(name.is_not_distinct_from("Sean"));
assert_eq!(Ok(2), distinct.first(connection));
assert_eq!(Ok(1), not_distinct.first(connection));

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§