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>,

impl<DB, QS> AppearsOnTable<QS> for DynamicSelectClause<'_, DB, QS>
where Self: Expression,

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

impl<QS> AppearsOnTable<QS> for blue
where QS: AppearsInFromClause<table, Count = Once>,

impl<QS> AppearsOnTable<QS> for color_id
where QS: AppearsInFromClause<table, Count = Once>,

impl<QS> AppearsOnTable<QS> for color_name
where QS: AppearsInFromClause<table, Count = Once>,

impl<QS> AppearsOnTable<QS> for green
where QS: AppearsInFromClause<table, Count = Once>,

impl<QS> AppearsOnTable<QS> for red
where QS: AppearsInFromClause<table, Count = Once>,

impl<QS> AppearsOnTable<QS> for coord_id
where QS: AppearsInFromClause<table, Count = Once>,

impl<QS> AppearsOnTable<QS> for xcoord
where QS: AppearsInFromClause<table, Count = Once>,

impl<QS> AppearsOnTable<QS> for ycoord
where QS: AppearsInFromClause<table, Count = Once>,