Skip to main content

IntoSelectTarget

Trait IntoSelectTarget 

Source
pub trait IntoSelectTarget {
    type Marker;
}
Expand description

Something that can be passed to .select(...); picks the select marker.

The marker decides how the row type is inferred:

Implemented for:

  • () -> SelectStar
  • SQL<'a, V> -> SelectExpr
  • SQLExpr<'a, V, T, N, A, S> -> SelectCols<(Self,)>
  • tuples (A, B, ...) -> SelectCols<(A, B, ...)>
  • columns and tables (generated by the table macros)
  • FromRow selectors (generated by the FromRow derives) -> SelectAs<R>

Required Associated Types§

Source

type Marker

The select marker.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl IntoSelectTarget for ()

select(()) → SelectStar — infer row type from the table.

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> IntoSelectTarget 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> IntoSelectTarget 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> IntoSelectTarget 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> IntoSelectTarget 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> IntoSelectTarget 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> IntoSelectTarget for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<T0, T1, T2, T3> IntoSelectTarget for (T0, T1, T2, T3)

Source§

impl<T0, T1, T2> IntoSelectTarget for (T0, T1, T2)

Source§

impl<T0, T1> IntoSelectTarget for (T0, T1)

Source§

impl<T0> IntoSelectTarget for (T0,)

Source§

impl<T: IntoSelectTarget + ?Sized> IntoSelectTarget for &T

Implementors§

Source§

impl<E, Name> IntoSelectTarget for NamedExpr<E, Name>
where E: ExprValueType,

Source§

type Marker = SelectCols<(NamedExpr<E, Name>,)>

Source§

impl<E> IntoSelectTarget for AliasedExpr<E>
where E: ExprValueType,

Source§

impl<Name, Output> IntoSelectTarget for DerivedField<Name, Output>
where Name: Tag, Output: ProjectionOutput + ExprValueType,

Source§

type Marker = SelectCols<(DerivedField<Name, Output>,)>

Source§

impl<V: SQLParam, T, N, A, S> IntoSelectTarget for SQLExpr<'_, V, T, N, A, S>

select(typed_expr) → SelectCols<(Expr,)> — single typed expression.

Source§

type Marker = SelectCols<(SQLExpr<'_, V, T, N, A, S>,)>

Source§

impl<V: SQLParam> IntoSelectTarget for SQL<'_, V>

select(sql!(...)) → SelectExpr — user must specify row type.