Skip to main content

SelectableExpression

Trait SelectableExpression 

Source
pub trait SelectableExpression<QS>: AppearsOnTable<QS>
where QS: ?Sized,
{ }
Expand description

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.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl<'a, T, QS> SelectableExpression<QS> for &'a T

Source§

impl<T, QS> SelectableExpression<QS> for (T,)

Source§

impl<T, QS> SelectableExpression<QS> for Box<T>
where T: SelectableExpression<QS> + ?Sized, Box<T>: AppearsOnTable<QS>,

Source§

impl<T, T1, QS> SelectableExpression<QS> for (T, T1)

Source§

impl<T, T1, T2, QS> SelectableExpression<QS> for (T, T1, T2)

Source§

impl<T, T1, T2, T3, QS> SelectableExpression<QS> for (T, T1, T2, T3)

Source§

impl<T, T1, T2, T3, T4, QS> SelectableExpression<QS> for (T, T1, T2, T3, T4)

Source§

impl<T, T1, T2, T3, T4, T5, QS> SelectableExpression<QS> for (T, T1, T2, T3, T4, T5)

Source§

impl<T, T1, T2, T3, T4, T5, T6, QS> SelectableExpression<QS> for (T, T1, T2, T3, T4, T5, T6)

Source§

impl<T, T1, T2, T3, T4, T5, T6, T7, QS> SelectableExpression<QS> for (T, T1, T2, T3, T4, T5, T6, T7)

Source§

impl<T, T1, T2, T3, T4, T5, T6, T7, T8, QS> SelectableExpression<QS> for (T, T1, T2, T3, T4, T5, T6, T7, T8)

Source§

impl<T, T1, T2, T3, T4, T5, T6, T7, T8, T9, QS> SelectableExpression<QS> for (T, T1, T2, T3, T4, T5, T6, T7, T8, T9)

Source§

impl<T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, QS> SelectableExpression<QS> for (T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)

Source§

impl<T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, QS> SelectableExpression<QS> for (T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)

Source§

impl<T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, QS> SelectableExpression<QS> for (T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)

Source§

impl<T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, QS> SelectableExpression<QS> for (T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)

Source§

impl<T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, QS> SelectableExpression<QS> for (T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)

Source§

impl<T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, QS> SelectableExpression<QS> for (T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)

Source§

impl<T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, QS> SelectableExpression<QS> for (T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)

Source§

impl<T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, QS> SelectableExpression<QS> for (T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17)

Source§

impl<T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, QS> SelectableExpression<QS> for (T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18)

Source§

impl<T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, QS> SelectableExpression<QS> for (T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19)

Source§

impl<T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, QS> SelectableExpression<QS> for (T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20)

Source§

impl<T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, QS> SelectableExpression<QS> for (T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21)

Source§

impl<T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, QS> SelectableExpression<QS> for (T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22)

Source§

impl<T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, QS> SelectableExpression<QS> for (T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23)

Source§

impl<T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, QS> SelectableExpression<QS> for (T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24)

Source§

impl<T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, QS> SelectableExpression<QS> for (T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25)

Source§

impl<T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, QS> SelectableExpression<QS> for (T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26)

Source§

impl<T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, QS> SelectableExpression<QS> for (T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27)

Source§

impl<T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, QS> SelectableExpression<QS> for (T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28)

Source§

impl<T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, QS> SelectableExpression<QS> for (T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29)

Source§

impl<T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, QS> SelectableExpression<QS> for (T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30)

Source§

impl<T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, QS> SelectableExpression<QS> for (T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31)

Implementors§

Source§

impl<QS> SelectableExpression<QS> for now
where now: AppearsOnTable<QS>,

Source§

impl<QS> SelectableExpression<QS> for today
where today: AppearsOnTable<QS>,

Source§

impl<QS, Query, Value> SelectableExpression<QS> for UncheckedBind<Query, Value>
where UncheckedBind<Query, Value>: AppearsOnTable<QS>,

Source§

impl<QS, ST, T> SelectableExpression<QS> for SqlLiteral<ST, T>
where SqlLiteral<ST, T>: Expression,

Source§

impl<S, C> SelectableExpression<Alias<S>> for AliasedField<S, C>
where S: AliasSource, C: Column<Table = <S as AliasSource>::Target>, AliasedField<S, C>: AppearsOnTable<Alias<S>>,

Source§

impl<W, T, E, QS> SelectableExpression<QS> for CaseWhen<CaseWhenConditionsLeaf<W, T>, ElseExpression<E>>
where CaseWhen<CaseWhenConditionsLeaf<W, T>, ElseExpression<E>>: AppearsOnTable<QS>, W: SelectableExpression<QS>, T: SelectableExpression<QS>, E: SelectableExpression<QS>,

Source§

impl<W, T, QS> SelectableExpression<QS> for CaseWhen<CaseWhenConditionsLeaf<W, T>, NoElseExpression>
where CaseWhen<CaseWhenConditionsLeaf<W, T>, NoElseExpression>: AppearsOnTable<QS>, W: SelectableExpression<QS>, T: SelectableExpression<QS>,

Source§

impl<W, T, Whens, E, QS> SelectableExpression<QS> for CaseWhen<CaseWhenConditionsIntermediateNode<W, T, Whens>, E>
where CaseWhen<CaseWhenConditionsIntermediateNode<W, T, Whens>, E>: AppearsOnTable<QS>, W: SelectableExpression<QS>, T: SelectableExpression<QS>, CaseWhen<Whens, E>: SelectableExpression<QS>,