Trait diesel::expression::SelectableExpression
[−]
[src]
pub trait SelectableExpression<QS: ?Sized>: AppearsOnTable<QS> { }
Indicates that an expression can be selected from a source. Columns will
implement this for their table. Certain special types, like CountStar
and
Bound
will implement this for all sources. Most compound expressions will
implement this if each of their parts implement it.
Notably, columns will not implement this trait for the right side of a left
join. To select a column or expression using a column from the right side of
a left join, you must call .nullable()
on it.
Implementors
impl<T, QS> SelectableExpression<QS> for Max<T> where
Max<T>: AppearsOnTable<QS>,
T: SelectableExpression<QS>,impl<T, QS> SelectableExpression<QS> for Min<T> where
Min<T>: AppearsOnTable<QS>,
T: SelectableExpression<QS>,impl<T, QS> SelectableExpression<QS> for Sum<T> where
Sum<T>: AppearsOnTable<QS>,
T: SelectableExpression<QS>,impl<T, QS> SelectableExpression<QS> for Avg<T> where
Avg<T>: AppearsOnTable<QS>,
T: SelectableExpression<QS>,impl<QS> SelectableExpression<QS> for now where
now: AppearsOnTable<QS>,impl<Expr, QS> SelectableExpression<QS> for IsNull<Expr> where
IsNull<Expr>: AppearsOnTable<QS>,
Expr: SelectableExpression<QS>,impl<Expr, QS> SelectableExpression<QS> for IsNotNull<Expr> where
IsNotNull<Expr>: AppearsOnTable<QS>,
Expr: SelectableExpression<QS>,impl<Expr, QS> SelectableExpression<QS> for Asc<Expr> where
Asc<Expr>: AppearsOnTable<QS>,
Expr: SelectableExpression<QS>,impl<Expr, QS> SelectableExpression<QS> for Desc<Expr> where
Desc<Expr>: AppearsOnTable<QS>,
Expr: 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>: AppearsOnTable<QS>,impl<'a, T: ?Sized, QS> SelectableExpression<QS> for &'a T where
T: SelectableExpression<QS>,
&'a T: AppearsOnTable<QS>,impl<A, QS> SelectableExpression<QS> for (A,) where
A: SelectableExpression<QS>,
(A,): AppearsOnTable<QS>,impl<A, B, QS> SelectableExpression<QS> for (A, B) where
A: SelectableExpression<QS>,
B: SelectableExpression<QS>,
(A, B): AppearsOnTable<QS>,impl<A, B, C, QS> SelectableExpression<QS> for (A, B, C) where
A: SelectableExpression<QS>,
B: SelectableExpression<QS>,
C: SelectableExpression<QS>,
(A, B, C): AppearsOnTable<QS>,impl<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): AppearsOnTable<QS>,impl<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): AppearsOnTable<QS>,impl<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): AppearsOnTable<QS>,impl<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): AppearsOnTable<QS>,impl<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): AppearsOnTable<QS>,impl<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): AppearsOnTable<QS>,impl<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): AppearsOnTable<QS>,impl<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): AppearsOnTable<QS>,impl<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): AppearsOnTable<QS>,impl<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): AppearsOnTable<QS>,impl<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): AppearsOnTable<QS>,impl<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): AppearsOnTable<QS>,impl<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): AppearsOnTable<QS>,