Trait diesel::expression::SelectableExpression
[−]
[src]
pub trait SelectableExpression<QS, Type: NativeSqlType = Self::SqlType>: Expression { }
Indicates that an expression can be selected from a source. The second type argument is optional, but is used to indicate that the right side of a left outer join is nullable, even if it wasn't before.
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.
Implementors
impl<T: Expression, QS> SelectableExpression<QS> for Max<T>
impl<T: Expression, QS> SelectableExpression<QS> for Min<T>
impl<QS> SelectableExpression<QS> for now
impl<T, QS> SelectableExpression<QS> for Desc<T> where Desc<T>: Expression, T: SelectableExpression<QS>
impl<T, QS> SelectableExpression<QS> for Asc<T> where Asc<T>: Expression, T: SelectableExpression<QS>
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<QS, ST: NativeSqlType> SelectableExpression<QS> for SqlLiteral<ST>
impl<T: ?Sized, ST, QS> SelectableExpression<QS, ST> for Box<T> where T: SelectableExpression<QS, ST>, ST: NativeSqlType, Box<T>: Expression
impl<'a, T: ?Sized, ST, QS> SelectableExpression<QS, ST> for &'a T where T: SelectableExpression<QS, ST>, ST: NativeSqlType, &'a T: Expression
impl<A, B, SA, SB, QS> SelectableExpression<QS, (SA, SB)> for (A, B) where SA: NativeSqlType, SB: NativeSqlType, A: SelectableExpression<QS, SA>, B: SelectableExpression<QS, SB>, (A, B): Expression
impl<A, B, SA, SB, QS> SelectableExpression<QS, Nullable<(SA, SB)>> for (A, B) where SA: NativeSqlType, SB: NativeSqlType, A: SelectableExpression<QS, Nullable<SA>>, B: SelectableExpression<QS, Nullable<SB>>, (A, B): Expression
impl<A, B, C, SA, SB, SC, QS> SelectableExpression<QS, (SA, SB, SC)> for (A, B, C) where SA: NativeSqlType, SB: NativeSqlType, SC: NativeSqlType, A: SelectableExpression<QS, SA>, B: SelectableExpression<QS, SB>, C: SelectableExpression<QS, SC>, (A, B, C): Expression
impl<A, B, C, SA, SB, SC, QS> SelectableExpression<QS, Nullable<(SA, SB, SC)>> for (A, B, C) where SA: NativeSqlType, SB: NativeSqlType, SC: NativeSqlType, A: SelectableExpression<QS, Nullable<SA>>, B: SelectableExpression<QS, Nullable<SB>>, C: SelectableExpression<QS, Nullable<SC>>, (A, B, C): Expression
impl<A, B, C, D, SA, SB, SC, SD, QS> SelectableExpression<QS, (SA, SB, SC, SD)> for (A, B, C, D) where SA: NativeSqlType, SB: NativeSqlType, SC: NativeSqlType, SD: NativeSqlType, A: SelectableExpression<QS, SA>, B: SelectableExpression<QS, SB>, C: SelectableExpression<QS, SC>, D: SelectableExpression<QS, SD>, (A, B, C, D): Expression
impl<A, B, C, D, SA, SB, SC, SD, QS> SelectableExpression<QS, Nullable<(SA, SB, SC, SD)>> for (A, B, C, D) where SA: NativeSqlType, SB: NativeSqlType, SC: NativeSqlType, SD: NativeSqlType, A: SelectableExpression<QS, Nullable<SA>>, B: SelectableExpression<QS, Nullable<SB>>, C: SelectableExpression<QS, Nullable<SC>>, D: SelectableExpression<QS, Nullable<SD>>, (A, B, C, D): Expression
impl<A, B, C, D, E, SA, SB, SC, SD, SE, QS> SelectableExpression<QS, (SA, SB, SC, SD, SE)> for (A, B, C, D, E) where SA: NativeSqlType, SB: NativeSqlType, SC: NativeSqlType, SD: NativeSqlType, SE: NativeSqlType, A: SelectableExpression<QS, SA>, B: SelectableExpression<QS, SB>, C: SelectableExpression<QS, SC>, D: SelectableExpression<QS, SD>, E: SelectableExpression<QS, SE>, (A, B, C, D, E): Expression
impl<A, B, C, D, E, SA, SB, SC, SD, SE, QS> SelectableExpression<QS, Nullable<(SA, SB, SC, SD, SE)>> for (A, B, C, D, E) where SA: NativeSqlType, SB: NativeSqlType, SC: NativeSqlType, SD: NativeSqlType, SE: NativeSqlType, A: SelectableExpression<QS, Nullable<SA>>, B: SelectableExpression<QS, Nullable<SB>>, C: SelectableExpression<QS, Nullable<SC>>, D: SelectableExpression<QS, Nullable<SD>>, E: SelectableExpression<QS, Nullable<SE>>, (A, B, C, D, E): Expression
impl<A, B, C, D, E, F, SA, SB, SC, SD, SE, SF, QS> SelectableExpression<QS, (SA, SB, SC, SD, SE, SF)> for (A, B, C, D, E, F) where SA: NativeSqlType, SB: NativeSqlType, SC: NativeSqlType, SD: NativeSqlType, SE: NativeSqlType, SF: NativeSqlType, A: SelectableExpression<QS, SA>, B: SelectableExpression<QS, SB>, C: SelectableExpression<QS, SC>, D: SelectableExpression<QS, SD>, E: SelectableExpression<QS, SE>, F: SelectableExpression<QS, SF>, (A, B, C, D, E, F): Expression
impl<A, B, C, D, E, F, SA, SB, SC, SD, SE, SF, QS> SelectableExpression<QS, Nullable<(SA, SB, SC, SD, SE, SF)>> for (A, B, C, D, E, F) where SA: NativeSqlType, SB: NativeSqlType, SC: NativeSqlType, SD: NativeSqlType, SE: NativeSqlType, SF: NativeSqlType, A: SelectableExpression<QS, Nullable<SA>>, B: SelectableExpression<QS, Nullable<SB>>, C: SelectableExpression<QS, Nullable<SC>>, D: SelectableExpression<QS, Nullable<SD>>, E: SelectableExpression<QS, Nullable<SE>>, F: SelectableExpression<QS, Nullable<SF>>, (A, B, C, D, E, F): Expression
impl<A, B, C, D, E, F, G, SA, SB, SC, SD, SE, SF, SG, QS> SelectableExpression<QS, (SA, SB, SC, SD, SE, SF, SG)> for (A, B, C, D, E, F, G) where SA: NativeSqlType, SB: NativeSqlType, SC: NativeSqlType, SD: NativeSqlType, SE: NativeSqlType, SF: NativeSqlType, SG: NativeSqlType, A: SelectableExpression<QS, SA>, B: SelectableExpression<QS, SB>, C: SelectableExpression<QS, SC>, D: SelectableExpression<QS, SD>, E: SelectableExpression<QS, SE>, F: SelectableExpression<QS, SF>, G: SelectableExpression<QS, SG>, (A, B, C, D, E, F, G): Expression
impl<A, B, C, D, E, F, G, SA, SB, SC, SD, SE, SF, SG, QS> SelectableExpression<QS, Nullable<(SA, SB, SC, SD, SE, SF, SG)>> for (A, B, C, D, E, F, G) where SA: NativeSqlType, SB: NativeSqlType, SC: NativeSqlType, SD: NativeSqlType, SE: NativeSqlType, SF: NativeSqlType, SG: NativeSqlType, A: SelectableExpression<QS, Nullable<SA>>, B: SelectableExpression<QS, Nullable<SB>>, C: SelectableExpression<QS, Nullable<SC>>, D: SelectableExpression<QS, Nullable<SD>>, E: SelectableExpression<QS, Nullable<SE>>, F: SelectableExpression<QS, Nullable<SF>>, G: SelectableExpression<QS, Nullable<SG>>, (A, B, C, D, E, F, G): Expression
impl<A, B, C, D, E, F, G, H, SA, SB, SC, SD, SE, SF, SG, SH, QS> SelectableExpression<QS, (SA, SB, SC, SD, SE, SF, SG, SH)> for (A, B, C, D, E, F, G, H) where SA: NativeSqlType, SB: NativeSqlType, SC: NativeSqlType, SD: NativeSqlType, SE: NativeSqlType, SF: NativeSqlType, SG: NativeSqlType, SH: NativeSqlType, A: SelectableExpression<QS, SA>, B: SelectableExpression<QS, SB>, C: SelectableExpression<QS, SC>, D: SelectableExpression<QS, SD>, E: SelectableExpression<QS, SE>, F: SelectableExpression<QS, SF>, G: SelectableExpression<QS, SG>, H: SelectableExpression<QS, SH>, (A, B, C, D, E, F, G, H): Expression
impl<A, B, C, D, E, F, G, H, SA, SB, SC, SD, SE, SF, SG, SH, QS> SelectableExpression<QS, Nullable<(SA, SB, SC, SD, SE, SF, SG, SH)>> for (A, B, C, D, E, F, G, H) where SA: NativeSqlType, SB: NativeSqlType, SC: NativeSqlType, SD: NativeSqlType, SE: NativeSqlType, SF: NativeSqlType, SG: NativeSqlType, SH: NativeSqlType, A: SelectableExpression<QS, Nullable<SA>>, B: SelectableExpression<QS, Nullable<SB>>, C: SelectableExpression<QS, Nullable<SC>>, D: SelectableExpression<QS, Nullable<SD>>, E: SelectableExpression<QS, Nullable<SE>>, F: SelectableExpression<QS, Nullable<SF>>, G: SelectableExpression<QS, Nullable<SG>>, H: SelectableExpression<QS, Nullable<SH>>, (A, B, C, D, E, F, G, H): Expression
impl<A, B, C, D, E, F, G, H, I, SA, SB, SC, SD, SE, SF, SG, SH, SI, QS> SelectableExpression<QS, (SA, SB, SC, SD, SE, SF, SG, SH, SI)> for (A, B, C, D, E, F, G, H, I) where SA: NativeSqlType, SB: NativeSqlType, SC: NativeSqlType, SD: NativeSqlType, SE: NativeSqlType, SF: NativeSqlType, SG: NativeSqlType, SH: NativeSqlType, SI: NativeSqlType, A: SelectableExpression<QS, SA>, B: SelectableExpression<QS, SB>, C: SelectableExpression<QS, SC>, D: SelectableExpression<QS, SD>, E: SelectableExpression<QS, SE>, F: SelectableExpression<QS, SF>, G: SelectableExpression<QS, SG>, H: SelectableExpression<QS, SH>, I: SelectableExpression<QS, SI>, (A, B, C, D, E, F, G, H, I): Expression
impl<A, B, C, D, E, F, G, H, I, SA, SB, SC, SD, SE, SF, SG, SH, SI, QS> SelectableExpression<QS, Nullable<(SA, SB, SC, SD, SE, SF, SG, SH, SI)>> for (A, B, C, D, E, F, G, H, I) where SA: NativeSqlType, SB: NativeSqlType, SC: NativeSqlType, SD: NativeSqlType, SE: NativeSqlType, SF: NativeSqlType, SG: NativeSqlType, SH: NativeSqlType, SI: NativeSqlType, A: SelectableExpression<QS, Nullable<SA>>, B: SelectableExpression<QS, Nullable<SB>>, C: SelectableExpression<QS, Nullable<SC>>, D: SelectableExpression<QS, Nullable<SD>>, E: SelectableExpression<QS, Nullable<SE>>, F: SelectableExpression<QS, Nullable<SF>>, G: SelectableExpression<QS, Nullable<SG>>, H: SelectableExpression<QS, Nullable<SH>>, I: SelectableExpression<QS, Nullable<SI>>, (A, B, C, D, E, F, G, H, I): Expression
impl<A, B, C, D, E, F, G, H, I, J, SA, SB, SC, SD, SE, SF, SG, SH, SI, SJ, QS> SelectableExpression<QS, (SA, SB, SC, SD, SE, SF, SG, SH, SI, SJ)> for (A, B, C, D, E, F, G, H, I, J) where SA: NativeSqlType, SB: NativeSqlType, SC: NativeSqlType, SD: NativeSqlType, SE: NativeSqlType, SF: NativeSqlType, SG: NativeSqlType, SH: NativeSqlType, SI: NativeSqlType, SJ: NativeSqlType, A: SelectableExpression<QS, SA>, B: SelectableExpression<QS, SB>, C: SelectableExpression<QS, SC>, D: SelectableExpression<QS, SD>, E: SelectableExpression<QS, SE>, F: SelectableExpression<QS, SF>, G: SelectableExpression<QS, SG>, H: SelectableExpression<QS, SH>, I: SelectableExpression<QS, SI>, J: SelectableExpression<QS, SJ>, (A, B, C, D, E, F, G, H, I, J): Expression
impl<A, B, C, D, E, F, G, H, I, J, SA, SB, SC, SD, SE, SF, SG, SH, SI, SJ, QS> SelectableExpression<QS, Nullable<(SA, SB, SC, SD, SE, SF, SG, SH, SI, SJ)>> for (A, B, C, D, E, F, G, H, I, J) where SA: NativeSqlType, SB: NativeSqlType, SC: NativeSqlType, SD: NativeSqlType, SE: NativeSqlType, SF: NativeSqlType, SG: NativeSqlType, SH: NativeSqlType, SI: NativeSqlType, SJ: NativeSqlType, A: SelectableExpression<QS, Nullable<SA>>, B: SelectableExpression<QS, Nullable<SB>>, C: SelectableExpression<QS, Nullable<SC>>, D: SelectableExpression<QS, Nullable<SD>>, E: SelectableExpression<QS, Nullable<SE>>, F: SelectableExpression<QS, Nullable<SF>>, G: SelectableExpression<QS, Nullable<SG>>, H: SelectableExpression<QS, Nullable<SH>>, I: SelectableExpression<QS, Nullable<SI>>, J: SelectableExpression<QS, Nullable<SJ>>, (A, B, C, D, E, F, G, H, I, J): Expression
impl<A, B, C, D, E, F, G, H, I, J, K, SA, SB, SC, SD, SE, SF, SG, SH, SI, SJ, SK, QS> SelectableExpression<QS, (SA, SB, SC, SD, SE, SF, SG, SH, SI, SJ, SK)> for (A, B, C, D, E, F, G, H, I, J, K) where SA: NativeSqlType, SB: NativeSqlType, SC: NativeSqlType, SD: NativeSqlType, SE: NativeSqlType, SF: NativeSqlType, SG: NativeSqlType, SH: NativeSqlType, SI: NativeSqlType, SJ: NativeSqlType, SK: NativeSqlType, A: SelectableExpression<QS, SA>, B: SelectableExpression<QS, SB>, C: SelectableExpression<QS, SC>, D: SelectableExpression<QS, SD>, E: SelectableExpression<QS, SE>, F: SelectableExpression<QS, SF>, G: SelectableExpression<QS, SG>, H: SelectableExpression<QS, SH>, I: SelectableExpression<QS, SI>, J: SelectableExpression<QS, SJ>, K: SelectableExpression<QS, SK>, (A, B, C, D, E, F, G, H, I, J, K): Expression
impl<A, B, C, D, E, F, G, H, I, J, K, SA, SB, SC, SD, SE, SF, SG, SH, SI, SJ, SK, QS> SelectableExpression<QS, Nullable<(SA, SB, SC, SD, SE, SF, SG, SH, SI, SJ, SK)>> for (A, B, C, D, E, F, G, H, I, J, K) where SA: NativeSqlType, SB: NativeSqlType, SC: NativeSqlType, SD: NativeSqlType, SE: NativeSqlType, SF: NativeSqlType, SG: NativeSqlType, SH: NativeSqlType, SI: NativeSqlType, SJ: NativeSqlType, SK: NativeSqlType, A: SelectableExpression<QS, Nullable<SA>>, B: SelectableExpression<QS, Nullable<SB>>, C: SelectableExpression<QS, Nullable<SC>>, D: SelectableExpression<QS, Nullable<SD>>, E: SelectableExpression<QS, Nullable<SE>>, F: SelectableExpression<QS, Nullable<SF>>, G: SelectableExpression<QS, Nullable<SG>>, H: SelectableExpression<QS, Nullable<SH>>, I: SelectableExpression<QS, Nullable<SI>>, J: SelectableExpression<QS, Nullable<SJ>>, K: SelectableExpression<QS, Nullable<SK>>, (A, B, C, D, E, F, G, H, I, J, K): Expression
impl<A, B, C, D, E, F, G, H, I, J, K, L, SA, SB, SC, SD, SE, SF, SG, SH, SI, SJ, SK, SL, QS> SelectableExpression<QS, (SA, SB, SC, SD, SE, SF, SG, SH, SI, SJ, SK, SL)> for (A, B, C, D, E, F, G, H, I, J, K, L) where SA: NativeSqlType, SB: NativeSqlType, SC: NativeSqlType, SD: NativeSqlType, SE: NativeSqlType, SF: NativeSqlType, SG: NativeSqlType, SH: NativeSqlType, SI: NativeSqlType, SJ: NativeSqlType, SK: NativeSqlType, SL: NativeSqlType, A: SelectableExpression<QS, SA>, B: SelectableExpression<QS, SB>, C: SelectableExpression<QS, SC>, D: SelectableExpression<QS, SD>, E: SelectableExpression<QS, SE>, F: SelectableExpression<QS, SF>, G: SelectableExpression<QS, SG>, H: SelectableExpression<QS, SH>, I: SelectableExpression<QS, SI>, J: SelectableExpression<QS, SJ>, K: SelectableExpression<QS, SK>, L: SelectableExpression<QS, SL>, (A, B, C, D, E, F, G, H, I, J, K, L): Expression
impl<A, B, C, D, E, F, G, H, I, J, K, L, SA, SB, SC, SD, SE, SF, SG, SH, SI, SJ, SK, SL, QS> SelectableExpression<QS, Nullable<(SA, SB, SC, SD, SE, SF, SG, SH, SI, SJ, SK, SL)>> for (A, B, C, D, E, F, G, H, I, J, K, L) where SA: NativeSqlType, SB: NativeSqlType, SC: NativeSqlType, SD: NativeSqlType, SE: NativeSqlType, SF: NativeSqlType, SG: NativeSqlType, SH: NativeSqlType, SI: NativeSqlType, SJ: NativeSqlType, SK: NativeSqlType, SL: NativeSqlType, A: SelectableExpression<QS, Nullable<SA>>, B: SelectableExpression<QS, Nullable<SB>>, C: SelectableExpression<QS, Nullable<SC>>, D: SelectableExpression<QS, Nullable<SD>>, E: SelectableExpression<QS, Nullable<SE>>, F: SelectableExpression<QS, Nullable<SF>>, G: SelectableExpression<QS, Nullable<SG>>, H: SelectableExpression<QS, Nullable<SH>>, I: SelectableExpression<QS, Nullable<SI>>, J: SelectableExpression<QS, Nullable<SJ>>, K: SelectableExpression<QS, Nullable<SK>>, L: SelectableExpression<QS, Nullable<SL>>, (A, B, C, D, E, F, G, H, I, J, K, L): Expression
impl<A, B, C, D, E, F, G, H, I, J, K, L, M, SA, SB, SC, SD, SE, SF, SG, SH, SI, SJ, SK, SL, SM, QS> SelectableExpression<QS, (SA, SB, SC, SD, SE, SF, SG, SH, SI, SJ, SK, SL, SM)> for (A, B, C, D, E, F, G, H, I, J, K, L, M) where SA: NativeSqlType, SB: NativeSqlType, SC: NativeSqlType, SD: NativeSqlType, SE: NativeSqlType, SF: NativeSqlType, SG: NativeSqlType, SH: NativeSqlType, SI: NativeSqlType, SJ: NativeSqlType, SK: NativeSqlType, SL: NativeSqlType, SM: NativeSqlType, A: SelectableExpression<QS, SA>, B: SelectableExpression<QS, SB>, C: SelectableExpression<QS, SC>, D: SelectableExpression<QS, SD>, E: SelectableExpression<QS, SE>, F: SelectableExpression<QS, SF>, G: SelectableExpression<QS, SG>, H: SelectableExpression<QS, SH>, I: SelectableExpression<QS, SI>, J: SelectableExpression<QS, SJ>, K: SelectableExpression<QS, SK>, L: SelectableExpression<QS, SL>, M: SelectableExpression<QS, SM>, (A, B, C, D, E, F, G, H, I, J, K, L, M): Expression
impl<A, B, C, D, E, F, G, H, I, J, K, L, M, SA, SB, SC, SD, SE, SF, SG, SH, SI, SJ, SK, SL, SM, QS> SelectableExpression<QS, Nullable<(SA, SB, SC, SD, SE, SF, SG, SH, SI, SJ, SK, SL, SM)>> for (A, B, C, D, E, F, G, H, I, J, K, L, M) where SA: NativeSqlType, SB: NativeSqlType, SC: NativeSqlType, SD: NativeSqlType, SE: NativeSqlType, SF: NativeSqlType, SG: NativeSqlType, SH: NativeSqlType, SI: NativeSqlType, SJ: NativeSqlType, SK: NativeSqlType, SL: NativeSqlType, SM: NativeSqlType, A: SelectableExpression<QS, Nullable<SA>>, B: SelectableExpression<QS, Nullable<SB>>, C: SelectableExpression<QS, Nullable<SC>>, D: SelectableExpression<QS, Nullable<SD>>, E: SelectableExpression<QS, Nullable<SE>>, F: SelectableExpression<QS, Nullable<SF>>, G: SelectableExpression<QS, Nullable<SG>>, H: SelectableExpression<QS, Nullable<SH>>, I: SelectableExpression<QS, Nullable<SI>>, J: SelectableExpression<QS, Nullable<SJ>>, K: SelectableExpression<QS, Nullable<SK>>, L: SelectableExpression<QS, Nullable<SL>>, M: SelectableExpression<QS, Nullable<SM>>, (A, B, C, D, E, F, G, H, I, J, K, L, M): Expression
impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, SA, SB, SC, SD, SE, SF, SG, SH, SI, SJ, SK, SL, SM, SN, QS> SelectableExpression<QS, (SA, SB, SC, SD, SE, SF, SG, SH, SI, SJ, SK, SL, SM, SN)> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N) where SA: NativeSqlType, SB: NativeSqlType, SC: NativeSqlType, SD: NativeSqlType, SE: NativeSqlType, SF: NativeSqlType, SG: NativeSqlType, SH: NativeSqlType, SI: NativeSqlType, SJ: NativeSqlType, SK: NativeSqlType, SL: NativeSqlType, SM: NativeSqlType, SN: NativeSqlType, A: SelectableExpression<QS, SA>, B: SelectableExpression<QS, SB>, C: SelectableExpression<QS, SC>, D: SelectableExpression<QS, SD>, E: SelectableExpression<QS, SE>, F: SelectableExpression<QS, SF>, G: SelectableExpression<QS, SG>, H: SelectableExpression<QS, SH>, I: SelectableExpression<QS, SI>, J: SelectableExpression<QS, SJ>, K: SelectableExpression<QS, SK>, L: SelectableExpression<QS, SL>, M: SelectableExpression<QS, SM>, N: SelectableExpression<QS, SN>, (A, B, C, D, E, F, G, H, I, J, K, L, M, N): Expression
impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, SA, SB, SC, SD, SE, SF, SG, SH, SI, SJ, SK, SL, SM, SN, QS> SelectableExpression<QS, Nullable<(SA, SB, SC, SD, SE, SF, SG, SH, SI, SJ, SK, SL, SM, SN)>> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N) where SA: NativeSqlType, SB: NativeSqlType, SC: NativeSqlType, SD: NativeSqlType, SE: NativeSqlType, SF: NativeSqlType, SG: NativeSqlType, SH: NativeSqlType, SI: NativeSqlType, SJ: NativeSqlType, SK: NativeSqlType, SL: NativeSqlType, SM: NativeSqlType, SN: NativeSqlType, A: SelectableExpression<QS, Nullable<SA>>, B: SelectableExpression<QS, Nullable<SB>>, C: SelectableExpression<QS, Nullable<SC>>, D: SelectableExpression<QS, Nullable<SD>>, E: SelectableExpression<QS, Nullable<SE>>, F: SelectableExpression<QS, Nullable<SF>>, G: SelectableExpression<QS, Nullable<SG>>, H: SelectableExpression<QS, Nullable<SH>>, I: SelectableExpression<QS, Nullable<SI>>, J: SelectableExpression<QS, Nullable<SJ>>, K: SelectableExpression<QS, Nullable<SK>>, L: SelectableExpression<QS, Nullable<SL>>, M: SelectableExpression<QS, Nullable<SM>>, N: SelectableExpression<QS, Nullable<SN>>, (A, B, C, D, E, F, G, H, I, J, K, L, M, N): Expression
impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, SA, SB, SC, SD, SE, SF, SG, SH, SI, SJ, SK, SL, SM, SN, SO, QS> SelectableExpression<QS, (SA, SB, SC, SD, SE, SF, SG, SH, SI, SJ, SK, SL, SM, SN, SO)> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O) where SA: NativeSqlType, SB: NativeSqlType, SC: NativeSqlType, SD: NativeSqlType, SE: NativeSqlType, SF: NativeSqlType, SG: NativeSqlType, SH: NativeSqlType, SI: NativeSqlType, SJ: NativeSqlType, SK: NativeSqlType, SL: NativeSqlType, SM: NativeSqlType, SN: NativeSqlType, SO: NativeSqlType, A: SelectableExpression<QS, SA>, B: SelectableExpression<QS, SB>, C: SelectableExpression<QS, SC>, D: SelectableExpression<QS, SD>, E: SelectableExpression<QS, SE>, F: SelectableExpression<QS, SF>, G: SelectableExpression<QS, SG>, H: SelectableExpression<QS, SH>, I: SelectableExpression<QS, SI>, J: SelectableExpression<QS, SJ>, K: SelectableExpression<QS, SK>, L: SelectableExpression<QS, SL>, M: SelectableExpression<QS, SM>, N: SelectableExpression<QS, SN>, O: SelectableExpression<QS, SO>, (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O): Expression
impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, SA, SB, SC, SD, SE, SF, SG, SH, SI, SJ, SK, SL, SM, SN, SO, QS> SelectableExpression<QS, Nullable<(SA, SB, SC, SD, SE, SF, SG, SH, SI, SJ, SK, SL, SM, SN, SO)>> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O) where SA: NativeSqlType, SB: NativeSqlType, SC: NativeSqlType, SD: NativeSqlType, SE: NativeSqlType, SF: NativeSqlType, SG: NativeSqlType, SH: NativeSqlType, SI: NativeSqlType, SJ: NativeSqlType, SK: NativeSqlType, SL: NativeSqlType, SM: NativeSqlType, SN: NativeSqlType, SO: NativeSqlType, A: SelectableExpression<QS, Nullable<SA>>, B: SelectableExpression<QS, Nullable<SB>>, C: SelectableExpression<QS, Nullable<SC>>, D: SelectableExpression<QS, Nullable<SD>>, E: SelectableExpression<QS, Nullable<SE>>, F: SelectableExpression<QS, Nullable<SF>>, G: SelectableExpression<QS, Nullable<SG>>, H: SelectableExpression<QS, Nullable<SH>>, I: SelectableExpression<QS, Nullable<SI>>, J: SelectableExpression<QS, Nullable<SJ>>, K: SelectableExpression<QS, Nullable<SK>>, L: SelectableExpression<QS, Nullable<SL>>, M: SelectableExpression<QS, Nullable<SM>>, N: SelectableExpression<QS, Nullable<SN>>, O: SelectableExpression<QS, Nullable<SO>>, (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O): Expression
impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, SA, SB, SC, SD, SE, SF, SG, SH, SI, SJ, SK, SL, SM, SN, SO, SP, QS> SelectableExpression<QS, (SA, SB, SC, SD, SE, SF, SG, SH, SI, SJ, SK, SL, SM, SN, SO, SP)> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P) where SA: NativeSqlType, SB: NativeSqlType, SC: NativeSqlType, SD: NativeSqlType, SE: NativeSqlType, SF: NativeSqlType, SG: NativeSqlType, SH: NativeSqlType, SI: NativeSqlType, SJ: NativeSqlType, SK: NativeSqlType, SL: NativeSqlType, SM: NativeSqlType, SN: NativeSqlType, SO: NativeSqlType, SP: NativeSqlType, A: SelectableExpression<QS, SA>, B: SelectableExpression<QS, SB>, C: SelectableExpression<QS, SC>, D: SelectableExpression<QS, SD>, E: SelectableExpression<QS, SE>, F: SelectableExpression<QS, SF>, G: SelectableExpression<QS, SG>, H: SelectableExpression<QS, SH>, I: SelectableExpression<QS, SI>, J: SelectableExpression<QS, SJ>, K: SelectableExpression<QS, SK>, L: SelectableExpression<QS, SL>, M: SelectableExpression<QS, SM>, N: SelectableExpression<QS, SN>, O: SelectableExpression<QS, SO>, P: SelectableExpression<QS, SP>, (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P): Expression
impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, SA, SB, SC, SD, SE, SF, SG, SH, SI, SJ, SK, SL, SM, SN, SO, SP, QS> SelectableExpression<QS, Nullable<(SA, SB, SC, SD, SE, SF, SG, SH, SI, SJ, SK, SL, SM, SN, SO, SP)>> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P) where SA: NativeSqlType, SB: NativeSqlType, SC: NativeSqlType, SD: NativeSqlType, SE: NativeSqlType, SF: NativeSqlType, SG: NativeSqlType, SH: NativeSqlType, SI: NativeSqlType, SJ: NativeSqlType, SK: NativeSqlType, SL: NativeSqlType, SM: NativeSqlType, SN: NativeSqlType, SO: NativeSqlType, SP: NativeSqlType, A: SelectableExpression<QS, Nullable<SA>>, B: SelectableExpression<QS, Nullable<SB>>, C: SelectableExpression<QS, Nullable<SC>>, D: SelectableExpression<QS, Nullable<SD>>, E: SelectableExpression<QS, Nullable<SE>>, F: SelectableExpression<QS, Nullable<SF>>, G: SelectableExpression<QS, Nullable<SG>>, H: SelectableExpression<QS, Nullable<SH>>, I: SelectableExpression<QS, Nullable<SI>>, J: SelectableExpression<QS, Nullable<SJ>>, K: SelectableExpression<QS, Nullable<SK>>, L: SelectableExpression<QS, Nullable<SL>>, M: SelectableExpression<QS, Nullable<SM>>, N: SelectableExpression<QS, Nullable<SN>>, O: SelectableExpression<QS, Nullable<SO>>, P: SelectableExpression<QS, Nullable<SP>>, (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P): Expression