Trait diesel::expression::AsExpression
[−]
[src]
pub trait AsExpression<T> { type Expression: Expression<SqlType = T>; fn as_expression(self) -> Self::Expression; }
Describes how a type can be represented as an expression for a given type.
These types couldn't just implement Expression
directly, as many things can be used as an expression of multiple types.
(String
for example, can be used as either
VarChar
or
Text
).
This trait allows us to use primitives on the right hand side of various
expressions. For example name.eq("Sean")
Associated Types
type Expression: Expression<SqlType = T>
Required Methods
fn as_expression(self) -> Self::Expression
Implementations on Foreign Types
impl<T, ST> AsExpression<Nullable<ST>> for Option<T> where
ST: NotNull,
[src]
ST: NotNull,
type Expression = Bound<Nullable<ST>, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a, T, ST> AsExpression<Nullable<ST>> for &'a Option<T> where
ST: NotNull,
[src]
ST: NotNull,
type Expression = Bound<Nullable<ST>, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a> AsExpression<Bool> for bool
[src]
type Expression = Bound<Bool, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a, 'expr> AsExpression<Bool> for &'expr bool
[src]
type Expression = Bound<Bool, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a> AsExpression<Nullable<Bool>> for bool
[src]
type Expression = Bound<Nullable<Bool>, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a, 'expr> AsExpression<Nullable<Bool>> for &'a bool
[src]
type Expression = Bound<Nullable<Bool>, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a> AsExpression<SmallInt> for i16
[src]
type Expression = Bound<SmallInt, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a, 'expr> AsExpression<SmallInt> for &'expr i16
[src]
type Expression = Bound<SmallInt, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a> AsExpression<Nullable<SmallInt>> for i16
[src]
type Expression = Bound<Nullable<SmallInt>, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a, 'expr> AsExpression<Nullable<SmallInt>> for &'a i16
[src]
type Expression = Bound<Nullable<SmallInt>, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a> AsExpression<Integer> for i32
[src]
type Expression = Bound<Integer, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a, 'expr> AsExpression<Integer> for &'expr i32
[src]
type Expression = Bound<Integer, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a> AsExpression<Nullable<Integer>> for i32
[src]
type Expression = Bound<Nullable<Integer>, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a, 'expr> AsExpression<Nullable<Integer>> for &'a i32
[src]
type Expression = Bound<Nullable<Integer>, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a> AsExpression<BigInt> for i64
[src]
type Expression = Bound<BigInt, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a, 'expr> AsExpression<BigInt> for &'expr i64
[src]
type Expression = Bound<BigInt, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a> AsExpression<Nullable<BigInt>> for i64
[src]
type Expression = Bound<Nullable<BigInt>, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a, 'expr> AsExpression<Nullable<BigInt>> for &'a i64
[src]
type Expression = Bound<Nullable<BigInt>, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a> AsExpression<Float> for f32
[src]
type Expression = Bound<Float, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a, 'expr> AsExpression<Float> for &'expr f32
[src]
type Expression = Bound<Float, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a> AsExpression<Nullable<Float>> for f32
[src]
type Expression = Bound<Nullable<Float>, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a, 'expr> AsExpression<Nullable<Float>> for &'a f32
[src]
type Expression = Bound<Nullable<Float>, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a> AsExpression<Double> for f64
[src]
type Expression = Bound<Double, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a, 'expr> AsExpression<Double> for &'expr f64
[src]
type Expression = Bound<Double, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a> AsExpression<Nullable<Double>> for f64
[src]
type Expression = Bound<Nullable<Double>, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a, 'expr> AsExpression<Nullable<Double>> for &'a f64
[src]
type Expression = Bound<Nullable<Double>, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a> AsExpression<Text> for String
[src]
type Expression = Bound<Text, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a, 'expr> AsExpression<Text> for &'expr String
[src]
type Expression = Bound<Text, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a> AsExpression<Nullable<Text>> for String
[src]
type Expression = Bound<Nullable<Text>, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a, 'expr> AsExpression<Nullable<Text>> for &'a String
[src]
type Expression = Bound<Nullable<Text>, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a> AsExpression<Binary> for Vec<u8>
[src]
type Expression = Bound<Binary, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a, 'expr> AsExpression<Binary> for &'expr Vec<u8>
[src]
type Expression = Bound<Binary, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a> AsExpression<Nullable<Binary>> for Vec<u8>
[src]
type Expression = Bound<Nullable<Binary>, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a, 'expr> AsExpression<Nullable<Binary>> for &'a Vec<u8>
[src]
type Expression = Bound<Nullable<Binary>, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a> AsExpression<Text> for &'a str
[src]
type Expression = Bound<Text, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a> AsExpression<Nullable<Text>> for &'a str
[src]
type Expression = Bound<Nullable<Text>, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a> AsExpression<Binary> for &'a [u8]
[src]
type Expression = Bound<Binary, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a> AsExpression<Nullable<Binary>> for &'a [u8]
[src]
type Expression = Bound<Nullable<Binary>, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a, ST, T> AsExpression<Array<ST>> for &'a [T] where
Pg: HasSqlType<ST>,
[src]
Pg: HasSqlType<ST>,
type Expression = Bound<Array<ST>, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a, ST, T> AsExpression<Nullable<Array<ST>>> for &'a [T] where
Pg: HasSqlType<ST>,
[src]
Pg: HasSqlType<ST>,
type Expression = Bound<Nullable<Array<ST>>, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a, ST, T> AsExpression<Array<ST>> for Vec<T> where
Pg: HasSqlType<ST>,
[src]
Pg: HasSqlType<ST>,
type Expression = Bound<Array<ST>, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a, ST, T> AsExpression<Nullable<Array<ST>>> for Vec<T> where
Pg: HasSqlType<ST>,
[src]
Pg: HasSqlType<ST>,
type Expression = Bound<Nullable<Array<ST>>, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a, ST, T> AsExpression<Array<ST>> for &'a Vec<T> where
Pg: HasSqlType<ST>,
[src]
Pg: HasSqlType<ST>,
type Expression = Bound<Array<ST>, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a, ST, T> AsExpression<Nullable<Array<ST>>> for &'a Vec<T> where
Pg: HasSqlType<ST>,
[src]
Pg: HasSqlType<ST>,
type Expression = Bound<Nullable<Array<ST>>, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a> AsExpression<Timestamp> for SystemTime
[src]
type Expression = Bound<Timestamp, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a, 'expr> AsExpression<Timestamp> for &'expr SystemTime
[src]
type Expression = Bound<Timestamp, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a> AsExpression<Nullable<Timestamp>> for SystemTime
[src]
type Expression = Bound<Nullable<Timestamp>, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a, 'expr> AsExpression<Nullable<Timestamp>> for &'a SystemTime
[src]
type Expression = Bound<Nullable<Timestamp>, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a> AsExpression<Date> for NaiveDate
[src]
type Expression = Bound<Date, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a, 'expr> AsExpression<Date> for &'expr NaiveDate
[src]
type Expression = Bound<Date, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a> AsExpression<Nullable<Date>> for NaiveDate
[src]
type Expression = Bound<Nullable<Date>, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a, 'expr> AsExpression<Nullable<Date>> for &'a NaiveDate
[src]
type Expression = Bound<Nullable<Date>, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a> AsExpression<Time> for NaiveTime
[src]
type Expression = Bound<Time, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a, 'expr> AsExpression<Time> for &'expr NaiveTime
[src]
type Expression = Bound<Time, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a> AsExpression<Nullable<Time>> for NaiveTime
[src]
type Expression = Bound<Nullable<Time>, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a, 'expr> AsExpression<Nullable<Time>> for &'a NaiveTime
[src]
type Expression = Bound<Nullable<Time>, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a> AsExpression<Timestamp> for NaiveDateTime
[src]
type Expression = Bound<Timestamp, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a, 'expr> AsExpression<Timestamp> for &'expr NaiveDateTime
[src]
type Expression = Bound<Timestamp, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a> AsExpression<Nullable<Timestamp>> for NaiveDateTime
[src]
type Expression = Bound<Nullable<Timestamp>, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a, 'expr> AsExpression<Nullable<Timestamp>> for &'a NaiveDateTime
[src]
type Expression = Bound<Nullable<Timestamp>, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a> AsExpression<Timestamptz> for DateTime<UTC>
[src]
type Expression = Bound<Timestamptz, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a, 'expr> AsExpression<Timestamptz> for &'expr DateTime<UTC>
[src]
type Expression = Bound<Timestamptz, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a> AsExpression<Nullable<Timestamptz>> for DateTime<UTC>
[src]
type Expression = Bound<Nullable<Timestamptz>, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a, 'expr> AsExpression<Nullable<Timestamptz>> for &'a DateTime<UTC>
[src]
type Expression = Bound<Nullable<Timestamptz>, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a> AsExpression<Timestamptz> for DateTime<FixedOffset>
[src]
type Expression = Bound<Timestamptz, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a, 'expr> AsExpression<Timestamptz> for &'expr DateTime<FixedOffset>
[src]
type Expression = Bound<Timestamptz, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a> AsExpression<Nullable<Timestamptz>> for DateTime<FixedOffset>
[src]
type Expression = Bound<Nullable<Timestamptz>, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a, 'expr> AsExpression<Nullable<Timestamptz>> for &'a DateTime<FixedOffset>
[src]
type Expression = Bound<Nullable<Timestamptz>, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a> AsExpression<Timestamptz> for DateTime<Local>
[src]
type Expression = Bound<Timestamptz, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a, 'expr> AsExpression<Timestamptz> for &'expr DateTime<Local>
[src]
type Expression = Bound<Timestamptz, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a> AsExpression<Nullable<Timestamptz>> for DateTime<Local>
[src]
type Expression = Bound<Nullable<Timestamptz>, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a, 'expr> AsExpression<Nullable<Timestamptz>> for &'a DateTime<Local>
[src]
type Expression = Bound<Nullable<Timestamptz>, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a> AsExpression<Oid> for u32
[src]
type Expression = Bound<Oid, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a, 'expr> AsExpression<Oid> for &'expr u32
[src]
type Expression = Bound<Oid, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a> AsExpression<Nullable<Oid>> for u32
[src]
type Expression = Bound<Nullable<Oid>, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a, 'expr> AsExpression<Nullable<Oid>> for &'a u32
[src]
type Expression = Bound<Nullable<Oid>, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a> AsExpression<Uuid> for Uuid
[src]
type Expression = Bound<Uuid, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a, 'expr> AsExpression<Uuid> for &'expr Uuid
[src]
type Expression = Bound<Uuid, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a> AsExpression<Nullable<Uuid>> for Uuid
[src]
type Expression = Bound<Nullable<Uuid>, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a, 'expr> AsExpression<Nullable<Uuid>> for &'a Uuid
[src]
type Expression = Bound<Nullable<Uuid>, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a> AsExpression<Date> for String
[src]
type Expression = Bound<Date, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a, 'expr> AsExpression<Date> for &'expr String
[src]
type Expression = Bound<Date, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a> AsExpression<Nullable<Date>> for String
[src]
type Expression = Bound<Nullable<Date>, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a, 'expr> AsExpression<Nullable<Date>> for &'a String
[src]
type Expression = Bound<Nullable<Date>, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a> AsExpression<Date> for &'a str
[src]
type Expression = Bound<Date, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a> AsExpression<Nullable<Date>> for &'a str
[src]
type Expression = Bound<Nullable<Date>, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a> AsExpression<Time> for String
[src]
type Expression = Bound<Time, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a, 'expr> AsExpression<Time> for &'expr String
[src]
type Expression = Bound<Time, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a> AsExpression<Nullable<Time>> for String
[src]
type Expression = Bound<Nullable<Time>, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a, 'expr> AsExpression<Nullable<Time>> for &'a String
[src]
type Expression = Bound<Nullable<Time>, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a> AsExpression<Time> for &'a str
[src]
type Expression = Bound<Time, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a> AsExpression<Nullable<Time>> for &'a str
[src]
type Expression = Bound<Nullable<Time>, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a> AsExpression<Timestamp> for String
[src]
type Expression = Bound<Timestamp, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a, 'expr> AsExpression<Timestamp> for &'expr String
[src]
type Expression = Bound<Timestamp, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a> AsExpression<Nullable<Timestamp>> for String
[src]
type Expression = Bound<Nullable<Timestamp>, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a, 'expr> AsExpression<Nullable<Timestamp>> for &'a String
[src]
type Expression = Bound<Nullable<Timestamp>, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a> AsExpression<Timestamp> for &'a str
[src]
type Expression = Bound<Timestamp, Self>
fn as_expression(self) -> Self::Expression
[src]
impl<'a> AsExpression<Nullable<Timestamp>> for &'a str
[src]
type Expression = Bound<Nullable<Timestamp>, Self>
fn as_expression(self) -> Self::Expression
[src]
Implementors
impl<T: Expression> AsExpression<T::SqlType> for T type Expression = Self;
impl<'a> AsExpression<Date> for PgDate type Expression = Bound<Date, Self>;
postgresimpl<'a, 'expr> AsExpression<Date> for &'expr PgDate type Expression = Bound<Date, Self>;
postgresimpl<'a> AsExpression<Nullable<Date>> for PgDate type Expression = Bound<Nullable<Date>, Self>;
postgresimpl<'a, 'expr> AsExpression<Nullable<Date>> for &'a PgDate type Expression = Bound<Nullable<Date>, Self>;
postgresimpl<'a> AsExpression<Time> for PgTime type Expression = Bound<Time, Self>;
postgresimpl<'a, 'expr> AsExpression<Time> for &'expr PgTime type Expression = Bound<Time, Self>;
postgresimpl<'a> AsExpression<Nullable<Time>> for PgTime type Expression = Bound<Nullable<Time>, Self>;
postgresimpl<'a, 'expr> AsExpression<Nullable<Time>> for &'a PgTime type Expression = Bound<Nullable<Time>, Self>;
postgresimpl<'a> AsExpression<Timestamp> for PgTimestamp type Expression = Bound<Timestamp, Self>;
postgresimpl<'a, 'expr> AsExpression<Timestamp> for &'expr PgTimestamp type Expression = Bound<Timestamp, Self>;
postgresimpl<'a> AsExpression<Nullable<Timestamp>> for PgTimestamp type Expression = Bound<Nullable<Timestamp>, Self>;
postgresimpl<'a, 'expr> AsExpression<Nullable<Timestamp>> for &'a PgTimestamp type Expression = Bound<Nullable<Timestamp>, Self>;
postgresimpl<'a> AsExpression<Timestamptz> for PgTimestamp type Expression = Bound<Timestamptz, Self>;
postgresimpl<'a, 'expr> AsExpression<Timestamptz> for &'expr PgTimestamp type Expression = Bound<Timestamptz, Self>;
postgresimpl<'a> AsExpression<Nullable<Timestamptz>> for PgTimestamp type Expression = Bound<Nullable<Timestamptz>, Self>;
postgresimpl<'a, 'expr> AsExpression<Nullable<Timestamptz>> for &'a PgTimestamp type Expression = Bound<Nullable<Timestamptz>, Self>;
postgresimpl<'a> AsExpression<Interval> for PgInterval type Expression = Bound<Interval, Self>;
postgresimpl<'a, 'expr> AsExpression<Interval> for &'expr PgInterval type Expression = Bound<Interval, Self>;
postgresimpl<'a> AsExpression<Nullable<Interval>> for PgInterval type Expression = Bound<Nullable<Interval>, Self>;
postgresimpl<'a, 'expr> AsExpression<Nullable<Interval>> for &'a PgInterval type Expression = Bound<Nullable<Interval>, Self>;
postgresimpl<'a> AsExpression<Numeric> for PgNumeric type Expression = Bound<Numeric, Self>;
postgresimpl<'a, 'expr> AsExpression<Numeric> for &'expr PgNumeric type Expression = Bound<Numeric, Self>;
postgresimpl<'a> AsExpression<Nullable<Numeric>> for PgNumeric type Expression = Bound<Nullable<Numeric>, Self>;
postgresimpl<'a, 'expr> AsExpression<Nullable<Numeric>> for &'a PgNumeric type Expression = Bound<Nullable<Numeric>, Self>;
postgres