diesel::prelude

Trait AppearsOnTable

Source
pub trait AppearsOnTable<QS: ?Sized>: Expression { }
Expand description

Indicates that all elements of an expression are valid given a from clause.

This is used to ensure that users.filter(posts::id.eq(1)) fails to compile. This constraint is only used in places where the nullability of a SQL type doesn’t matter (everything except select and returning). For places where nullability is important, SelectableExpression is used instead.

Implementations on Foreign Types§

Source§

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

Source§

impl<T0, QS> AppearsOnTable<QS> for (T0,)

Source§

impl<T0, T1, QS> AppearsOnTable<QS> for (T0, T1)

Source§

impl<T0, T1, T2, QS> AppearsOnTable<QS> for (T0, T1, T2)

Source§

impl<T0, T1, T2, T3, QS> AppearsOnTable<QS> for (T0, T1, T2, T3)

Source§

impl<T0, T1, T2, T3, T4, QS> AppearsOnTable<QS> for (T0, T1, T2, T3, T4)

Source§

impl<T0, T1, T2, T3, T4, T5, QS> AppearsOnTable<QS> for (T0, T1, T2, T3, T4, T5)

Source§

impl<T0, T1, T2, T3, T4, T5, T6, QS> AppearsOnTable<QS> for (T0, T1, T2, T3, T4, T5, T6)

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, QS> AppearsOnTable<QS> for (T0, T1, T2, T3, T4, T5, T6, T7)

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, QS> AppearsOnTable<QS> for (T0, 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<T0, 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> AppearsOnTable<QS> for (T0, 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<T0, 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> AppearsOnTable<QS> for (T0, 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<T0, 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> AppearsOnTable<QS> for (T0, 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<T0, 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> AppearsOnTable<QS> for (T0, 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<T0, 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> AppearsOnTable<QS> for (T0, 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<T0, 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> AppearsOnTable<QS> for (T0, 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<T0, 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> AppearsOnTable<QS> for (T0, 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<T0, 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> AppearsOnTable<QS> for (T0, 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)

Source§

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

Implementors§

Source§

impl<L, R, QS> AppearsOnTable<QS> for Concat<L, R>
where Concat<L, R>: Expression, L: AppearsOnTable<QS>, R: AppearsOnTable<QS>,

Source§

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

Source§

impl<QS> AppearsOnTable<QS> for today

Source§

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

Source§

impl<QS, S, C> AppearsOnTable<QS> for AliasedField<S, C>
where S: AliasSource, QS: AppearsInFromClause<Alias<S>, Count = Once>, C: Column<Table = S::Target>,

Source§

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

Source§

impl<ST, I, QS> AppearsOnTable<QS> for Many<ST, I>

Available on crate feature i-implement-a-third-party-backend-and-opt-into-breaking-changes only.
Source§

impl<T, QS> AppearsOnTable<QS> for Exists<T>
where Self: Expression, Subselect<T, Bool>: AppearsOnTable<QS>,

Available on crate feature i-implement-a-third-party-backend-and-opt-into-breaking-changes only.
Source§

impl<T, U, QS> AppearsOnTable<QS> for In<T, U>
where In<T, U>: Expression, T: AppearsOnTable<QS>, U: AppearsOnTable<QS>,

Available on crate feature i-implement-a-third-party-backend-and-opt-into-breaking-changes only.
Source§

impl<T, U, QS> AppearsOnTable<QS> for NotIn<T, U>
where NotIn<T, U>: Expression, T: AppearsOnTable<QS>, U: AppearsOnTable<QS>,

Available on crate feature i-implement-a-third-party-backend-and-opt-into-breaking-changes only.
Source§

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

Source§

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

Source§

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