Trait diesel::expression::AsExpression [] [src]

pub trait AsExpression<T> {
    type Expression: Expression<SqlType = T>;
    fn as_expression(self) -> Self::Expression;
}

Converts a type to its representation for use in Diesel's query builder.

Implementations of this trait will generally do one of 3 things:

  • Return self for types which are already parts of Diesel's query builder
  • Perform some implicit coercion (for example, allowing [now] to be used as both [Timestamp] and [Timestamptz].
  • Indicate that the type has data which will be sent separately from the query. This is generally referred as a "bind parameter". Types which implement [ToSql] will generally implement AsExpression this way.

Associated Types

Required Methods

Implementations on Foreign Types

impl<'expr> AsExpression<Date> for &'expr NaiveDate
[src]

[src]

impl<'expr> AsExpression<Nullable<Date>> for &'expr NaiveDate
[src]

[src]

impl AsExpression<Date> for NaiveDate
[src]

[src]

impl AsExpression<Nullable<Date>> for NaiveDate
[src]

[src]

impl<'expr> AsExpression<Time> for &'expr NaiveTime
[src]

[src]

impl<'expr> AsExpression<Nullable<Time>> for &'expr NaiveTime
[src]

[src]

impl AsExpression<Time> for NaiveTime
[src]

[src]

impl AsExpression<Nullable<Time>> for NaiveTime
[src]

[src]

impl<'expr> AsExpression<Timestamp> for &'expr NaiveDateTime
[src]

[src]

impl<'expr> AsExpression<Nullable<Timestamp>> for &'expr NaiveDateTime
[src]

[src]

impl AsExpression<Timestamp> for NaiveDateTime
[src]

[src]

impl AsExpression<Nullable<Timestamp>> for NaiveDateTime
[src]

[src]

impl<T, ST> AsExpression<Nullable<ST>> for Option<T> where
    ST: NotNull
[src]

[src]

impl<'a, T, ST> AsExpression<Nullable<ST>> for &'a Option<T> where
    ST: NotNull
[src]

[src]

impl<'expr> AsExpression<Bool> for &'expr bool
[src]

[src]

impl<'expr> AsExpression<Nullable<Bool>> for &'expr bool
[src]

[src]

impl AsExpression<Bool> for bool
[src]

[src]

impl AsExpression<Nullable<Bool>> for bool
[src]

[src]

impl<'expr> AsExpression<SmallInt> for &'expr i16
[src]

[src]

impl<'expr> AsExpression<Nullable<SmallInt>> for &'expr i16
[src]

[src]

impl AsExpression<SmallInt> for i16
[src]

[src]

impl AsExpression<Nullable<SmallInt>> for i16
[src]

[src]

impl<'expr> AsExpression<Integer> for &'expr i32
[src]

[src]

impl<'expr> AsExpression<Nullable<Integer>> for &'expr i32
[src]

[src]

impl AsExpression<Integer> for i32
[src]

[src]

impl AsExpression<Nullable<Integer>> for i32
[src]

[src]

impl<'expr> AsExpression<BigInt> for &'expr i64
[src]

[src]

impl<'expr> AsExpression<Nullable<BigInt>> for &'expr i64
[src]

[src]

impl AsExpression<BigInt> for i64
[src]

[src]

impl AsExpression<Nullable<BigInt>> for i64
[src]

[src]

impl<'expr> AsExpression<Float> for &'expr f32
[src]

[src]

impl<'expr> AsExpression<Nullable<Float>> for &'expr f32
[src]

[src]

impl AsExpression<Float> for f32
[src]

[src]

impl AsExpression<Nullable<Float>> for f32
[src]

[src]

impl<'expr> AsExpression<Double> for &'expr f64
[src]

[src]

impl<'expr> AsExpression<Nullable<Double>> for &'expr f64
[src]

[src]

impl AsExpression<Double> for f64
[src]

[src]

impl AsExpression<Nullable<Double>> for f64
[src]

[src]

impl<'expr> AsExpression<Text> for &'expr String
[src]

[src]

impl<'expr> AsExpression<Nullable<Text>> for &'expr String
[src]

[src]

impl AsExpression<Text> for String
[src]

[src]

impl AsExpression<Nullable<Text>> for String
[src]

[src]

impl<'expr> AsExpression<Binary> for &'expr Vec<u8>
[src]

[src]

impl<'expr> AsExpression<Nullable<Binary>> for &'expr Vec<u8>
[src]

[src]

impl AsExpression<Binary> for Vec<u8>
[src]

[src]

impl AsExpression<Nullable<Binary>> for Vec<u8>
[src]

[src]

impl<'expr> AsExpression<Text> for &'expr str
[src]

[src]

impl<'expr> AsExpression<Nullable<Text>> for &'expr str
[src]

[src]

impl<'expr> AsExpression<Binary> for &'expr [u8]
[src]

[src]

impl<'expr> AsExpression<Nullable<Binary>> for &'expr [u8]
[src]

[src]

impl<'a, T: ?Sized, ST> AsExpression<ST> for Cow<'a, T> where
    T: 'a + ToOwned,
    Bound<ST, Cow<'a, T>>: Expression<SqlType = ST>, 
[src]

[src]

impl<'a, 'b, T: ?Sized, ST> AsExpression<ST> for &'b Cow<'a, T> where
    T: 'a + ToOwned,
    Bound<ST, &'b T>: Expression<SqlType = ST>, 
[src]

[src]

impl<'expr> AsExpression<Numeric> for &'expr BigDecimal
[src]

[src]

impl<'expr> AsExpression<Nullable<Numeric>> for &'expr BigDecimal
[src]

[src]

impl AsExpression<Numeric> for BigDecimal
[src]

[src]

impl AsExpression<Nullable<Numeric>> for BigDecimal
[src]

[src]

impl<'expr> AsExpression<Datetime> for &'expr NaiveDateTime
[src]

[src]

impl<'expr> AsExpression<Nullable<Datetime>> for &'expr NaiveDateTime
[src]

[src]

impl AsExpression<Datetime> for NaiveDateTime
[src]

[src]

impl AsExpression<Nullable<Datetime>> for NaiveDateTime
[src]

[src]

impl<'expr> AsExpression<Tinyint> for &'expr i8
[src]

[src]

impl<'expr> AsExpression<Nullable<Tinyint>> for &'expr i8
[src]

[src]

impl AsExpression<Tinyint> for i8
[src]

[src]

impl AsExpression<Nullable<Tinyint>> for i8
[src]

[src]

impl<'a, 'b, ST, T> AsExpression<Array<ST>> for &'a [T] where
    Pg: HasSqlType<ST>, 
[src]

[src]

impl<'a, 'b, ST, T> AsExpression<Nullable<Array<ST>>> for &'a [T] where
    Pg: HasSqlType<ST>, 
[src]

[src]

impl<'a, 'b, ST, T> AsExpression<Array<ST>> for Vec<T> where
    Pg: HasSqlType<ST>, 
[src]

[src]

impl<'a, 'b, ST, T> AsExpression<Nullable<Array<ST>>> for Vec<T> where
    Pg: HasSqlType<ST>, 
[src]

[src]

impl<'a, 'b, ST, T> AsExpression<Array<ST>> for &'a Vec<T> where
    Pg: HasSqlType<ST>, 
[src]

[src]

impl<'a, 'b, ST, T> AsExpression<Nullable<Array<ST>>> for &'a Vec<T> where
    Pg: HasSqlType<ST>, 
[src]

[src]

impl<ST, T> AsExpression<Range<ST>> for (Bound<T>, Bound<T>) where
    Pg: HasSqlType<ST> + HasSqlType<Range<ST>>, 
[src]

[src]

impl<ST, T> AsExpression<Nullable<Range<ST>>> for (Bound<T>, Bound<T>) where
    Pg: HasSqlType<ST> + HasSqlType<Range<ST>>, 
[src]

[src]

impl<'expr> AsExpression<Timestamp> for &'expr SystemTime
[src]

[src]

impl<'expr> AsExpression<Nullable<Timestamp>> for &'expr SystemTime
[src]

[src]

impl AsExpression<Timestamp> for SystemTime
[src]

[src]

impl AsExpression<Nullable<Timestamp>> for SystemTime
[src]

[src]

impl<'expr> AsExpression<Timestamptz> for &'expr NaiveDateTime
[src]

[src]

impl<'expr> AsExpression<Nullable<Timestamptz>> for &'expr NaiveDateTime
[src]

[src]

impl AsExpression<Timestamptz> for NaiveDateTime
[src]

[src]

impl AsExpression<Nullable<Timestamptz>> for NaiveDateTime
[src]

[src]

impl<'expr> AsExpression<Timestamptz> for &'expr DateTime<Utc>
[src]

[src]

impl<'expr> AsExpression<Nullable<Timestamptz>> for &'expr DateTime<Utc>
[src]

[src]

impl AsExpression<Timestamptz> for DateTime<Utc>
[src]

[src]

impl AsExpression<Nullable<Timestamptz>> for DateTime<Utc>
[src]

[src]

impl<'expr> AsExpression<Timestamptz> for &'expr DateTime<FixedOffset>
[src]

[src]

impl<'expr> AsExpression<Nullable<Timestamptz>> for &'expr DateTime<FixedOffset>
[src]

[src]

impl AsExpression<Timestamptz> for DateTime<FixedOffset>
[src]

[src]

impl AsExpression<Nullable<Timestamptz>> for DateTime<FixedOffset>
[src]

[src]

impl<'expr> AsExpression<Timestamptz> for &'expr DateTime<Local>
[src]

[src]

impl<'expr> AsExpression<Nullable<Timestamptz>> for &'expr DateTime<Local>
[src]

[src]

impl AsExpression<Timestamptz> for DateTime<Local>
[src]

[src]

impl AsExpression<Nullable<Timestamptz>> for DateTime<Local>
[src]

[src]

impl<'expr> AsExpression<Timestamp> for &'expr Timespec
[src]

[src]

impl<'expr> AsExpression<Nullable<Timestamp>> for &'expr Timespec
[src]

[src]

impl AsExpression<Timestamp> for Timespec
[src]

[src]

impl AsExpression<Nullable<Timestamp>> for Timespec
[src]

[src]

impl<'expr> AsExpression<MacAddr> for &'expr [u8; 6]
[src]

[src]

impl<'expr> AsExpression<Nullable<MacAddr>> for &'expr [u8; 6]
[src]

[src]

impl AsExpression<MacAddr> for [u8; 6]
[src]

[src]

impl AsExpression<Nullable<MacAddr>> for [u8; 6]
[src]

[src]

impl<'expr> AsExpression<Inet> for &'expr IpNetwork
[src]

[src]

impl<'expr> AsExpression<Nullable<Inet>> for &'expr IpNetwork
[src]

[src]

impl AsExpression<Inet> for IpNetwork
[src]

[src]

impl AsExpression<Nullable<Inet>> for IpNetwork
[src]

[src]

impl<'expr> AsExpression<Cidr> for &'expr IpNetwork
[src]

[src]

impl<'expr> AsExpression<Nullable<Cidr>> for &'expr IpNetwork
[src]

[src]

impl AsExpression<Cidr> for IpNetwork
[src]

[src]

impl AsExpression<Nullable<Cidr>> for IpNetwork
[src]

[src]

impl<'expr> AsExpression<Oid> for &'expr u32
[src]

[src]

impl<'expr> AsExpression<Nullable<Oid>> for &'expr u32
[src]

[src]

impl AsExpression<Oid> for u32
[src]

[src]

impl AsExpression<Nullable<Oid>> for u32
[src]

[src]

impl<'expr> AsExpression<Uuid> for &'expr Uuid
[src]

[src]

impl<'expr> AsExpression<Nullable<Uuid>> for &'expr Uuid
[src]

[src]

impl AsExpression<Uuid> for Uuid
[src]

[src]

impl AsExpression<Nullable<Uuid>> for Uuid
[src]

[src]

impl<'expr> AsExpression<Json> for &'expr Value
[src]

[src]

impl<'expr> AsExpression<Nullable<Json>> for &'expr Value
[src]

[src]

impl AsExpression<Json> for Value
[src]

[src]

impl AsExpression<Nullable<Json>> for Value
[src]

[src]

impl<'expr> AsExpression<Jsonb> for &'expr Value
[src]

[src]

impl<'expr> AsExpression<Nullable<Jsonb>> for &'expr Value
[src]

[src]

impl AsExpression<Jsonb> for Value
[src]

[src]

impl AsExpression<Nullable<Jsonb>> for Value
[src]

[src]

impl<'expr> AsExpression<Date> for &'expr String
[src]

[src]

impl<'expr> AsExpression<Nullable<Date>> for &'expr String
[src]

[src]

impl AsExpression<Date> for String
[src]

[src]

impl AsExpression<Nullable<Date>> for String
[src]

[src]

impl<'expr> AsExpression<Date> for &'expr str
[src]

[src]

impl<'expr> AsExpression<Nullable<Date>> for &'expr str
[src]

[src]

impl<'expr> AsExpression<Time> for &'expr String
[src]

[src]

impl<'expr> AsExpression<Nullable<Time>> for &'expr String
[src]

[src]

impl AsExpression<Time> for String
[src]

[src]

impl AsExpression<Nullable<Time>> for String
[src]

[src]

impl<'expr> AsExpression<Time> for &'expr str
[src]

[src]

impl<'expr> AsExpression<Nullable<Time>> for &'expr str
[src]

[src]

impl<'expr> AsExpression<Timestamp> for &'expr String
[src]

[src]

impl<'expr> AsExpression<Nullable<Timestamp>> for &'expr String
[src]

[src]

impl AsExpression<Timestamp> for String
[src]

[src]

impl AsExpression<Nullable<Timestamp>> for String
[src]

[src]

impl<'expr> AsExpression<Timestamp> for &'expr str
[src]

[src]

impl<'expr> AsExpression<Nullable<Timestamp>> for &'expr str
[src]

[src]

Implementors