pub trait ExprSources {
type Sources;
}Expand description
The tables an expression reads, as a type-level tree.
Columns record their table, operators combine their operands’ trees, and
literals, placeholders and raw SQL read nothing (()). Queries check the
tree against their FROM/JOIN scope when they are run with .all(),
.get() or .rows(), so using a column of a table that was never joined
is a compile error. See crate::scope for the node types.
Required Associated Types§
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementations on Foreign Types§
Source§impl<T0: ExprSources, T1: ExprSources, T2: ExprSources, T3: ExprSources, T4: ExprSources, T5: ExprSources, T6: ExprSources, T7: ExprSources, T8: ExprSources, T9: ExprSources, T10: ExprSources, T11: ExprSources, T12: ExprSources, T13: ExprSources, T14: ExprSources, T15: ExprSources> ExprSources for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)
impl<T0: ExprSources, T1: ExprSources, T2: ExprSources, T3: ExprSources, T4: ExprSources, T5: ExprSources, T6: ExprSources, T7: ExprSources, T8: ExprSources, T9: ExprSources, T10: ExprSources, T11: ExprSources, T12: ExprSources, T13: ExprSources, T14: ExprSources, T15: ExprSources> ExprSources for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)
type Sources = (<T0 as ExprSources>::Sources, (<T1 as ExprSources>::Sources, (<T2 as ExprSources>::Sources, (<T3 as ExprSources>::Sources, (<T4 as ExprSources>::Sources, (<T5 as ExprSources>::Sources, (<T6 as ExprSources>::Sources, (<T7 as ExprSources>::Sources, (<T8 as ExprSources>::Sources, (<T9 as ExprSources>::Sources, (<T10 as ExprSources>::Sources, (<T11 as ExprSources>::Sources, (<T12 as ExprSources>::Sources, (<T13 as ExprSources>::Sources, (<T14 as ExprSources>::Sources, <T15 as ExprSources>::Sources)))))))))))))))
Source§impl<T0: ExprSources, T1: ExprSources, T2: ExprSources, T3: ExprSources, T4: ExprSources, T5: ExprSources, T6: ExprSources, T7: ExprSources, T8: ExprSources, T9: ExprSources, T10: ExprSources, T11: ExprSources, T12: ExprSources, T13: ExprSources, T14: ExprSources> ExprSources for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)
impl<T0: ExprSources, T1: ExprSources, T2: ExprSources, T3: ExprSources, T4: ExprSources, T5: ExprSources, T6: ExprSources, T7: ExprSources, T8: ExprSources, T9: ExprSources, T10: ExprSources, T11: ExprSources, T12: ExprSources, T13: ExprSources, T14: ExprSources> ExprSources for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)
type Sources = (<T0 as ExprSources>::Sources, (<T1 as ExprSources>::Sources, (<T2 as ExprSources>::Sources, (<T3 as ExprSources>::Sources, (<T4 as ExprSources>::Sources, (<T5 as ExprSources>::Sources, (<T6 as ExprSources>::Sources, (<T7 as ExprSources>::Sources, (<T8 as ExprSources>::Sources, (<T9 as ExprSources>::Sources, (<T10 as ExprSources>::Sources, (<T11 as ExprSources>::Sources, (<T12 as ExprSources>::Sources, (<T13 as ExprSources>::Sources, <T14 as ExprSources>::Sources))))))))))))))
Source§impl<T0: ExprSources, T1: ExprSources, T2: ExprSources, T3: ExprSources, T4: ExprSources, T5: ExprSources, T6: ExprSources, T7: ExprSources, T8: ExprSources, T9: ExprSources, T10: ExprSources, T11: ExprSources, T12: ExprSources, T13: ExprSources> ExprSources for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)
impl<T0: ExprSources, T1: ExprSources, T2: ExprSources, T3: ExprSources, T4: ExprSources, T5: ExprSources, T6: ExprSources, T7: ExprSources, T8: ExprSources, T9: ExprSources, T10: ExprSources, T11: ExprSources, T12: ExprSources, T13: ExprSources> ExprSources for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)
type Sources = (<T0 as ExprSources>::Sources, (<T1 as ExprSources>::Sources, (<T2 as ExprSources>::Sources, (<T3 as ExprSources>::Sources, (<T4 as ExprSources>::Sources, (<T5 as ExprSources>::Sources, (<T6 as ExprSources>::Sources, (<T7 as ExprSources>::Sources, (<T8 as ExprSources>::Sources, (<T9 as ExprSources>::Sources, (<T10 as ExprSources>::Sources, (<T11 as ExprSources>::Sources, (<T12 as ExprSources>::Sources, <T13 as ExprSources>::Sources)))))))))))))
Source§impl<T0: ExprSources, T1: ExprSources, T2: ExprSources, T3: ExprSources, T4: ExprSources, T5: ExprSources, T6: ExprSources, T7: ExprSources, T8: ExprSources, T9: ExprSources, T10: ExprSources, T11: ExprSources, T12: ExprSources> ExprSources for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)
impl<T0: ExprSources, T1: ExprSources, T2: ExprSources, T3: ExprSources, T4: ExprSources, T5: ExprSources, T6: ExprSources, T7: ExprSources, T8: ExprSources, T9: ExprSources, T10: ExprSources, T11: ExprSources, T12: ExprSources> ExprSources for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)
type Sources = (<T0 as ExprSources>::Sources, (<T1 as ExprSources>::Sources, (<T2 as ExprSources>::Sources, (<T3 as ExprSources>::Sources, (<T4 as ExprSources>::Sources, (<T5 as ExprSources>::Sources, (<T6 as ExprSources>::Sources, (<T7 as ExprSources>::Sources, (<T8 as ExprSources>::Sources, (<T9 as ExprSources>::Sources, (<T10 as ExprSources>::Sources, (<T11 as ExprSources>::Sources, <T12 as ExprSources>::Sources))))))))))))
Source§impl<T0: ExprSources, T1: ExprSources, T2: ExprSources, T3: ExprSources, T4: ExprSources, T5: ExprSources, T6: ExprSources, T7: ExprSources, T8: ExprSources, T9: ExprSources, T10: ExprSources, T11: ExprSources> ExprSources for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
impl<T0: ExprSources, T1: ExprSources, T2: ExprSources, T3: ExprSources, T4: ExprSources, T5: ExprSources, T6: ExprSources, T7: ExprSources, T8: ExprSources, T9: ExprSources, T10: ExprSources, T11: ExprSources> ExprSources for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
type Sources = (<T0 as ExprSources>::Sources, (<T1 as ExprSources>::Sources, (<T2 as ExprSources>::Sources, (<T3 as ExprSources>::Sources, (<T4 as ExprSources>::Sources, (<T5 as ExprSources>::Sources, (<T6 as ExprSources>::Sources, (<T7 as ExprSources>::Sources, (<T8 as ExprSources>::Sources, (<T9 as ExprSources>::Sources, (<T10 as ExprSources>::Sources, <T11 as ExprSources>::Sources)))))))))))
Source§impl<T0: ExprSources, T1: ExprSources, T2: ExprSources, T3: ExprSources, T4: ExprSources, T5: ExprSources, T6: ExprSources, T7: ExprSources, T8: ExprSources, T9: ExprSources, T10: ExprSources> ExprSources for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)
impl<T0: ExprSources, T1: ExprSources, T2: ExprSources, T3: ExprSources, T4: ExprSources, T5: ExprSources, T6: ExprSources, T7: ExprSources, T8: ExprSources, T9: ExprSources, T10: ExprSources> ExprSources for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)
type Sources = (<T0 as ExprSources>::Sources, (<T1 as ExprSources>::Sources, (<T2 as ExprSources>::Sources, (<T3 as ExprSources>::Sources, (<T4 as ExprSources>::Sources, (<T5 as ExprSources>::Sources, (<T6 as ExprSources>::Sources, (<T7 as ExprSources>::Sources, (<T8 as ExprSources>::Sources, (<T9 as ExprSources>::Sources, <T10 as ExprSources>::Sources))))))))))
Source§impl<T0: ExprSources, T1: ExprSources, T2: ExprSources, T3: ExprSources, T4: ExprSources, T5: ExprSources, T6: ExprSources, T7: ExprSources, T8: ExprSources, T9: ExprSources> ExprSources for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)
impl<T0: ExprSources, T1: ExprSources, T2: ExprSources, T3: ExprSources, T4: ExprSources, T5: ExprSources, T6: ExprSources, T7: ExprSources, T8: ExprSources, T9: ExprSources> ExprSources for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)
type Sources = (<T0 as ExprSources>::Sources, (<T1 as ExprSources>::Sources, (<T2 as ExprSources>::Sources, (<T3 as ExprSources>::Sources, (<T4 as ExprSources>::Sources, (<T5 as ExprSources>::Sources, (<T6 as ExprSources>::Sources, (<T7 as ExprSources>::Sources, (<T8 as ExprSources>::Sources, <T9 as ExprSources>::Sources)))))))))
Source§impl<T0: ExprSources, T1: ExprSources, T2: ExprSources, T3: ExprSources, T4: ExprSources, T5: ExprSources, T6: ExprSources, T7: ExprSources, T8: ExprSources> ExprSources for (T0, T1, T2, T3, T4, T5, T6, T7, T8)
impl<T0: ExprSources, T1: ExprSources, T2: ExprSources, T3: ExprSources, T4: ExprSources, T5: ExprSources, T6: ExprSources, T7: ExprSources, T8: ExprSources> ExprSources for (T0, T1, T2, T3, T4, T5, T6, T7, T8)
type Sources = (<T0 as ExprSources>::Sources, (<T1 as ExprSources>::Sources, (<T2 as ExprSources>::Sources, (<T3 as ExprSources>::Sources, (<T4 as ExprSources>::Sources, (<T5 as ExprSources>::Sources, (<T6 as ExprSources>::Sources, (<T7 as ExprSources>::Sources, <T8 as ExprSources>::Sources))))))))
Source§impl<T0: ExprSources, T1: ExprSources, T2: ExprSources, T3: ExprSources, T4: ExprSources, T5: ExprSources, T6: ExprSources, T7: ExprSources> ExprSources for (T0, T1, T2, T3, T4, T5, T6, T7)
impl<T0: ExprSources, T1: ExprSources, T2: ExprSources, T3: ExprSources, T4: ExprSources, T5: ExprSources, T6: ExprSources, T7: ExprSources> ExprSources for (T0, T1, T2, T3, T4, T5, T6, T7)
type Sources = (<T0 as ExprSources>::Sources, (<T1 as ExprSources>::Sources, (<T2 as ExprSources>::Sources, (<T3 as ExprSources>::Sources, (<T4 as ExprSources>::Sources, (<T5 as ExprSources>::Sources, (<T6 as ExprSources>::Sources, <T7 as ExprSources>::Sources)))))))
Source§impl<T0: ExprSources, T1: ExprSources, T2: ExprSources, T3: ExprSources, T4: ExprSources, T5: ExprSources, T6: ExprSources> ExprSources for (T0, T1, T2, T3, T4, T5, T6)
impl<T0: ExprSources, T1: ExprSources, T2: ExprSources, T3: ExprSources, T4: ExprSources, T5: ExprSources, T6: ExprSources> ExprSources for (T0, T1, T2, T3, T4, T5, T6)
type Sources = (<T0 as ExprSources>::Sources, (<T1 as ExprSources>::Sources, (<T2 as ExprSources>::Sources, (<T3 as ExprSources>::Sources, (<T4 as ExprSources>::Sources, (<T5 as ExprSources>::Sources, <T6 as ExprSources>::Sources))))))
Source§impl<T0: ExprSources, T1: ExprSources, T2: ExprSources, T3: ExprSources, T4: ExprSources, T5: ExprSources> ExprSources for (T0, T1, T2, T3, T4, T5)
impl<T0: ExprSources, T1: ExprSources, T2: ExprSources, T3: ExprSources, T4: ExprSources, T5: ExprSources> ExprSources for (T0, T1, T2, T3, T4, T5)
type Sources = (<T0 as ExprSources>::Sources, (<T1 as ExprSources>::Sources, (<T2 as ExprSources>::Sources, (<T3 as ExprSources>::Sources, (<T4 as ExprSources>::Sources, <T5 as ExprSources>::Sources)))))
Source§impl<T0: ExprSources, T1: ExprSources, T2: ExprSources, T3: ExprSources, T4: ExprSources> ExprSources for (T0, T1, T2, T3, T4)
impl<T0: ExprSources, T1: ExprSources, T2: ExprSources, T3: ExprSources, T4: ExprSources> ExprSources for (T0, T1, T2, T3, T4)
type Sources = (<T0 as ExprSources>::Sources, (<T1 as ExprSources>::Sources, (<T2 as ExprSources>::Sources, (<T3 as ExprSources>::Sources, <T4 as ExprSources>::Sources))))
Source§impl<T0: ExprSources, T1: ExprSources, T2: ExprSources, T3: ExprSources> ExprSources for (T0, T1, T2, T3)
impl<T0: ExprSources, T1: ExprSources, T2: ExprSources, T3: ExprSources> ExprSources for (T0, T1, T2, T3)
type Sources = (<T0 as ExprSources>::Sources, (<T1 as ExprSources>::Sources, (<T2 as ExprSources>::Sources, <T3 as ExprSources>::Sources)))
Source§impl<T0: ExprSources, T1: ExprSources, T2: ExprSources> ExprSources for (T0, T1, T2)
impl<T0: ExprSources, T1: ExprSources, T2: ExprSources> ExprSources for (T0, T1, T2)
type Sources = (<T0 as ExprSources>::Sources, (<T1 as ExprSources>::Sources, <T2 as ExprSources>::Sources))
Source§impl<T0: ExprSources, T1: ExprSources> ExprSources for (T0, T1)
impl<T0: ExprSources, T1: ExprSources> ExprSources for (T0, T1)
type Sources = (<T0 as ExprSources>::Sources, <T1 as ExprSources>::Sources)
Source§impl<T0: ExprSources> ExprSources for (T0,)
impl<T0: ExprSources> ExprSources for (T0,)
type Sources = <T0 as ExprSources>::Sources
Source§impl<T: ExprSources + ?Sized> ExprSources for &T
impl<T: ExprSources + ?Sized> ExprSources for &T
type Sources = <T as ExprSources>::Sources
Source§impl<T: ExprSources> ExprSources for Option<T>
impl<T: ExprSources> ExprSources for Option<T>
type Sources = <T as ExprSources>::Sources
Source§impl<T: OrderTerm, const N: usize> ExprSources for [T; N]
impl<T: OrderTerm, const N: usize> ExprSources for [T; N]
type Sources = <T as ExprSources>::Sources
Source§impl<T: OrderTerm> ExprSources for Vec<T>
impl<T: OrderTerm> ExprSources for Vec<T>
type Sources = <T as ExprSources>::Sources
Implementors§
Source§impl ExprSources for Nil
Expression lists (Cons<E, ...>) read every element’s sources.
impl ExprSources for Nil
Expression lists (Cons<E, ...>) read every element’s sources.
Source§impl ExprSources for Placeholder
impl ExprSources for Placeholder
Source§impl<C> ExprSources for Excluded<C>
EXCLUDED is the proposed insert row, not a FROM source.
impl<C> ExprSources for Excluded<C>
EXCLUDED is the proposed insert row, not a FROM source.