Trait diesel::expression::SelectableExpression
[−]
[src]
pub trait SelectableExpression<QS>: Expression { type SqlTypeForSelect; }
Indicates that an expression can be selected from a source. The associated
type is usually the same as Expression::SqlType
, but is used to indicate
that a column is always nullable when it appears on the right side of a left
outer join, even if it wasn't nullable to begin with.
Columns will implement this for their table. Certain special types, like
CountStar
and Bound
will implement this for all sources. All other
expressions will inherit this from their children.
Associated Types
type SqlTypeForSelect
Implementors
impl<T, QS> SelectableExpression<QS> for Max<T> where Max<T>: Expression,
T: SelectableExpression<QS>impl<T, QS> SelectableExpression<QS> for Min<T> where Min<T>: Expression,
T: SelectableExpression<QS>impl<T, QS> SelectableExpression<QS> for Sum<T> where Sum<T>: Expression,
T: SelectableExpression<QS>impl<T, QS> SelectableExpression<QS> for Avg<T> where Avg<T>: Expression,
T: SelectableExpression<QS>impl<QS> SelectableExpression<QS> for now
impl<T, QS> SelectableExpression<QS> for IsNull<T> where T: SelectableExpression<QS>
impl<T, QS> SelectableExpression<QS> for IsNotNull<T> where T: SelectableExpression<QS>
impl<T, QS> SelectableExpression<QS> for Asc<T> where T: SelectableExpression<QS>
impl<T, QS> SelectableExpression<QS> for Desc<T> where T: SelectableExpression<QS>
impl<QS, ST> SelectableExpression<QS> for SqlLiteral<ST>
impl<T: ?Sized, QS> SelectableExpression<QS> for Box<T> where T: SelectableExpression<QS>,
Box<T>: Expressionimpl<'a, T: ?Sized, QS> SelectableExpression<QS> for &'a T where T: SelectableExpression<QS>,
&'a T: Expressionimpl<A, QS> SelectableExpression<QS> for (A,) where A: SelectableExpression<QS>,
(A,): Expressionimpl<A, B, QS> SelectableExpression<QS> for (A, B) where A: SelectableExpression<QS>,
B: SelectableExpression<QS>,
(A, B): Expressionimpl<A, B, C, QS> SelectableExpression<QS> for (A, B, C) where A: SelectableExpression<QS>,
B: SelectableExpression<QS>,
C: SelectableExpression<QS>,
(A, B, C): Expressionimpl<A, B, C, D, QS> SelectableExpression<QS> for (A, B, C, D) where A: SelectableExpression<QS>,
B: SelectableExpression<QS>,
C: SelectableExpression<QS>,
D: SelectableExpression<QS>,
(A, B, C, D): Expressionimpl<A, B, C, D, E, QS> SelectableExpression<QS> for (A, B, C, D, E) where A: SelectableExpression<QS>,
B: SelectableExpression<QS>,
C: SelectableExpression<QS>,
D: SelectableExpression<QS>,
E: SelectableExpression<QS>,
(A, B, C, D, E): Expressionimpl<A, B, C, D, E, F, QS> SelectableExpression<QS> for (A, B, C, D, E, F) where A: SelectableExpression<QS>,
B: SelectableExpression<QS>,
C: SelectableExpression<QS>,
D: SelectableExpression<QS>,
E: SelectableExpression<QS>,
F: SelectableExpression<QS>,
(A, B, C, D, E, F): Expressionimpl<A, B, C, D, E, F, G, QS> SelectableExpression<QS> for (A, B, C, D, E, F, G) where A: SelectableExpression<QS>,
B: SelectableExpression<QS>,
C: SelectableExpression<QS>,
D: SelectableExpression<QS>,
E: SelectableExpression<QS>,
F: SelectableExpression<QS>,
G: SelectableExpression<QS>,
(A, B, C, D, E, F, G): Expressionimpl<A, B, C, D, E, F, G, H, QS> SelectableExpression<QS> for (A, B, C, D, E, F, G, H) where A: SelectableExpression<QS>,
B: SelectableExpression<QS>,
C: SelectableExpression<QS>,
D: SelectableExpression<QS>,
E: SelectableExpression<QS>,
F: SelectableExpression<QS>,
G: SelectableExpression<QS>,
H: SelectableExpression<QS>,
(A, B, C, D, E, F, G, H): Expressionimpl<A, B, C, D, E, F, G, H, I, QS> SelectableExpression<QS> for (A, B, C, D, E, F, G, H, I) where A: SelectableExpression<QS>,
B: SelectableExpression<QS>,
C: SelectableExpression<QS>,
D: SelectableExpression<QS>,
E: SelectableExpression<QS>,
F: SelectableExpression<QS>,
G: SelectableExpression<QS>,
H: SelectableExpression<QS>,
I: SelectableExpression<QS>,
(A, B, C, D, E, F, G, H, I): Expressionimpl<A, B, C, D, E, F, G, H, I, J, QS> SelectableExpression<QS> for (A, B, C, D, E, F, G, H, I, J) where A: SelectableExpression<QS>,
B: SelectableExpression<QS>,
C: SelectableExpression<QS>,
D: SelectableExpression<QS>,
E: SelectableExpression<QS>,
F: SelectableExpression<QS>,
G: SelectableExpression<QS>,
H: SelectableExpression<QS>,
I: SelectableExpression<QS>,
J: SelectableExpression<QS>,
(A, B, C, D, E, F, G, H, I, J): Expressionimpl<A, B, C, D, E, F, G, H, I, J, K, QS> SelectableExpression<QS> for (A, B, C, D, E, F, G, H, I, J, K) where A: SelectableExpression<QS>,
B: SelectableExpression<QS>,
C: SelectableExpression<QS>,
D: SelectableExpression<QS>,
E: SelectableExpression<QS>,
F: SelectableExpression<QS>,
G: SelectableExpression<QS>,
H: SelectableExpression<QS>,
I: SelectableExpression<QS>,
J: SelectableExpression<QS>,
K: SelectableExpression<QS>,
(A, B, C, D, E, F, G, H, I, J, K): Expressionimpl<A, B, C, D, E, F, G, H, I, J, K, L, QS> SelectableExpression<QS> for (A, B, C, D, E, F, G, H, I, J, K, L) where A: SelectableExpression<QS>,
B: SelectableExpression<QS>,
C: SelectableExpression<QS>,
D: SelectableExpression<QS>,
E: SelectableExpression<QS>,
F: SelectableExpression<QS>,
G: SelectableExpression<QS>,
H: SelectableExpression<QS>,
I: SelectableExpression<QS>,
J: SelectableExpression<QS>,
K: SelectableExpression<QS>,
L: SelectableExpression<QS>,
(A, B, C, D, E, F, G, H, I, J, K, L): Expressionimpl<A, B, C, D, E, F, G, H, I, J, K, L, M, QS> SelectableExpression<QS> for (A, B, C, D, E, F, G, H, I, J, K, L, M) where A: SelectableExpression<QS>,
B: SelectableExpression<QS>,
C: SelectableExpression<QS>,
D: SelectableExpression<QS>,
E: SelectableExpression<QS>,
F: SelectableExpression<QS>,
G: SelectableExpression<QS>,
H: SelectableExpression<QS>,
I: SelectableExpression<QS>,
J: SelectableExpression<QS>,
K: SelectableExpression<QS>,
L: SelectableExpression<QS>,
M: SelectableExpression<QS>,
(A, B, C, D, E, F, G, H, I, J, K, L, M): Expressionimpl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, QS> SelectableExpression<QS> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N) where A: SelectableExpression<QS>,
B: SelectableExpression<QS>,
C: SelectableExpression<QS>,
D: SelectableExpression<QS>,
E: SelectableExpression<QS>,
F: SelectableExpression<QS>,
G: SelectableExpression<QS>,
H: SelectableExpression<QS>,
I: SelectableExpression<QS>,
J: SelectableExpression<QS>,
K: SelectableExpression<QS>,
L: SelectableExpression<QS>,
M: SelectableExpression<QS>,
N: SelectableExpression<QS>,
(A, B, C, D, E, F, G, H, I, J, K, L, M, N): Expressionimpl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, QS> SelectableExpression<QS> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O) where A: SelectableExpression<QS>,
B: SelectableExpression<QS>,
C: SelectableExpression<QS>,
D: SelectableExpression<QS>,
E: SelectableExpression<QS>,
F: SelectableExpression<QS>,
G: SelectableExpression<QS>,
H: SelectableExpression<QS>,
I: SelectableExpression<QS>,
J: SelectableExpression<QS>,
K: SelectableExpression<QS>,
L: SelectableExpression<QS>,
M: SelectableExpression<QS>,
N: SelectableExpression<QS>,
O: SelectableExpression<QS>,
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O): Expressionimpl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, QS> SelectableExpression<QS> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P) where A: SelectableExpression<QS>,
B: SelectableExpression<QS>,
C: SelectableExpression<QS>,
D: SelectableExpression<QS>,
E: SelectableExpression<QS>,
F: SelectableExpression<QS>,
G: SelectableExpression<QS>,
H: SelectableExpression<QS>,
I: SelectableExpression<QS>,
J: SelectableExpression<QS>,
K: SelectableExpression<QS>,
L: SelectableExpression<QS>,
M: SelectableExpression<QS>,
N: SelectableExpression<QS>,
O: SelectableExpression<QS>,
P: SelectableExpression<QS>,
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P): Expression