Skip to main content

IntoSelectTarget

Trait IntoSelectTarget 

Source
pub trait IntoSelectTarget {
    type Marker;
}
Expand description

Determines the select marker from what was passed to .select().

The marker controls how row types are inferred:

  • SelectStar — infer R from the table’s Select model
  • SelectCols<C> — infer R from the column value types
  • SelectExpr — R must be specified by the user

Implemented automatically for:

  • ()SelectStar
  • SQL<'a, V>SelectExpr
  • SQLExpr<'a, V, T, N, A>SelectCols<(Self,)>
  • Tuples (A, B, ...)SelectCols<(A, B, ...)>
  • Column ZSTs (proc macro generated)
  • Table structs (proc macro generated) → SelectStar

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

Implementors§

Source§

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

Source§

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

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

Source§

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

Source§

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

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