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§
impl<'a, T, QS> AppearsOnTable<QS> for &'a T
impl<T, QS> AppearsOnTable<QS> for (T₁, T₂, …, Tₙ)
impl<T, QS> AppearsOnTable<QS> for Box<T>
Implementors§
impl<L, R, QS> AppearsOnTable<QS> for Concat<L, R>
impl<QS> AppearsOnTable<QS> for nowwhere
now: Expression,
impl<QS> AppearsOnTable<QS> for todaywhere
today: Expression,
impl<QS, Query, Value> AppearsOnTable<QS> for UncheckedBind<Query, Value>where
Self: Expression,
impl<QS, S, C> AppearsOnTable<QS> for AliasedField<S, C>where
S: AliasSource,
QS: AppearsInFromClause<Alias<S>, Count = Once>,
C: Column<Table = S::Target>,
impl<QS, ST, T> AppearsOnTable<QS> for SqlLiteral<ST, T>where
Self: Expression,
impl<ST, I, QS> AppearsOnTable<QS> for Many<ST, I>where
Many<ST, I>: Expression,
I: AsExpression<ST>,
ST: SingleValue,
<I as AsExpression<ST>>::Expression: SelectableExpression<QS>,
Available on crate feature
i-implement-a-third-party-backend-and-opt-into-breaking-changes
only.impl<T, QS> AppearsOnTable<QS> for Exists<T>
Available on crate feature
i-implement-a-third-party-backend-and-opt-into-breaking-changes
only.impl<T, U, QS> AppearsOnTable<QS> for In<T, U>
Available on crate feature
i-implement-a-third-party-backend-and-opt-into-breaking-changes
only.impl<T, U, QS> AppearsOnTable<QS> for NotIn<T, U>
Available on crate feature
i-implement-a-third-party-backend-and-opt-into-breaking-changes
only.