Trait diesel::expression::Expression
[−]
[src]
pub trait Expression { type SqlType; }
Represents a typed fragment of SQL.
Apps should not need to implement this type directly, but it may be common
to use this in where clauses. Libraries should consider using
diesel_infix_operator!
or
diesel_postfix_operator!
instead of
implementing this directly.
Associated Types
type SqlType
Implementors
impl<T: Expression> Expression for Max<T> where
T::SqlType: IntoNullable, type SqlType = <T::SqlType as IntoNullable>::Nullable;impl<T: Expression> Expression for Min<T> where
T::SqlType: IntoNullable, type SqlType = <T::SqlType as IntoNullable>::Nullable;impl<ST, T> Expression for Sum<T> where
ST: Foldable,
T: Expression<SqlType = ST>, type SqlType = <<T as Expression>::SqlType as Foldable>::Sum;impl<ST, T> Expression for Avg<T> where
ST: Foldable,
T: Expression<SqlType = ST>, type SqlType = <<T as Expression>::SqlType as Foldable>::Avg;impl Expression for now type SqlType = Timestamp;
impl<Expr> Expression for IsNull<Expr> where
Expr: Expression, type SqlType = Bool;impl<Expr> Expression for IsNotNull<Expr> where
Expr: Expression, type SqlType = Bool;impl<Expr> Expression for Asc<Expr> where
Expr: Expression, type SqlType = ();impl<Expr> Expression for Desc<Expr> where
Expr: Expression, type SqlType = ();impl<ST> Expression for SqlLiteral<ST> type SqlType = ST;
impl<T: Expression + ?Sized> Expression for Box<T> type SqlType = T::SqlType;
impl<'a, T: Expression + ?Sized> Expression for &'a T type SqlType = T::SqlType;
impl<A: Expression + NonAggregate> Expression for (A,) type SqlType = (<A as Expression>::SqlType,);
impl<A: Expression + NonAggregate, B: Expression + NonAggregate> Expression for (A, B) type SqlType = (<A as Expression>::SqlType, <B as Expression>::SqlType);
impl<A: Expression + NonAggregate, B: Expression + NonAggregate, C: Expression + NonAggregate> Expression for (A, B, C) type SqlType = (<A as Expression>::SqlType, <B as Expression>::SqlType, <C as Expression>::SqlType);
impl<A: Expression + NonAggregate, B: Expression + NonAggregate, C: Expression + NonAggregate, D: Expression + NonAggregate> Expression for (A, B, C, D) type SqlType = (<A as Expression>::SqlType, <B as Expression>::SqlType, <C as Expression>::SqlType, <D as Expression>::SqlType);
impl<A: Expression + NonAggregate, B: Expression + NonAggregate, C: Expression + NonAggregate, D: Expression + NonAggregate, E: Expression + NonAggregate> Expression for (A, B, C, D, E) type SqlType = (<A as Expression>::SqlType, <B as Expression>::SqlType, <C as Expression>::SqlType, <D as Expression>::SqlType, <E as Expression>::SqlType);
impl<A: Expression + NonAggregate, B: Expression + NonAggregate, C: Expression + NonAggregate, D: Expression + NonAggregate, E: Expression + NonAggregate, F: Expression + NonAggregate> Expression for (A, B, C, D, E, F) type SqlType = (<A as Expression>::SqlType, <B as Expression>::SqlType, <C as Expression>::SqlType, <D as Expression>::SqlType, <E as Expression>::SqlType, <F as Expression>::SqlType);
impl<A: Expression + NonAggregate, B: Expression + NonAggregate, C: Expression + NonAggregate, D: Expression + NonAggregate, E: Expression + NonAggregate, F: Expression + NonAggregate, G: Expression + NonAggregate> Expression for (A, B, C, D, E, F, G) type SqlType = (<A as Expression>::SqlType, <B as Expression>::SqlType, <C as Expression>::SqlType, <D as Expression>::SqlType, <E as Expression>::SqlType, <F as Expression>::SqlType, <G as Expression>::SqlType);
impl<A: Expression + NonAggregate, B: Expression + NonAggregate, C: Expression + NonAggregate, D: Expression + NonAggregate, E: Expression + NonAggregate, F: Expression + NonAggregate, G: Expression + NonAggregate, H: Expression + NonAggregate> Expression for (A, B, C, D, E, F, G, H) type SqlType = (<A as Expression>::SqlType, <B as Expression>::SqlType, <C as Expression>::SqlType, <D as Expression>::SqlType, <E as Expression>::SqlType, <F as Expression>::SqlType, <G as Expression>::SqlType, <H as Expression>::SqlType);
impl<A: Expression + NonAggregate, B: Expression + NonAggregate, C: Expression + NonAggregate, D: Expression + NonAggregate, E: Expression + NonAggregate, F: Expression + NonAggregate, G: Expression + NonAggregate, H: Expression + NonAggregate, I: Expression + NonAggregate> Expression for (A, B, C, D, E, F, G, H, I) type SqlType = (<A as Expression>::SqlType, <B as Expression>::SqlType, <C as Expression>::SqlType, <D as Expression>::SqlType, <E as Expression>::SqlType, <F as Expression>::SqlType, <G as Expression>::SqlType, <H as Expression>::SqlType, <I as Expression>::SqlType);
impl<A: Expression + NonAggregate, B: Expression + NonAggregate, C: Expression + NonAggregate, D: Expression + NonAggregate, E: Expression + NonAggregate, F: Expression + NonAggregate, G: Expression + NonAggregate, H: Expression + NonAggregate, I: Expression + NonAggregate, J: Expression + NonAggregate> Expression for (A, B, C, D, E, F, G, H, I, J) type SqlType = (<A as Expression>::SqlType, <B as Expression>::SqlType, <C as Expression>::SqlType, <D as Expression>::SqlType, <E as Expression>::SqlType, <F as Expression>::SqlType, <G as Expression>::SqlType, <H as Expression>::SqlType, <I as Expression>::SqlType, <J as Expression>::SqlType);
impl<A: Expression + NonAggregate, B: Expression + NonAggregate, C: Expression + NonAggregate, D: Expression + NonAggregate, E: Expression + NonAggregate, F: Expression + NonAggregate, G: Expression + NonAggregate, H: Expression + NonAggregate, I: Expression + NonAggregate, J: Expression + NonAggregate, K: Expression + NonAggregate> Expression for (A, B, C, D, E, F, G, H, I, J, K) type SqlType = (<A as Expression>::SqlType, <B as Expression>::SqlType, <C as Expression>::SqlType, <D as Expression>::SqlType, <E as Expression>::SqlType, <F as Expression>::SqlType, <G as Expression>::SqlType, <H as Expression>::SqlType, <I as Expression>::SqlType, <J as Expression>::SqlType, <K as Expression>::SqlType);
impl<A: Expression + NonAggregate, B: Expression + NonAggregate, C: Expression + NonAggregate, D: Expression + NonAggregate, E: Expression + NonAggregate, F: Expression + NonAggregate, G: Expression + NonAggregate, H: Expression + NonAggregate, I: Expression + NonAggregate, J: Expression + NonAggregate, K: Expression + NonAggregate, L: Expression + NonAggregate> Expression for (A, B, C, D, E, F, G, H, I, J, K, L) type SqlType = (<A as Expression>::SqlType, <B as Expression>::SqlType, <C as Expression>::SqlType, <D as Expression>::SqlType, <E as Expression>::SqlType, <F as Expression>::SqlType, <G as Expression>::SqlType, <H as Expression>::SqlType, <I as Expression>::SqlType, <J as Expression>::SqlType, <K as Expression>::SqlType, <L as Expression>::SqlType);
impl<A: Expression + NonAggregate, B: Expression + NonAggregate, C: Expression + NonAggregate, D: Expression + NonAggregate, E: Expression + NonAggregate, F: Expression + NonAggregate, G: Expression + NonAggregate, H: Expression + NonAggregate, I: Expression + NonAggregate, J: Expression + NonAggregate, K: Expression + NonAggregate, L: Expression + NonAggregate, M: Expression + NonAggregate> Expression for (A, B, C, D, E, F, G, H, I, J, K, L, M) type SqlType = (<A as Expression>::SqlType, <B as Expression>::SqlType, <C as Expression>::SqlType, <D as Expression>::SqlType, <E as Expression>::SqlType, <F as Expression>::SqlType, <G as Expression>::SqlType, <H as Expression>::SqlType, <I as Expression>::SqlType, <J as Expression>::SqlType, <K as Expression>::SqlType, <L as Expression>::SqlType, <M as Expression>::SqlType);
impl<A: Expression + NonAggregate, B: Expression + NonAggregate, C: Expression + NonAggregate, D: Expression + NonAggregate, E: Expression + NonAggregate, F: Expression + NonAggregate, G: Expression + NonAggregate, H: Expression + NonAggregate, I: Expression + NonAggregate, J: Expression + NonAggregate, K: Expression + NonAggregate, L: Expression + NonAggregate, M: Expression + NonAggregate, N: Expression + NonAggregate> Expression for (A, B, C, D, E, F, G, H, I, J, K, L, M, N) type SqlType = (<A as Expression>::SqlType, <B as Expression>::SqlType, <C as Expression>::SqlType, <D as Expression>::SqlType, <E as Expression>::SqlType, <F as Expression>::SqlType, <G as Expression>::SqlType, <H as Expression>::SqlType, <I as Expression>::SqlType, <J as Expression>::SqlType, <K as Expression>::SqlType, <L as Expression>::SqlType, <M as Expression>::SqlType, <N as Expression>::SqlType);
impl<A: Expression + NonAggregate, B: Expression + NonAggregate, C: Expression + NonAggregate, D: Expression + NonAggregate, E: Expression + NonAggregate, F: Expression + NonAggregate, G: Expression + NonAggregate, H: Expression + NonAggregate, I: Expression + NonAggregate, J: Expression + NonAggregate, K: Expression + NonAggregate, L: Expression + NonAggregate, M: Expression + NonAggregate, N: Expression + NonAggregate, O: Expression + NonAggregate> Expression for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O) type SqlType = (<A as Expression>::SqlType, <B as Expression>::SqlType, <C as Expression>::SqlType, <D as Expression>::SqlType, <E as Expression>::SqlType, <F as Expression>::SqlType, <G as Expression>::SqlType, <H as Expression>::SqlType, <I as Expression>::SqlType, <J as Expression>::SqlType, <K as Expression>::SqlType, <L as Expression>::SqlType, <M as Expression>::SqlType, <N as Expression>::SqlType, <O as Expression>::SqlType);
impl<A: Expression + NonAggregate, B: Expression + NonAggregate, C: Expression + NonAggregate, D: Expression + NonAggregate, E: Expression + NonAggregate, F: Expression + NonAggregate, G: Expression + NonAggregate, H: Expression + NonAggregate, I: Expression + NonAggregate, J: Expression + NonAggregate, K: Expression + NonAggregate, L: Expression + NonAggregate, M: Expression + NonAggregate, N: Expression + NonAggregate, O: Expression + NonAggregate, P: Expression + NonAggregate> Expression for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P) type SqlType = (<A as Expression>::SqlType, <B as Expression>::SqlType, <C as Expression>::SqlType, <D as Expression>::SqlType, <E as Expression>::SqlType, <F as Expression>::SqlType, <G as Expression>::SqlType, <H as Expression>::SqlType, <I as Expression>::SqlType, <J as Expression>::SqlType, <K as Expression>::SqlType, <L as Expression>::SqlType, <M as Expression>::SqlType, <N as Expression>::SqlType, <O as Expression>::SqlType, <P as Expression>::SqlType);