Skip to main content

AppearsOnTable

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.

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> AppearsOnTable<QS> for &'a T

Source§

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

Source§

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

Source§

impl<T, QS> AppearsOnTable<QS> for Rc<T>
where T: AppearsOnTable<QS> + ?Sized, Rc<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, 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: QueryRelationField<QueryRelation = S::Target>,

Source§

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

Source§

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

Source§

impl<QS> AppearsOnTable<QS> for today

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, C, QS> AppearsOnTable<QS> for Collate<T, C>
where T: AppearsOnTable<QS>, Collate<T, C>: Expression,

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