Trait QueryableByName

Source
pub trait QueryableByName<DB>
where Self: Sized, DB: Backend,
{ // Required method fn build<R: NamedRow<DB>>(row: &R) -> Result<Self>; }
Expand description

Deserializes the result of a query constructed with sql_query.

§Deriving

To derive this trait, Diesel needs to know the SQL type of each field. You can do this by either annotating your struct with #[table_name = "some_table"] (in which case the SQL type will be diesel::dsl::SqlTypeOf<table_name::column_name>), or by annotating each field with #[sql_type = "SomeType"].

If you are using #[table_name], the module for that table must be in scope. For example, to derive this for a struct called User, you will likely need a line such as use schema::users;

If the name of a field on your struct is different than the column in your table! declaration, or if you are deriving this trait on a tuple struct, you can annotate the field with #[column_name = "some_column"]. For tuple structs, all fields must have this annotation.

If a field is another struct which implements QueryableByName, instead of a column, you can annotate that struct with #[diesel(embed)]

To provide custom deserialization behavior for a field, you can use #[diesel(deserialize_as = "Type")]. If this attribute is present, Diesel will deserialize into that type, rather than the type on your struct and call .into to convert it. This can be used to add custom behavior for a single field, or use types that are otherwise unsupported by Diesel.

§Examples

If we just want to map a query to our struct, we can use derive.

#[derive(QueryableByName, PartialEq, Debug)]
#[table_name = "users"]
struct User {
    id: i32,
    name: String,
}

let first_user = sql_query("SELECT * FROM users ORDER BY id LIMIT 1")
    .get_result(&connection)?;
let expected = User { id: 1, name: "Sean".into() };
assert_eq!(expected, first_user);

If we want to do additional work during deserialization, we can use deserialize_as to use a different implementation.

struct LowercaseString(String);

impl Into<String> for LowercaseString {
    fn into(self) -> String {
        self.0
    }
}

impl<DB, ST> FromSql<ST, DB> for LowercaseString
where
    DB: Backend,
    String: FromSql<ST, DB>,
{
    fn from_sql(bytes: Option<&DB::RawValue>) -> deserialize::Result<Self> {
        String::from_sql(bytes)
            .map(|s| LowercaseString(s.to_lowercase()))
    }
}

#[derive(QueryableByName, PartialEq, Debug)]
#[table_name = "users"]
struct User {
    id: i32,
    #[diesel(deserialize_as = "LowercaseString")]
    name: String,
}

let first_user = sql_query("SELECT * FROM users ORDER BY id LIMIT 1")
    .get_result(&connection)?;
let expected = User { id: 1, name: "sean".into() };
assert_eq!(expected, first_user);

Required Methods§

Source

fn build<R: NamedRow<DB>>(row: &R) -> Result<Self>

Construct an instance of Self from the database row

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

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> QueryableByName<__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: QueryableByName<__DB>, B: QueryableByName<__DB>, C: QueryableByName<__DB>, D: QueryableByName<__DB>, E: QueryableByName<__DB>, F: QueryableByName<__DB>, G: QueryableByName<__DB>, H: QueryableByName<__DB>, I: QueryableByName<__DB>, J: QueryableByName<__DB>, K: QueryableByName<__DB>, L: QueryableByName<__DB>, M: QueryableByName<__DB>, N: QueryableByName<__DB>, O: QueryableByName<__DB>, P: QueryableByName<__DB>, Q: QueryableByName<__DB>, R: QueryableByName<__DB>, S: QueryableByName<__DB>, T: QueryableByName<__DB>, U: QueryableByName<__DB>, V: QueryableByName<__DB>, W: QueryableByName<__DB>, X: QueryableByName<__DB>, Y: QueryableByName<__DB>, Z: QueryableByName<__DB>, AA: QueryableByName<__DB>, AB: QueryableByName<__DB>, AC: QueryableByName<__DB>, AD: QueryableByName<__DB>, AE: QueryableByName<__DB>, AF: QueryableByName<__DB>,

Source§

fn build<RowT: NamedRow<__DB>>(row: &RowT) -> Result<Self>

Source§

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> QueryableByName<__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: QueryableByName<__DB>, B: QueryableByName<__DB>, C: QueryableByName<__DB>, D: QueryableByName<__DB>, E: QueryableByName<__DB>, F: QueryableByName<__DB>, G: QueryableByName<__DB>, H: QueryableByName<__DB>, I: QueryableByName<__DB>, J: QueryableByName<__DB>, K: QueryableByName<__DB>, L: QueryableByName<__DB>, M: QueryableByName<__DB>, N: QueryableByName<__DB>, O: QueryableByName<__DB>, P: QueryableByName<__DB>, Q: QueryableByName<__DB>, R: QueryableByName<__DB>, S: QueryableByName<__DB>, T: QueryableByName<__DB>, U: QueryableByName<__DB>, V: QueryableByName<__DB>, W: QueryableByName<__DB>, X: QueryableByName<__DB>, Y: QueryableByName<__DB>, Z: QueryableByName<__DB>, AA: QueryableByName<__DB>, AB: QueryableByName<__DB>, AC: QueryableByName<__DB>, AD: QueryableByName<__DB>, AE: QueryableByName<__DB>,

Source§

fn build<RowT: NamedRow<__DB>>(row: &RowT) -> Result<Self>

Source§

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> QueryableByName<__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: QueryableByName<__DB>, B: QueryableByName<__DB>, C: QueryableByName<__DB>, D: QueryableByName<__DB>, E: QueryableByName<__DB>, F: QueryableByName<__DB>, G: QueryableByName<__DB>, H: QueryableByName<__DB>, I: QueryableByName<__DB>, J: QueryableByName<__DB>, K: QueryableByName<__DB>, L: QueryableByName<__DB>, M: QueryableByName<__DB>, N: QueryableByName<__DB>, O: QueryableByName<__DB>, P: QueryableByName<__DB>, Q: QueryableByName<__DB>, R: QueryableByName<__DB>, S: QueryableByName<__DB>, T: QueryableByName<__DB>, U: QueryableByName<__DB>, V: QueryableByName<__DB>, W: QueryableByName<__DB>, X: QueryableByName<__DB>, Y: QueryableByName<__DB>, Z: QueryableByName<__DB>, AA: QueryableByName<__DB>, AB: QueryableByName<__DB>, AC: QueryableByName<__DB>, AD: QueryableByName<__DB>,

Source§

fn build<RowT: NamedRow<__DB>>(row: &RowT) -> Result<Self>

Source§

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> QueryableByName<__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: QueryableByName<__DB>, B: QueryableByName<__DB>, C: QueryableByName<__DB>, D: QueryableByName<__DB>, E: QueryableByName<__DB>, F: QueryableByName<__DB>, G: QueryableByName<__DB>, H: QueryableByName<__DB>, I: QueryableByName<__DB>, J: QueryableByName<__DB>, K: QueryableByName<__DB>, L: QueryableByName<__DB>, M: QueryableByName<__DB>, N: QueryableByName<__DB>, O: QueryableByName<__DB>, P: QueryableByName<__DB>, Q: QueryableByName<__DB>, R: QueryableByName<__DB>, S: QueryableByName<__DB>, T: QueryableByName<__DB>, U: QueryableByName<__DB>, V: QueryableByName<__DB>, W: QueryableByName<__DB>, X: QueryableByName<__DB>, Y: QueryableByName<__DB>, Z: QueryableByName<__DB>, AA: QueryableByName<__DB>, AB: QueryableByName<__DB>, AC: QueryableByName<__DB>,

Source§

fn build<RowT: NamedRow<__DB>>(row: &RowT) -> Result<Self>

Source§

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> QueryableByName<__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: QueryableByName<__DB>, B: QueryableByName<__DB>, C: QueryableByName<__DB>, D: QueryableByName<__DB>, E: QueryableByName<__DB>, F: QueryableByName<__DB>, G: QueryableByName<__DB>, H: QueryableByName<__DB>, I: QueryableByName<__DB>, J: QueryableByName<__DB>, K: QueryableByName<__DB>, L: QueryableByName<__DB>, M: QueryableByName<__DB>, N: QueryableByName<__DB>, O: QueryableByName<__DB>, P: QueryableByName<__DB>, Q: QueryableByName<__DB>, R: QueryableByName<__DB>, S: QueryableByName<__DB>, T: QueryableByName<__DB>, U: QueryableByName<__DB>, V: QueryableByName<__DB>, W: QueryableByName<__DB>, X: QueryableByName<__DB>, Y: QueryableByName<__DB>, Z: QueryableByName<__DB>, AA: QueryableByName<__DB>, AB: QueryableByName<__DB>,

Source§

fn build<RowT: NamedRow<__DB>>(row: &RowT) -> Result<Self>

Source§

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> QueryableByName<__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: QueryableByName<__DB>, B: QueryableByName<__DB>, C: QueryableByName<__DB>, D: QueryableByName<__DB>, E: QueryableByName<__DB>, F: QueryableByName<__DB>, G: QueryableByName<__DB>, H: QueryableByName<__DB>, I: QueryableByName<__DB>, J: QueryableByName<__DB>, K: QueryableByName<__DB>, L: QueryableByName<__DB>, M: QueryableByName<__DB>, N: QueryableByName<__DB>, O: QueryableByName<__DB>, P: QueryableByName<__DB>, Q: QueryableByName<__DB>, R: QueryableByName<__DB>, S: QueryableByName<__DB>, T: QueryableByName<__DB>, U: QueryableByName<__DB>, V: QueryableByName<__DB>, W: QueryableByName<__DB>, X: QueryableByName<__DB>, Y: QueryableByName<__DB>, Z: QueryableByName<__DB>, AA: QueryableByName<__DB>,

Source§

fn build<RowT: NamedRow<__DB>>(row: &RowT) -> Result<Self>

Source§

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> QueryableByName<__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: QueryableByName<__DB>, B: QueryableByName<__DB>, C: QueryableByName<__DB>, D: QueryableByName<__DB>, E: QueryableByName<__DB>, F: QueryableByName<__DB>, G: QueryableByName<__DB>, H: QueryableByName<__DB>, I: QueryableByName<__DB>, J: QueryableByName<__DB>, K: QueryableByName<__DB>, L: QueryableByName<__DB>, M: QueryableByName<__DB>, N: QueryableByName<__DB>, O: QueryableByName<__DB>, P: QueryableByName<__DB>, Q: QueryableByName<__DB>, R: QueryableByName<__DB>, S: QueryableByName<__DB>, T: QueryableByName<__DB>, U: QueryableByName<__DB>, V: QueryableByName<__DB>, W: QueryableByName<__DB>, X: QueryableByName<__DB>, Y: QueryableByName<__DB>, Z: QueryableByName<__DB>,

Source§

fn build<RowT: NamedRow<__DB>>(row: &RowT) -> Result<Self>

Source§

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> QueryableByName<__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: QueryableByName<__DB>, B: QueryableByName<__DB>, C: QueryableByName<__DB>, D: QueryableByName<__DB>, E: QueryableByName<__DB>, F: QueryableByName<__DB>, G: QueryableByName<__DB>, H: QueryableByName<__DB>, I: QueryableByName<__DB>, J: QueryableByName<__DB>, K: QueryableByName<__DB>, L: QueryableByName<__DB>, M: QueryableByName<__DB>, N: QueryableByName<__DB>, O: QueryableByName<__DB>, P: QueryableByName<__DB>, Q: QueryableByName<__DB>, R: QueryableByName<__DB>, S: QueryableByName<__DB>, T: QueryableByName<__DB>, U: QueryableByName<__DB>, V: QueryableByName<__DB>, W: QueryableByName<__DB>, X: QueryableByName<__DB>, Y: QueryableByName<__DB>,

Source§

fn build<RowT: NamedRow<__DB>>(row: &RowT) -> Result<Self>

Source§

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> QueryableByName<__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: QueryableByName<__DB>, B: QueryableByName<__DB>, C: QueryableByName<__DB>, D: QueryableByName<__DB>, E: QueryableByName<__DB>, F: QueryableByName<__DB>, G: QueryableByName<__DB>, H: QueryableByName<__DB>, I: QueryableByName<__DB>, J: QueryableByName<__DB>, K: QueryableByName<__DB>, L: QueryableByName<__DB>, M: QueryableByName<__DB>, N: QueryableByName<__DB>, O: QueryableByName<__DB>, P: QueryableByName<__DB>, Q: QueryableByName<__DB>, R: QueryableByName<__DB>, S: QueryableByName<__DB>, T: QueryableByName<__DB>, U: QueryableByName<__DB>, V: QueryableByName<__DB>, W: QueryableByName<__DB>, X: QueryableByName<__DB>,

Source§

fn build<RowT: NamedRow<__DB>>(row: &RowT) -> Result<Self>

Source§

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> QueryableByName<__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: QueryableByName<__DB>, B: QueryableByName<__DB>, C: QueryableByName<__DB>, D: QueryableByName<__DB>, E: QueryableByName<__DB>, F: QueryableByName<__DB>, G: QueryableByName<__DB>, H: QueryableByName<__DB>, I: QueryableByName<__DB>, J: QueryableByName<__DB>, K: QueryableByName<__DB>, L: QueryableByName<__DB>, M: QueryableByName<__DB>, N: QueryableByName<__DB>, O: QueryableByName<__DB>, P: QueryableByName<__DB>, Q: QueryableByName<__DB>, R: QueryableByName<__DB>, S: QueryableByName<__DB>, T: QueryableByName<__DB>, U: QueryableByName<__DB>, V: QueryableByName<__DB>, W: QueryableByName<__DB>,

Source§

fn build<RowT: NamedRow<__DB>>(row: &RowT) -> Result<Self>

Source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, __DB> QueryableByName<__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: QueryableByName<__DB>, B: QueryableByName<__DB>, C: QueryableByName<__DB>, D: QueryableByName<__DB>, E: QueryableByName<__DB>, F: QueryableByName<__DB>, G: QueryableByName<__DB>, H: QueryableByName<__DB>, I: QueryableByName<__DB>, J: QueryableByName<__DB>, K: QueryableByName<__DB>, L: QueryableByName<__DB>, M: QueryableByName<__DB>, N: QueryableByName<__DB>, O: QueryableByName<__DB>, P: QueryableByName<__DB>, Q: QueryableByName<__DB>, R: QueryableByName<__DB>, S: QueryableByName<__DB>, T: QueryableByName<__DB>, U: QueryableByName<__DB>, V: QueryableByName<__DB>,

Source§

fn build<RowT: NamedRow<__DB>>(row: &RowT) -> Result<Self>

Source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, __DB> QueryableByName<__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: QueryableByName<__DB>, B: QueryableByName<__DB>, C: QueryableByName<__DB>, D: QueryableByName<__DB>, E: QueryableByName<__DB>, F: QueryableByName<__DB>, G: QueryableByName<__DB>, H: QueryableByName<__DB>, I: QueryableByName<__DB>, J: QueryableByName<__DB>, K: QueryableByName<__DB>, L: QueryableByName<__DB>, M: QueryableByName<__DB>, N: QueryableByName<__DB>, O: QueryableByName<__DB>, P: QueryableByName<__DB>, Q: QueryableByName<__DB>, R: QueryableByName<__DB>, S: QueryableByName<__DB>, T: QueryableByName<__DB>, U: QueryableByName<__DB>,

Source§

fn build<RowT: NamedRow<__DB>>(row: &RowT) -> Result<Self>

Source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, __DB> QueryableByName<__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: QueryableByName<__DB>, B: QueryableByName<__DB>, C: QueryableByName<__DB>, D: QueryableByName<__DB>, E: QueryableByName<__DB>, F: QueryableByName<__DB>, G: QueryableByName<__DB>, H: QueryableByName<__DB>, I: QueryableByName<__DB>, J: QueryableByName<__DB>, K: QueryableByName<__DB>, L: QueryableByName<__DB>, M: QueryableByName<__DB>, N: QueryableByName<__DB>, O: QueryableByName<__DB>, P: QueryableByName<__DB>, Q: QueryableByName<__DB>, R: QueryableByName<__DB>, S: QueryableByName<__DB>, T: QueryableByName<__DB>,

Source§

fn build<RowT: NamedRow<__DB>>(row: &RowT) -> Result<Self>

Source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, __DB> QueryableByName<__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: QueryableByName<__DB>, B: QueryableByName<__DB>, C: QueryableByName<__DB>, D: QueryableByName<__DB>, E: QueryableByName<__DB>, F: QueryableByName<__DB>, G: QueryableByName<__DB>, H: QueryableByName<__DB>, I: QueryableByName<__DB>, J: QueryableByName<__DB>, K: QueryableByName<__DB>, L: QueryableByName<__DB>, M: QueryableByName<__DB>, N: QueryableByName<__DB>, O: QueryableByName<__DB>, P: QueryableByName<__DB>, Q: QueryableByName<__DB>, R: QueryableByName<__DB>, S: QueryableByName<__DB>,

Source§

fn build<RowT: NamedRow<__DB>>(row: &RowT) -> Result<Self>

Source§

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

Source§

fn build<RowT: NamedRow<__DB>>(row: &RowT) -> Result<Self>

Source§

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

Source§

fn build<RowT: NamedRow<__DB>>(row: &RowT) -> Result<Self>

Source§

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

Source§

fn build<RowT: NamedRow<__DB>>(row: &RowT) -> Result<Self>

Source§

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

Source§

fn build<RowT: NamedRow<__DB>>(row: &RowT) -> Result<Self>

Source§

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

Source§

fn build<RowT: NamedRow<__DB>>(row: &RowT) -> Result<Self>

Source§

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

Source§

fn build<RowT: NamedRow<__DB>>(row: &RowT) -> Result<Self>

Source§

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

Source§

fn build<RowT: NamedRow<__DB>>(row: &RowT) -> Result<Self>

Source§

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

Source§

fn build<RowT: NamedRow<__DB>>(row: &RowT) -> Result<Self>

Source§

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

Source§

fn build<RowT: NamedRow<__DB>>(row: &RowT) -> Result<Self>

Source§

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

Source§

fn build<RowT: NamedRow<__DB>>(row: &RowT) -> Result<Self>

Source§

impl<A, B, C, D, E, F, G, H, __DB> QueryableByName<__DB> for (A, B, C, D, E, F, G, H)
where __DB: Backend, A: QueryableByName<__DB>, B: QueryableByName<__DB>, C: QueryableByName<__DB>, D: QueryableByName<__DB>, E: QueryableByName<__DB>, F: QueryableByName<__DB>, G: QueryableByName<__DB>, H: QueryableByName<__DB>,

Source§

fn build<RowT: NamedRow<__DB>>(row: &RowT) -> Result<Self>

Source§

impl<A, B, C, D, E, F, G, __DB> QueryableByName<__DB> for (A, B, C, D, E, F, G)
where __DB: Backend, A: QueryableByName<__DB>, B: QueryableByName<__DB>, C: QueryableByName<__DB>, D: QueryableByName<__DB>, E: QueryableByName<__DB>, F: QueryableByName<__DB>, G: QueryableByName<__DB>,

Source§

fn build<RowT: NamedRow<__DB>>(row: &RowT) -> Result<Self>

Source§

impl<A, B, C, D, E, F, __DB> QueryableByName<__DB> for (A, B, C, D, E, F)
where __DB: Backend, A: QueryableByName<__DB>, B: QueryableByName<__DB>, C: QueryableByName<__DB>, D: QueryableByName<__DB>, E: QueryableByName<__DB>, F: QueryableByName<__DB>,

Source§

fn build<RowT: NamedRow<__DB>>(row: &RowT) -> Result<Self>

Source§

impl<A, B, C, D, E, __DB> QueryableByName<__DB> for (A, B, C, D, E)
where __DB: Backend, A: QueryableByName<__DB>, B: QueryableByName<__DB>, C: QueryableByName<__DB>, D: QueryableByName<__DB>, E: QueryableByName<__DB>,

Source§

fn build<RowT: NamedRow<__DB>>(row: &RowT) -> Result<Self>

Source§

impl<A, B, C, D, __DB> QueryableByName<__DB> for (A, B, C, D)
where __DB: Backend, A: QueryableByName<__DB>, B: QueryableByName<__DB>, C: QueryableByName<__DB>, D: QueryableByName<__DB>,

Source§

fn build<RowT: NamedRow<__DB>>(row: &RowT) -> Result<Self>

Source§

impl<A, B, C, __DB> QueryableByName<__DB> for (A, B, C)
where __DB: Backend, A: QueryableByName<__DB>, B: QueryableByName<__DB>, C: QueryableByName<__DB>,

Source§

fn build<RowT: NamedRow<__DB>>(row: &RowT) -> Result<Self>

Source§

impl<A, B, __DB> QueryableByName<__DB> for (A, B)
where __DB: Backend, A: QueryableByName<__DB>, B: QueryableByName<__DB>,

Source§

fn build<RowT: NamedRow<__DB>>(row: &RowT) -> Result<Self>

Source§

impl<A, __DB> QueryableByName<__DB> for (A,)
where __DB: Backend, A: QueryableByName<__DB>,

Source§

fn build<RowT: NamedRow<__DB>>(row: &RowT) -> Result<Self>

Source§

impl<T, DB> QueryableByName<DB> for Option<T>
where T: QueryableByName<DB>, DB: Backend,

Source§

fn build<R: NamedRow<DB>>(row: &R) -> Result<Self>

Implementors§