Trait diesel::prelude::Selectable[][src]

pub trait Selectable<DB: Backend> {
    type SelectExpression: Expression;
    fn construct_selection() -> Self::SelectExpression;
}

Trait indicating that a record can be selected and queried from the database.

Types which implement Selectable represent the select clause of a SQL query. Use SelectableHelper::as_select() to construct the select clause. Once you called .select(YourType::as_select()) we enforce at the type system level that you use the same type to load the query result into.

The constructed select clause can contain arbitrary expressions coming from different tables. The corresponding derive provides a simple way to construct a select clause matching fields to the corresponding table columns.

Examples

If you just want to construct a select clause using an existing struct, you can use #[derive(Selectable)], See #[derive(Selectable)] for details.

use schema::users;

#[derive(Queryable, PartialEq, Debug, Selectable)]
struct User {
    id: i32,
    name: String,
}

let first_user = users.select(User::as_select()).first(connection)?;
let expected = User { id: 1, name: "Sean".into() };
assert_eq!(expected, first_user);

Alternatively, we can implement the trait for our struct manually.

use schema::users;
use diesel::prelude::{Queryable, Selectable};
use diesel::backend::Backend;

#[derive(Queryable, PartialEq, Debug)]
struct User {
    id: i32,
    name: String,
}

impl<DB> Selectable<DB> for User
where
    DB: Backend
{
    type SelectExpression = (users::id, users::name);

    fn construct_selection() -> Self::SelectExpression {
        (users::id, users::name)
    }
}

let first_user = users.select(User::as_select()).first(connection)?;
let expected = User { id: 1, name: "Sean".into() };
assert_eq!(expected, first_user);

Associated Types

type SelectExpression: Expression[src]

The expression you’d like to select.

This is typically a tuple of corresponding to the table columns of your struct’s fields.

Loading content...

Required methods

fn construct_selection() -> Self::SelectExpression[src]

Construct an instance of the expression

Loading content...

Implementations on Foreign Types

impl<T, DB> Selectable<DB> for Option<T> where
    DB: Backend,
    T: Selectable<DB>,
    Nullable<T::SelectExpression>: Expression
[src]

type SelectExpression = Nullable<T::SelectExpression>

impl<A, __DB> Selectable<__DB> for (A,) where
    __DB: Backend,
    A: Selectable<__DB>, 
[src]

type SelectExpression = (A::SelectExpression,)

impl<A, B, __DB> Selectable<__DB> for (A, B) where
    __DB: Backend,
    A: Selectable<__DB>,
    B: Selectable<__DB>, 
[src]

type SelectExpression = (A::SelectExpression, B::SelectExpression)

impl<A, B, C, __DB> Selectable<__DB> for (A, B, C) where
    __DB: Backend,
    A: Selectable<__DB>,
    B: Selectable<__DB>,
    C: Selectable<__DB>, 
[src]

type SelectExpression = (A::SelectExpression, B::SelectExpression, C::SelectExpression)

impl<A, B, C, D, __DB> Selectable<__DB> for (A, B, C, D) where
    __DB: Backend,
    A: Selectable<__DB>,
    B: Selectable<__DB>,
    C: Selectable<__DB>,
    D: Selectable<__DB>, 
[src]

type SelectExpression = (A::SelectExpression, B::SelectExpression, C::SelectExpression, D::SelectExpression)

impl<A, B, C, D, E, __DB> Selectable<__DB> for (A, B, C, D, E) where
    __DB: Backend,
    A: Selectable<__DB>,
    B: Selectable<__DB>,
    C: Selectable<__DB>,
    D: Selectable<__DB>,
    E: Selectable<__DB>, 
[src]

type SelectExpression = (A::SelectExpression, B::SelectExpression, C::SelectExpression, D::SelectExpression, E::SelectExpression)

impl<A, B, C, D, E, F, __DB> Selectable<__DB> for (A, B, C, D, E, F) where
    __DB: Backend,
    A: Selectable<__DB>,
    B: Selectable<__DB>,
    C: Selectable<__DB>,
    D: Selectable<__DB>,
    E: Selectable<__DB>,
    F: Selectable<__DB>, 
[src]

type SelectExpression = (A::SelectExpression, B::SelectExpression, C::SelectExpression, D::SelectExpression, E::SelectExpression, F::SelectExpression)

impl<A, B, C, D, E, F, G, __DB> Selectable<__DB> for (A, B, C, D, E, F, G) where
    __DB: Backend,
    A: Selectable<__DB>,
    B: Selectable<__DB>,
    C: Selectable<__DB>,
    D: Selectable<__DB>,
    E: Selectable<__DB>,
    F: Selectable<__DB>,
    G: Selectable<__DB>, 
[src]

type SelectExpression = (A::SelectExpression, B::SelectExpression, C::SelectExpression, D::SelectExpression, E::SelectExpression, F::SelectExpression, G::SelectExpression)

impl<A, B, C, D, E, F, G, H, __DB> Selectable<__DB> for (A, B, C, D, E, F, G, H) where
    __DB: Backend,
    A: Selectable<__DB>,
    B: Selectable<__DB>,
    C: Selectable<__DB>,
    D: Selectable<__DB>,
    E: Selectable<__DB>,
    F: Selectable<__DB>,
    G: Selectable<__DB>,
    H: Selectable<__DB>, 
[src]

type SelectExpression = (A::SelectExpression, B::SelectExpression, C::SelectExpression, D::SelectExpression, E::SelectExpression, F::SelectExpression, G::SelectExpression, H::SelectExpression)

impl<A, B, C, D, E, F, G, H, I, __DB> Selectable<__DB> for (A, B, C, D, E, F, G, H, I) where
    __DB: Backend,
    A: Selectable<__DB>,
    B: Selectable<__DB>,
    C: Selectable<__DB>,
    D: Selectable<__DB>,
    E: Selectable<__DB>,
    F: Selectable<__DB>,
    G: Selectable<__DB>,
    H: Selectable<__DB>,
    I: Selectable<__DB>, 
[src]

type SelectExpression = (A::SelectExpression, B::SelectExpression, C::SelectExpression, D::SelectExpression, E::SelectExpression, F::SelectExpression, G::SelectExpression, H::SelectExpression, I::SelectExpression)

impl<A, B, C, D, E, F, G, H, I, J, __DB> Selectable<__DB> for (A, B, C, D, E, F, G, H, I, J) where
    __DB: Backend,
    A: Selectable<__DB>,
    B: Selectable<__DB>,
    C: Selectable<__DB>,
    D: Selectable<__DB>,
    E: Selectable<__DB>,
    F: Selectable<__DB>,
    G: Selectable<__DB>,
    H: Selectable<__DB>,
    I: Selectable<__DB>,
    J: Selectable<__DB>, 
[src]

type SelectExpression = (A::SelectExpression, B::SelectExpression, C::SelectExpression, D::SelectExpression, E::SelectExpression, F::SelectExpression, G::SelectExpression, H::SelectExpression, I::SelectExpression, J::SelectExpression)

impl<A, B, C, D, E, F, G, H, I, J, K, __DB> Selectable<__DB> for (A, B, C, D, E, F, G, H, I, J, K) where
    __DB: Backend,
    A: Selectable<__DB>,
    B: Selectable<__DB>,
    C: Selectable<__DB>,
    D: Selectable<__DB>,
    E: Selectable<__DB>,
    F: Selectable<__DB>,
    G: Selectable<__DB>,
    H: Selectable<__DB>,
    I: Selectable<__DB>,
    J: Selectable<__DB>,
    K: Selectable<__DB>, 
[src]

type SelectExpression = (A::SelectExpression, B::SelectExpression, C::SelectExpression, D::SelectExpression, E::SelectExpression, F::SelectExpression, G::SelectExpression, H::SelectExpression, I::SelectExpression, J::SelectExpression, K::SelectExpression)

impl<A, B, C, D, E, F, G, H, I, J, K, L, __DB> Selectable<__DB> for (A, B, C, D, E, F, G, H, I, J, K, L) where
    __DB: Backend,
    A: Selectable<__DB>,
    B: Selectable<__DB>,
    C: Selectable<__DB>,
    D: Selectable<__DB>,
    E: Selectable<__DB>,
    F: Selectable<__DB>,
    G: Selectable<__DB>,
    H: Selectable<__DB>,
    I: Selectable<__DB>,
    J: Selectable<__DB>,
    K: Selectable<__DB>,
    L: Selectable<__DB>, 
[src]

type SelectExpression = (A::SelectExpression, B::SelectExpression, C::SelectExpression, D::SelectExpression, E::SelectExpression, F::SelectExpression, G::SelectExpression, H::SelectExpression, I::SelectExpression, J::SelectExpression, K::SelectExpression, L::SelectExpression)

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, __DB> Selectable<__DB> for (A, B, C, D, E, F, G, H, I, J, K, L, M) where
    __DB: Backend,
    A: Selectable<__DB>,
    B: Selectable<__DB>,
    C: Selectable<__DB>,
    D: Selectable<__DB>,
    E: Selectable<__DB>,
    F: Selectable<__DB>,
    G: Selectable<__DB>,
    H: Selectable<__DB>,
    I: Selectable<__DB>,
    J: Selectable<__DB>,
    K: Selectable<__DB>,
    L: Selectable<__DB>,
    M: Selectable<__DB>, 
[src]

type SelectExpression = (A::SelectExpression, B::SelectExpression, C::SelectExpression, D::SelectExpression, E::SelectExpression, F::SelectExpression, G::SelectExpression, H::SelectExpression, I::SelectExpression, J::SelectExpression, K::SelectExpression, L::SelectExpression, M::SelectExpression)

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, __DB> Selectable<__DB> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N) where
    __DB: Backend,
    A: Selectable<__DB>,
    B: Selectable<__DB>,
    C: Selectable<__DB>,
    D: Selectable<__DB>,
    E: Selectable<__DB>,
    F: Selectable<__DB>,
    G: Selectable<__DB>,
    H: Selectable<__DB>,
    I: Selectable<__DB>,
    J: Selectable<__DB>,
    K: Selectable<__DB>,
    L: Selectable<__DB>,
    M: Selectable<__DB>,
    N: Selectable<__DB>, 
[src]

type SelectExpression = (A::SelectExpression, B::SelectExpression, C::SelectExpression, D::SelectExpression, E::SelectExpression, F::SelectExpression, G::SelectExpression, H::SelectExpression, I::SelectExpression, J::SelectExpression, K::SelectExpression, L::SelectExpression, M::SelectExpression, N::SelectExpression)

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, __DB> Selectable<__DB> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O) where
    __DB: Backend,
    A: Selectable<__DB>,
    B: Selectable<__DB>,
    C: Selectable<__DB>,
    D: Selectable<__DB>,
    E: Selectable<__DB>,
    F: Selectable<__DB>,
    G: Selectable<__DB>,
    H: Selectable<__DB>,
    I: Selectable<__DB>,
    J: Selectable<__DB>,
    K: Selectable<__DB>,
    L: Selectable<__DB>,
    M: Selectable<__DB>,
    N: Selectable<__DB>,
    O: Selectable<__DB>, 
[src]

type SelectExpression = (A::SelectExpression, B::SelectExpression, C::SelectExpression, D::SelectExpression, E::SelectExpression, F::SelectExpression, G::SelectExpression, H::SelectExpression, I::SelectExpression, J::SelectExpression, K::SelectExpression, L::SelectExpression, M::SelectExpression, N::SelectExpression, O::SelectExpression)

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, __DB> Selectable<__DB> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P) where
    __DB: Backend,
    A: Selectable<__DB>,
    B: Selectable<__DB>,
    C: Selectable<__DB>,
    D: Selectable<__DB>,
    E: Selectable<__DB>,
    F: Selectable<__DB>,
    G: Selectable<__DB>,
    H: Selectable<__DB>,
    I: Selectable<__DB>,
    J: Selectable<__DB>,
    K: Selectable<__DB>,
    L: Selectable<__DB>,
    M: Selectable<__DB>,
    N: Selectable<__DB>,
    O: Selectable<__DB>,
    P: Selectable<__DB>, 
[src]

type SelectExpression = (A::SelectExpression, B::SelectExpression, C::SelectExpression, D::SelectExpression, E::SelectExpression, F::SelectExpression, G::SelectExpression, H::SelectExpression, I::SelectExpression, J::SelectExpression, K::SelectExpression, L::SelectExpression, M::SelectExpression, N::SelectExpression, O::SelectExpression, P::SelectExpression)

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, __DB> Selectable<__DB> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q) where
    __DB: Backend,
    A: Selectable<__DB>,
    B: Selectable<__DB>,
    C: Selectable<__DB>,
    D: Selectable<__DB>,
    E: Selectable<__DB>,
    F: Selectable<__DB>,
    G: Selectable<__DB>,
    H: Selectable<__DB>,
    I: Selectable<__DB>,
    J: Selectable<__DB>,
    K: Selectable<__DB>,
    L: Selectable<__DB>,
    M: Selectable<__DB>,
    N: Selectable<__DB>,
    O: Selectable<__DB>,
    P: Selectable<__DB>,
    Q: Selectable<__DB>, 
[src]

type SelectExpression = (A::SelectExpression, B::SelectExpression, C::SelectExpression, D::SelectExpression, E::SelectExpression, F::SelectExpression, G::SelectExpression, H::SelectExpression, I::SelectExpression, J::SelectExpression, K::SelectExpression, L::SelectExpression, M::SelectExpression, N::SelectExpression, O::SelectExpression, P::SelectExpression, Q::SelectExpression)

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, __DB> Selectable<__DB> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R) where
    __DB: Backend,
    A: Selectable<__DB>,
    B: Selectable<__DB>,
    C: Selectable<__DB>,
    D: Selectable<__DB>,
    E: Selectable<__DB>,
    F: Selectable<__DB>,
    G: Selectable<__DB>,
    H: Selectable<__DB>,
    I: Selectable<__DB>,
    J: Selectable<__DB>,
    K: Selectable<__DB>,
    L: Selectable<__DB>,
    M: Selectable<__DB>,
    N: Selectable<__DB>,
    O: Selectable<__DB>,
    P: Selectable<__DB>,
    Q: Selectable<__DB>,
    R: Selectable<__DB>, 
[src]

type SelectExpression = (A::SelectExpression, B::SelectExpression, C::SelectExpression, D::SelectExpression, E::SelectExpression, F::SelectExpression, G::SelectExpression, H::SelectExpression, I::SelectExpression, J::SelectExpression, K::SelectExpression, L::SelectExpression, M::SelectExpression, N::SelectExpression, O::SelectExpression, P::SelectExpression, Q::SelectExpression, R::SelectExpression)

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, __DB> Selectable<__DB> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S) where
    __DB: Backend,
    A: Selectable<__DB>,
    B: Selectable<__DB>,
    C: Selectable<__DB>,
    D: Selectable<__DB>,
    E: Selectable<__DB>,
    F: Selectable<__DB>,
    G: Selectable<__DB>,
    H: Selectable<__DB>,
    I: Selectable<__DB>,
    J: Selectable<__DB>,
    K: Selectable<__DB>,
    L: Selectable<__DB>,
    M: Selectable<__DB>,
    N: Selectable<__DB>,
    O: Selectable<__DB>,
    P: Selectable<__DB>,
    Q: Selectable<__DB>,
    R: Selectable<__DB>,
    S: Selectable<__DB>, 
[src]

type SelectExpression = (A::SelectExpression, B::SelectExpression, C::SelectExpression, D::SelectExpression, E::SelectExpression, F::SelectExpression, G::SelectExpression, H::SelectExpression, I::SelectExpression, J::SelectExpression, K::SelectExpression, L::SelectExpression, M::SelectExpression, N::SelectExpression, O::SelectExpression, P::SelectExpression, Q::SelectExpression, R::SelectExpression, S::SelectExpression)

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, __DB> Selectable<__DB> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T) where
    __DB: Backend,
    A: Selectable<__DB>,
    B: Selectable<__DB>,
    C: Selectable<__DB>,
    D: Selectable<__DB>,
    E: Selectable<__DB>,
    F: Selectable<__DB>,
    G: Selectable<__DB>,
    H: Selectable<__DB>,
    I: Selectable<__DB>,
    J: Selectable<__DB>,
    K: Selectable<__DB>,
    L: Selectable<__DB>,
    M: Selectable<__DB>,
    N: Selectable<__DB>,
    O: Selectable<__DB>,
    P: Selectable<__DB>,
    Q: Selectable<__DB>,
    R: Selectable<__DB>,
    S: Selectable<__DB>,
    T: Selectable<__DB>, 
[src]

type SelectExpression = (A::SelectExpression, B::SelectExpression, C::SelectExpression, D::SelectExpression, E::SelectExpression, F::SelectExpression, G::SelectExpression, H::SelectExpression, I::SelectExpression, J::SelectExpression, K::SelectExpression, L::SelectExpression, M::SelectExpression, N::SelectExpression, O::SelectExpression, P::SelectExpression, Q::SelectExpression, R::SelectExpression, S::SelectExpression, T::SelectExpression)

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, __DB> Selectable<__DB> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U) where
    __DB: Backend,
    A: Selectable<__DB>,
    B: Selectable<__DB>,
    C: Selectable<__DB>,
    D: Selectable<__DB>,
    E: Selectable<__DB>,
    F: Selectable<__DB>,
    G: Selectable<__DB>,
    H: Selectable<__DB>,
    I: Selectable<__DB>,
    J: Selectable<__DB>,
    K: Selectable<__DB>,
    L: Selectable<__DB>,
    M: Selectable<__DB>,
    N: Selectable<__DB>,
    O: Selectable<__DB>,
    P: Selectable<__DB>,
    Q: Selectable<__DB>,
    R: Selectable<__DB>,
    S: Selectable<__DB>,
    T: Selectable<__DB>,
    U: Selectable<__DB>, 
[src]

type SelectExpression = (A::SelectExpression, B::SelectExpression, C::SelectExpression, D::SelectExpression, E::SelectExpression, F::SelectExpression, G::SelectExpression, H::SelectExpression, I::SelectExpression, J::SelectExpression, K::SelectExpression, L::SelectExpression, M::SelectExpression, N::SelectExpression, O::SelectExpression, P::SelectExpression, Q::SelectExpression, R::SelectExpression, S::SelectExpression, T::SelectExpression, U::SelectExpression)

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, __DB> Selectable<__DB> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V) where
    __DB: Backend,
    A: Selectable<__DB>,
    B: Selectable<__DB>,
    C: Selectable<__DB>,
    D: Selectable<__DB>,
    E: Selectable<__DB>,
    F: Selectable<__DB>,
    G: Selectable<__DB>,
    H: Selectable<__DB>,
    I: Selectable<__DB>,
    J: Selectable<__DB>,
    K: Selectable<__DB>,
    L: Selectable<__DB>,
    M: Selectable<__DB>,
    N: Selectable<__DB>,
    O: Selectable<__DB>,
    P: Selectable<__DB>,
    Q: Selectable<__DB>,
    R: Selectable<__DB>,
    S: Selectable<__DB>,
    T: Selectable<__DB>,
    U: Selectable<__DB>,
    V: Selectable<__DB>, 
[src]

type SelectExpression = (A::SelectExpression, B::SelectExpression, C::SelectExpression, D::SelectExpression, E::SelectExpression, F::SelectExpression, G::SelectExpression, H::SelectExpression, I::SelectExpression, J::SelectExpression, K::SelectExpression, L::SelectExpression, M::SelectExpression, N::SelectExpression, O::SelectExpression, P::SelectExpression, Q::SelectExpression, R::SelectExpression, S::SelectExpression, T::SelectExpression, U::SelectExpression, V::SelectExpression)

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, __DB> Selectable<__DB> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W) where
    __DB: Backend,
    A: Selectable<__DB>,
    B: Selectable<__DB>,
    C: Selectable<__DB>,
    D: Selectable<__DB>,
    E: Selectable<__DB>,
    F: Selectable<__DB>,
    G: Selectable<__DB>,
    H: Selectable<__DB>,
    I: Selectable<__DB>,
    J: Selectable<__DB>,
    K: Selectable<__DB>,
    L: Selectable<__DB>,
    M: Selectable<__DB>,
    N: Selectable<__DB>,
    O: Selectable<__DB>,
    P: Selectable<__DB>,
    Q: Selectable<__DB>,
    R: Selectable<__DB>,
    S: Selectable<__DB>,
    T: Selectable<__DB>,
    U: Selectable<__DB>,
    V: Selectable<__DB>,
    W: Selectable<__DB>, 
[src]

type SelectExpression = (A::SelectExpression, B::SelectExpression, C::SelectExpression, D::SelectExpression, E::SelectExpression, F::SelectExpression, G::SelectExpression, H::SelectExpression, I::SelectExpression, J::SelectExpression, K::SelectExpression, L::SelectExpression, M::SelectExpression, N::SelectExpression, O::SelectExpression, P::SelectExpression, Q::SelectExpression, R::SelectExpression, S::SelectExpression, T::SelectExpression, U::SelectExpression, V::SelectExpression, W::SelectExpression)

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, __DB> Selectable<__DB> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X) where
    __DB: Backend,
    A: Selectable<__DB>,
    B: Selectable<__DB>,
    C: Selectable<__DB>,
    D: Selectable<__DB>,
    E: Selectable<__DB>,
    F: Selectable<__DB>,
    G: Selectable<__DB>,
    H: Selectable<__DB>,
    I: Selectable<__DB>,
    J: Selectable<__DB>,
    K: Selectable<__DB>,
    L: Selectable<__DB>,
    M: Selectable<__DB>,
    N: Selectable<__DB>,
    O: Selectable<__DB>,
    P: Selectable<__DB>,
    Q: Selectable<__DB>,
    R: Selectable<__DB>,
    S: Selectable<__DB>,
    T: Selectable<__DB>,
    U: Selectable<__DB>,
    V: Selectable<__DB>,
    W: Selectable<__DB>,
    X: Selectable<__DB>, 
[src]

type SelectExpression = (A::SelectExpression, B::SelectExpression, C::SelectExpression, D::SelectExpression, E::SelectExpression, F::SelectExpression, G::SelectExpression, H::SelectExpression, I::SelectExpression, J::SelectExpression, K::SelectExpression, L::SelectExpression, M::SelectExpression, N::SelectExpression, O::SelectExpression, P::SelectExpression, Q::SelectExpression, R::SelectExpression, S::SelectExpression, T::SelectExpression, U::SelectExpression, V::SelectExpression, W::SelectExpression, X::SelectExpression)

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, __DB> Selectable<__DB> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y) where
    __DB: Backend,
    A: Selectable<__DB>,
    B: Selectable<__DB>,
    C: Selectable<__DB>,
    D: Selectable<__DB>,
    E: Selectable<__DB>,
    F: Selectable<__DB>,
    G: Selectable<__DB>,
    H: Selectable<__DB>,
    I: Selectable<__DB>,
    J: Selectable<__DB>,
    K: Selectable<__DB>,
    L: Selectable<__DB>,
    M: Selectable<__DB>,
    N: Selectable<__DB>,
    O: Selectable<__DB>,
    P: Selectable<__DB>,
    Q: Selectable<__DB>,
    R: Selectable<__DB>,
    S: Selectable<__DB>,
    T: Selectable<__DB>,
    U: Selectable<__DB>,
    V: Selectable<__DB>,
    W: Selectable<__DB>,
    X: Selectable<__DB>,
    Y: Selectable<__DB>, 
[src]

type SelectExpression = (A::SelectExpression, B::SelectExpression, C::SelectExpression, D::SelectExpression, E::SelectExpression, F::SelectExpression, G::SelectExpression, H::SelectExpression, I::SelectExpression, J::SelectExpression, K::SelectExpression, L::SelectExpression, M::SelectExpression, N::SelectExpression, O::SelectExpression, P::SelectExpression, Q::SelectExpression, R::SelectExpression, S::SelectExpression, T::SelectExpression, U::SelectExpression, V::SelectExpression, W::SelectExpression, X::SelectExpression, Y::SelectExpression)

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, __DB> Selectable<__DB> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z) where
    __DB: Backend,
    A: Selectable<__DB>,
    B: Selectable<__DB>,
    C: Selectable<__DB>,
    D: Selectable<__DB>,
    E: Selectable<__DB>,
    F: Selectable<__DB>,
    G: Selectable<__DB>,
    H: Selectable<__DB>,
    I: Selectable<__DB>,
    J: Selectable<__DB>,
    K: Selectable<__DB>,
    L: Selectable<__DB>,
    M: Selectable<__DB>,
    N: Selectable<__DB>,
    O: Selectable<__DB>,
    P: Selectable<__DB>,
    Q: Selectable<__DB>,
    R: Selectable<__DB>,
    S: Selectable<__DB>,
    T: Selectable<__DB>,
    U: Selectable<__DB>,
    V: Selectable<__DB>,
    W: Selectable<__DB>,
    X: Selectable<__DB>,
    Y: Selectable<__DB>,
    Z: Selectable<__DB>, 
[src]

type SelectExpression = (A::SelectExpression, B::SelectExpression, C::SelectExpression, D::SelectExpression, E::SelectExpression, F::SelectExpression, G::SelectExpression, H::SelectExpression, I::SelectExpression, J::SelectExpression, K::SelectExpression, L::SelectExpression, M::SelectExpression, N::SelectExpression, O::SelectExpression, P::SelectExpression, Q::SelectExpression, R::SelectExpression, S::SelectExpression, T::SelectExpression, U::SelectExpression, V::SelectExpression, W::SelectExpression, X::SelectExpression, Y::SelectExpression, Z::SelectExpression)

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, AA, __DB> Selectable<__DB> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, AA) where
    __DB: Backend,
    A: Selectable<__DB>,
    B: Selectable<__DB>,
    C: Selectable<__DB>,
    D: Selectable<__DB>,
    E: Selectable<__DB>,
    F: Selectable<__DB>,
    G: Selectable<__DB>,
    H: Selectable<__DB>,
    I: Selectable<__DB>,
    J: Selectable<__DB>,
    K: Selectable<__DB>,
    L: Selectable<__DB>,
    M: Selectable<__DB>,
    N: Selectable<__DB>,
    O: Selectable<__DB>,
    P: Selectable<__DB>,
    Q: Selectable<__DB>,
    R: Selectable<__DB>,
    S: Selectable<__DB>,
    T: Selectable<__DB>,
    U: Selectable<__DB>,
    V: Selectable<__DB>,
    W: Selectable<__DB>,
    X: Selectable<__DB>,
    Y: Selectable<__DB>,
    Z: Selectable<__DB>,
    AA: Selectable<__DB>, 
[src]

type SelectExpression = (A::SelectExpression, B::SelectExpression, C::SelectExpression, D::SelectExpression, E::SelectExpression, F::SelectExpression, G::SelectExpression, H::SelectExpression, I::SelectExpression, J::SelectExpression, K::SelectExpression, L::SelectExpression, M::SelectExpression, N::SelectExpression, O::SelectExpression, P::SelectExpression, Q::SelectExpression, R::SelectExpression, S::SelectExpression, T::SelectExpression, U::SelectExpression, V::SelectExpression, W::SelectExpression, X::SelectExpression, Y::SelectExpression, Z::SelectExpression, AA::SelectExpression)

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, AA, AB, __DB> Selectable<__DB> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, AA, AB) where
    __DB: Backend,
    A: Selectable<__DB>,
    B: Selectable<__DB>,
    C: Selectable<__DB>,
    D: Selectable<__DB>,
    E: Selectable<__DB>,
    F: Selectable<__DB>,
    G: Selectable<__DB>,
    H: Selectable<__DB>,
    I: Selectable<__DB>,
    J: Selectable<__DB>,
    K: Selectable<__DB>,
    L: Selectable<__DB>,
    M: Selectable<__DB>,
    N: Selectable<__DB>,
    O: Selectable<__DB>,
    P: Selectable<__DB>,
    Q: Selectable<__DB>,
    R: Selectable<__DB>,
    S: Selectable<__DB>,
    T: Selectable<__DB>,
    U: Selectable<__DB>,
    V: Selectable<__DB>,
    W: Selectable<__DB>,
    X: Selectable<__DB>,
    Y: Selectable<__DB>,
    Z: Selectable<__DB>,
    AA: Selectable<__DB>,
    AB: Selectable<__DB>, 
[src]

type SelectExpression = (A::SelectExpression, B::SelectExpression, C::SelectExpression, D::SelectExpression, E::SelectExpression, F::SelectExpression, G::SelectExpression, H::SelectExpression, I::SelectExpression, J::SelectExpression, K::SelectExpression, L::SelectExpression, M::SelectExpression, N::SelectExpression, O::SelectExpression, P::SelectExpression, Q::SelectExpression, R::SelectExpression, S::SelectExpression, T::SelectExpression, U::SelectExpression, V::SelectExpression, W::SelectExpression, X::SelectExpression, Y::SelectExpression, Z::SelectExpression, AA::SelectExpression, AB::SelectExpression)

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, AA, AB, AC, __DB> Selectable<__DB> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, AA, AB, AC) where
    __DB: Backend,
    A: Selectable<__DB>,
    B: Selectable<__DB>,
    C: Selectable<__DB>,
    D: Selectable<__DB>,
    E: Selectable<__DB>,
    F: Selectable<__DB>,
    G: Selectable<__DB>,
    H: Selectable<__DB>,
    I: Selectable<__DB>,
    J: Selectable<__DB>,
    K: Selectable<__DB>,
    L: Selectable<__DB>,
    M: Selectable<__DB>,
    N: Selectable<__DB>,
    O: Selectable<__DB>,
    P: Selectable<__DB>,
    Q: Selectable<__DB>,
    R: Selectable<__DB>,
    S: Selectable<__DB>,
    T: Selectable<__DB>,
    U: Selectable<__DB>,
    V: Selectable<__DB>,
    W: Selectable<__DB>,
    X: Selectable<__DB>,
    Y: Selectable<__DB>,
    Z: Selectable<__DB>,
    AA: Selectable<__DB>,
    AB: Selectable<__DB>,
    AC: Selectable<__DB>, 
[src]

type SelectExpression = (A::SelectExpression, B::SelectExpression, C::SelectExpression, D::SelectExpression, E::SelectExpression, F::SelectExpression, G::SelectExpression, H::SelectExpression, I::SelectExpression, J::SelectExpression, K::SelectExpression, L::SelectExpression, M::SelectExpression, N::SelectExpression, O::SelectExpression, P::SelectExpression, Q::SelectExpression, R::SelectExpression, S::SelectExpression, T::SelectExpression, U::SelectExpression, V::SelectExpression, W::SelectExpression, X::SelectExpression, Y::SelectExpression, Z::SelectExpression, AA::SelectExpression, AB::SelectExpression, AC::SelectExpression)

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, AA, AB, AC, AD, __DB> Selectable<__DB> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, AA, AB, AC, AD) where
    __DB: Backend,
    A: Selectable<__DB>,
    B: Selectable<__DB>,
    C: Selectable<__DB>,
    D: Selectable<__DB>,
    E: Selectable<__DB>,
    F: Selectable<__DB>,
    G: Selectable<__DB>,
    H: Selectable<__DB>,
    I: Selectable<__DB>,
    J: Selectable<__DB>,
    K: Selectable<__DB>,
    L: Selectable<__DB>,
    M: Selectable<__DB>,
    N: Selectable<__DB>,
    O: Selectable<__DB>,
    P: Selectable<__DB>,
    Q: Selectable<__DB>,
    R: Selectable<__DB>,
    S: Selectable<__DB>,
    T: Selectable<__DB>,
    U: Selectable<__DB>,
    V: Selectable<__DB>,
    W: Selectable<__DB>,
    X: Selectable<__DB>,
    Y: Selectable<__DB>,
    Z: Selectable<__DB>,
    AA: Selectable<__DB>,
    AB: Selectable<__DB>,
    AC: Selectable<__DB>,
    AD: Selectable<__DB>, 
[src]

type SelectExpression = (A::SelectExpression, B::SelectExpression, C::SelectExpression, D::SelectExpression, E::SelectExpression, F::SelectExpression, G::SelectExpression, H::SelectExpression, I::SelectExpression, J::SelectExpression, K::SelectExpression, L::SelectExpression, M::SelectExpression, N::SelectExpression, O::SelectExpression, P::SelectExpression, Q::SelectExpression, R::SelectExpression, S::SelectExpression, T::SelectExpression, U::SelectExpression, V::SelectExpression, W::SelectExpression, X::SelectExpression, Y::SelectExpression, Z::SelectExpression, AA::SelectExpression, AB::SelectExpression, AC::SelectExpression, AD::SelectExpression)

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, AA, AB, AC, AD, AE, __DB> Selectable<__DB> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, AA, AB, AC, AD, AE) where
    __DB: Backend,
    A: Selectable<__DB>,
    B: Selectable<__DB>,
    C: Selectable<__DB>,
    D: Selectable<__DB>,
    E: Selectable<__DB>,
    F: Selectable<__DB>,
    G: Selectable<__DB>,
    H: Selectable<__DB>,
    I: Selectable<__DB>,
    J: Selectable<__DB>,
    K: Selectable<__DB>,
    L: Selectable<__DB>,
    M: Selectable<__DB>,
    N: Selectable<__DB>,
    O: Selectable<__DB>,
    P: Selectable<__DB>,
    Q: Selectable<__DB>,
    R: Selectable<__DB>,
    S: Selectable<__DB>,
    T: Selectable<__DB>,
    U: Selectable<__DB>,
    V: Selectable<__DB>,
    W: Selectable<__DB>,
    X: Selectable<__DB>,
    Y: Selectable<__DB>,
    Z: Selectable<__DB>,
    AA: Selectable<__DB>,
    AB: Selectable<__DB>,
    AC: Selectable<__DB>,
    AD: Selectable<__DB>,
    AE: Selectable<__DB>, 
[src]

type SelectExpression = (A::SelectExpression, B::SelectExpression, C::SelectExpression, D::SelectExpression, E::SelectExpression, F::SelectExpression, G::SelectExpression, H::SelectExpression, I::SelectExpression, J::SelectExpression, K::SelectExpression, L::SelectExpression, M::SelectExpression, N::SelectExpression, O::SelectExpression, P::SelectExpression, Q::SelectExpression, R::SelectExpression, S::SelectExpression, T::SelectExpression, U::SelectExpression, V::SelectExpression, W::SelectExpression, X::SelectExpression, Y::SelectExpression, Z::SelectExpression, AA::SelectExpression, AB::SelectExpression, AC::SelectExpression, AD::SelectExpression, AE::SelectExpression)

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, AA, AB, AC, AD, AE, AF, __DB> Selectable<__DB> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, AA, AB, AC, AD, AE, AF) where
    __DB: Backend,
    A: Selectable<__DB>,
    B: Selectable<__DB>,
    C: Selectable<__DB>,
    D: Selectable<__DB>,
    E: Selectable<__DB>,
    F: Selectable<__DB>,
    G: Selectable<__DB>,
    H: Selectable<__DB>,
    I: Selectable<__DB>,
    J: Selectable<__DB>,
    K: Selectable<__DB>,
    L: Selectable<__DB>,
    M: Selectable<__DB>,
    N: Selectable<__DB>,
    O: Selectable<__DB>,
    P: Selectable<__DB>,
    Q: Selectable<__DB>,
    R: Selectable<__DB>,
    S: Selectable<__DB>,
    T: Selectable<__DB>,
    U: Selectable<__DB>,
    V: Selectable<__DB>,
    W: Selectable<__DB>,
    X: Selectable<__DB>,
    Y: Selectable<__DB>,
    Z: Selectable<__DB>,
    AA: Selectable<__DB>,
    AB: Selectable<__DB>,
    AC: Selectable<__DB>,
    AD: Selectable<__DB>,
    AE: Selectable<__DB>,
    AF: Selectable<__DB>, 
[src]

type SelectExpression = (A::SelectExpression, B::SelectExpression, C::SelectExpression, D::SelectExpression, E::SelectExpression, F::SelectExpression, G::SelectExpression, H::SelectExpression, I::SelectExpression, J::SelectExpression, K::SelectExpression, L::SelectExpression, M::SelectExpression, N::SelectExpression, O::SelectExpression, P::SelectExpression, Q::SelectExpression, R::SelectExpression, S::SelectExpression, T::SelectExpression, U::SelectExpression, V::SelectExpression, W::SelectExpression, X::SelectExpression, Y::SelectExpression, Z::SelectExpression, AA::SelectExpression, AB::SelectExpression, AC::SelectExpression, AD::SelectExpression, AE::SelectExpression, AF::SelectExpression)

Loading content...

Implementors

Loading content...