diesel::query_builder

Trait QueryId

Source
pub trait QueryId {
    type QueryId: Any;

    const HAS_STATIC_QUERY_ID: bool = true;

    // Provided method
    fn query_id() -> Option<TypeId> { ... }
}
Expand description

Uniquely identifies queries by their type for the purpose of prepared statement caching.

All types which implement QueryFragment should also implement this trait (It is not an actual supertrait of QueryFragment for boxing purposes).

See the documentation of the QueryId type and HAS_STATIC_QUERY_ID for more details.

§Deriving

This trait can be automatically derived by Diesel. For example, given this struct:

If the SQL generated by a struct is not uniquely identifiable by its type, meaning that HAS_STATIC_QUERY_ID should always be false, you should not derive this trait. In that case you should manually implement it instead.

Provided Associated Constants§

Source

const HAS_STATIC_QUERY_ID: bool = true

Can the SQL generated by Self be uniquely identified by its type?

Typically this question can be answered by looking at whether unsafe_to_cache_prepared is called in your implementation of QueryFragment::walk_ast. In Diesel itself, the only type which has false here, but is potentially safe to store in the prepared statement cache is a boxed query.

Required Associated Types§

Source

type QueryId: Any

A type which uniquely represents Self in a SQL query.

Typically this will be a re-construction of Self using the QueryId type of each of your type parameters. For example, the type And<Left, Right> would have type QueryId = And<Left::QueryId, Right::QueryId>.

The exception to this is when one of your type parameters does not affect whether the same prepared statement can be used or not. For example, a bind parameter is represented as Bound<SqlType, RustType>. The actual Rust type we are serializing does not matter for the purposes of prepared statement reuse, but a query which has identical SQL but different types for its bind parameters requires a new prepared statement. For this reason, Bound would have type QueryId = Bound<SqlType::QueryId, ()>.

If HAS_STATIC_QUERY_ID is false, you can put any type here (typically ()).

Provided Methods§

Source

fn query_id() -> Option<TypeId>

Returns the type id of Self::QueryId if Self::HAS_STATIC_QUERY_ID. Returns None otherwise.

You should never need to override this method.

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 QueryId for ()

Source§

impl<T0: QueryId> QueryId for (T0,)

Source§

impl<T0: QueryId, T1: QueryId> QueryId for (T0, T1)

Source§

impl<T0: QueryId, T1: QueryId, T2: QueryId> QueryId for (T0, T1, T2)

Source§

impl<T0: QueryId, T1: QueryId, T2: QueryId, T3: QueryId> QueryId for (T0, T1, T2, T3)

Source§

const HAS_STATIC_QUERY_ID: bool = _

Source§

type QueryId = (<T0 as QueryId>::QueryId, <T1 as QueryId>::QueryId, <T2 as QueryId>::QueryId, <T3 as QueryId>::QueryId)

Source§

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

Source§

const HAS_STATIC_QUERY_ID: bool = _

Source§

type QueryId = (<T0 as QueryId>::QueryId, <T1 as QueryId>::QueryId, <T2 as QueryId>::QueryId, <T3 as QueryId>::QueryId, <T4 as QueryId>::QueryId)

Source§

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

Source§

const HAS_STATIC_QUERY_ID: bool = _

Source§

type QueryId = (<T0 as QueryId>::QueryId, <T1 as QueryId>::QueryId, <T2 as QueryId>::QueryId, <T3 as QueryId>::QueryId, <T4 as QueryId>::QueryId, <T5 as QueryId>::QueryId)

Source§

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

Source§

const HAS_STATIC_QUERY_ID: bool = _

Source§

type QueryId = (<T0 as QueryId>::QueryId, <T1 as QueryId>::QueryId, <T2 as QueryId>::QueryId, <T3 as QueryId>::QueryId, <T4 as QueryId>::QueryId, <T5 as QueryId>::QueryId, <T6 as QueryId>::QueryId)

Source§

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

Source§

const HAS_STATIC_QUERY_ID: bool = _

Source§

type QueryId = (<T0 as QueryId>::QueryId, <T1 as QueryId>::QueryId, <T2 as QueryId>::QueryId, <T3 as QueryId>::QueryId, <T4 as QueryId>::QueryId, <T5 as QueryId>::QueryId, <T6 as QueryId>::QueryId, <T7 as QueryId>::QueryId)

Source§

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

Source§

const HAS_STATIC_QUERY_ID: bool = _

Source§

type QueryId = (<T0 as QueryId>::QueryId, <T1 as QueryId>::QueryId, <T2 as QueryId>::QueryId, <T3 as QueryId>::QueryId, <T4 as QueryId>::QueryId, <T5 as QueryId>::QueryId, <T6 as QueryId>::QueryId, <T7 as QueryId>::QueryId, <T8 as QueryId>::QueryId)

Source§

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

Source§

const HAS_STATIC_QUERY_ID: bool = _

Source§

type QueryId = (<T0 as QueryId>::QueryId, <T1 as QueryId>::QueryId, <T2 as QueryId>::QueryId, <T3 as QueryId>::QueryId, <T4 as QueryId>::QueryId, <T5 as QueryId>::QueryId, <T6 as QueryId>::QueryId, <T7 as QueryId>::QueryId, <T8 as QueryId>::QueryId, <T9 as QueryId>::QueryId)

Source§

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

Source§

const HAS_STATIC_QUERY_ID: bool = _

Source§

type QueryId = (<T0 as QueryId>::QueryId, <T1 as QueryId>::QueryId, <T2 as QueryId>::QueryId, <T3 as QueryId>::QueryId, <T4 as QueryId>::QueryId, <T5 as QueryId>::QueryId, <T6 as QueryId>::QueryId, <T7 as QueryId>::QueryId, <T8 as QueryId>::QueryId, <T9 as QueryId>::QueryId, <T10 as QueryId>::QueryId)

Source§

impl<T0: QueryId, T1: QueryId, T2: QueryId, T3: QueryId, T4: QueryId, T5: QueryId, T6: QueryId, T7: QueryId, T8: QueryId, T9: QueryId, T10: QueryId, T11: QueryId> QueryId for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)

Source§

const HAS_STATIC_QUERY_ID: bool = _

Source§

type QueryId = (<T0 as QueryId>::QueryId, <T1 as QueryId>::QueryId, <T2 as QueryId>::QueryId, <T3 as QueryId>::QueryId, <T4 as QueryId>::QueryId, <T5 as QueryId>::QueryId, <T6 as QueryId>::QueryId, <T7 as QueryId>::QueryId, <T8 as QueryId>::QueryId, <T9 as QueryId>::QueryId, <T10 as QueryId>::QueryId, <T11 as QueryId>::QueryId)

Source§

impl<T0: QueryId, T1: QueryId, T2: QueryId, T3: QueryId, T4: QueryId, T5: QueryId, T6: QueryId, T7: QueryId, T8: QueryId, T9: QueryId, T10: QueryId, T11: QueryId, T12: QueryId> QueryId for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)

Source§

const HAS_STATIC_QUERY_ID: bool = _

Source§

type QueryId = (<T0 as QueryId>::QueryId, <T1 as QueryId>::QueryId, <T2 as QueryId>::QueryId, <T3 as QueryId>::QueryId, <T4 as QueryId>::QueryId, <T5 as QueryId>::QueryId, <T6 as QueryId>::QueryId, <T7 as QueryId>::QueryId, <T8 as QueryId>::QueryId, <T9 as QueryId>::QueryId, <T10 as QueryId>::QueryId, <T11 as QueryId>::QueryId, <T12 as QueryId>::QueryId)

Source§

impl<T0: QueryId, T1: QueryId, T2: QueryId, T3: QueryId, T4: QueryId, T5: QueryId, T6: QueryId, T7: QueryId, T8: QueryId, T9: QueryId, T10: QueryId, T11: QueryId, T12: QueryId, T13: QueryId> QueryId for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)

Source§

const HAS_STATIC_QUERY_ID: bool = _

Source§

type QueryId = (<T0 as QueryId>::QueryId, <T1 as QueryId>::QueryId, <T2 as QueryId>::QueryId, <T3 as QueryId>::QueryId, <T4 as QueryId>::QueryId, <T5 as QueryId>::QueryId, <T6 as QueryId>::QueryId, <T7 as QueryId>::QueryId, <T8 as QueryId>::QueryId, <T9 as QueryId>::QueryId, <T10 as QueryId>::QueryId, <T11 as QueryId>::QueryId, <T12 as QueryId>::QueryId, <T13 as QueryId>::QueryId)

Source§

impl<T0: QueryId, T1: QueryId, T2: QueryId, T3: QueryId, T4: QueryId, T5: QueryId, T6: QueryId, T7: QueryId, T8: QueryId, T9: QueryId, T10: QueryId, T11: QueryId, T12: QueryId, T13: QueryId, T14: QueryId> QueryId for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)

Source§

const HAS_STATIC_QUERY_ID: bool = _

Source§

type QueryId = (<T0 as QueryId>::QueryId, <T1 as QueryId>::QueryId, <T2 as QueryId>::QueryId, <T3 as QueryId>::QueryId, <T4 as QueryId>::QueryId, <T5 as QueryId>::QueryId, <T6 as QueryId>::QueryId, <T7 as QueryId>::QueryId, <T8 as QueryId>::QueryId, <T9 as QueryId>::QueryId, <T10 as QueryId>::QueryId, <T11 as QueryId>::QueryId, <T12 as QueryId>::QueryId, <T13 as QueryId>::QueryId, <T14 as QueryId>::QueryId)

Source§

impl<T0: QueryId, T1: QueryId, T2: QueryId, T3: QueryId, T4: QueryId, T5: QueryId, T6: QueryId, T7: QueryId, T8: QueryId, T9: QueryId, T10: QueryId, T11: QueryId, T12: QueryId, T13: QueryId, T14: QueryId, T15: QueryId> QueryId for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)

Source§

const HAS_STATIC_QUERY_ID: bool = _

Source§

type QueryId = (<T0 as QueryId>::QueryId, <T1 as QueryId>::QueryId, <T2 as QueryId>::QueryId, <T3 as QueryId>::QueryId, <T4 as QueryId>::QueryId, <T5 as QueryId>::QueryId, <T6 as QueryId>::QueryId, <T7 as QueryId>::QueryId, <T8 as QueryId>::QueryId, <T9 as QueryId>::QueryId, <T10 as QueryId>::QueryId, <T11 as QueryId>::QueryId, <T12 as QueryId>::QueryId, <T13 as QueryId>::QueryId, <T14 as QueryId>::QueryId, <T15 as QueryId>::QueryId)

Source§

impl<T0: QueryId, T1: QueryId, T2: QueryId, T3: QueryId, T4: QueryId, T5: QueryId, T6: QueryId, T7: QueryId, T8: QueryId, T9: QueryId, T10: QueryId, T11: QueryId, T12: QueryId, T13: QueryId, T14: QueryId, T15: QueryId, T16: QueryId> QueryId for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)

Source§

const HAS_STATIC_QUERY_ID: bool = _

Source§

type QueryId = (<T0 as QueryId>::QueryId, <T1 as QueryId>::QueryId, <T2 as QueryId>::QueryId, <T3 as QueryId>::QueryId, <T4 as QueryId>::QueryId, <T5 as QueryId>::QueryId, <T6 as QueryId>::QueryId, <T7 as QueryId>::QueryId, <T8 as QueryId>::QueryId, <T9 as QueryId>::QueryId, <T10 as QueryId>::QueryId, <T11 as QueryId>::QueryId, <T12 as QueryId>::QueryId, <T13 as QueryId>::QueryId, <T14 as QueryId>::QueryId, <T15 as QueryId>::QueryId, <T16 as QueryId>::QueryId)

Source§

impl<T0: QueryId, T1: QueryId, T2: QueryId, T3: QueryId, T4: QueryId, T5: QueryId, T6: QueryId, T7: QueryId, T8: QueryId, T9: QueryId, T10: QueryId, T11: QueryId, T12: QueryId, T13: QueryId, T14: QueryId, T15: QueryId, T16: QueryId, T17: QueryId> QueryId for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17)

Source§

const HAS_STATIC_QUERY_ID: bool = _

Source§

type QueryId = (<T0 as QueryId>::QueryId, <T1 as QueryId>::QueryId, <T2 as QueryId>::QueryId, <T3 as QueryId>::QueryId, <T4 as QueryId>::QueryId, <T5 as QueryId>::QueryId, <T6 as QueryId>::QueryId, <T7 as QueryId>::QueryId, <T8 as QueryId>::QueryId, <T9 as QueryId>::QueryId, <T10 as QueryId>::QueryId, <T11 as QueryId>::QueryId, <T12 as QueryId>::QueryId, <T13 as QueryId>::QueryId, <T14 as QueryId>::QueryId, <T15 as QueryId>::QueryId, <T16 as QueryId>::QueryId, <T17 as QueryId>::QueryId)

Source§

impl<T0: QueryId, T1: QueryId, T2: QueryId, T3: QueryId, T4: QueryId, T5: QueryId, T6: QueryId, T7: QueryId, T8: QueryId, T9: QueryId, T10: QueryId, T11: QueryId, T12: QueryId, T13: QueryId, T14: QueryId, T15: QueryId, T16: QueryId, T17: QueryId, T18: QueryId> QueryId for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18)

Source§

const HAS_STATIC_QUERY_ID: bool = _

Source§

type QueryId = (<T0 as QueryId>::QueryId, <T1 as QueryId>::QueryId, <T2 as QueryId>::QueryId, <T3 as QueryId>::QueryId, <T4 as QueryId>::QueryId, <T5 as QueryId>::QueryId, <T6 as QueryId>::QueryId, <T7 as QueryId>::QueryId, <T8 as QueryId>::QueryId, <T9 as QueryId>::QueryId, <T10 as QueryId>::QueryId, <T11 as QueryId>::QueryId, <T12 as QueryId>::QueryId, <T13 as QueryId>::QueryId, <T14 as QueryId>::QueryId, <T15 as QueryId>::QueryId, <T16 as QueryId>::QueryId, <T17 as QueryId>::QueryId, <T18 as QueryId>::QueryId)

Source§

impl<T0: QueryId, T1: QueryId, T2: QueryId, T3: QueryId, T4: QueryId, T5: QueryId, T6: QueryId, T7: QueryId, T8: QueryId, T9: QueryId, T10: QueryId, T11: QueryId, T12: QueryId, T13: QueryId, T14: QueryId, T15: QueryId, T16: QueryId, T17: QueryId, T18: QueryId, T19: QueryId> QueryId for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19)

Source§

const HAS_STATIC_QUERY_ID: bool = _

Source§

type QueryId = (<T0 as QueryId>::QueryId, <T1 as QueryId>::QueryId, <T2 as QueryId>::QueryId, <T3 as QueryId>::QueryId, <T4 as QueryId>::QueryId, <T5 as QueryId>::QueryId, <T6 as QueryId>::QueryId, <T7 as QueryId>::QueryId, <T8 as QueryId>::QueryId, <T9 as QueryId>::QueryId, <T10 as QueryId>::QueryId, <T11 as QueryId>::QueryId, <T12 as QueryId>::QueryId, <T13 as QueryId>::QueryId, <T14 as QueryId>::QueryId, <T15 as QueryId>::QueryId, <T16 as QueryId>::QueryId, <T17 as QueryId>::QueryId, <T18 as QueryId>::QueryId, <T19 as QueryId>::QueryId)

Source§

impl<T0: QueryId, T1: QueryId, T2: QueryId, T3: QueryId, T4: QueryId, T5: QueryId, T6: QueryId, T7: QueryId, T8: QueryId, T9: QueryId, T10: QueryId, T11: QueryId, T12: QueryId, T13: QueryId, T14: QueryId, T15: QueryId, T16: QueryId, T17: QueryId, T18: QueryId, T19: QueryId, T20: QueryId> QueryId for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20)

Source§

const HAS_STATIC_QUERY_ID: bool = _

Source§

type QueryId = (<T0 as QueryId>::QueryId, <T1 as QueryId>::QueryId, <T2 as QueryId>::QueryId, <T3 as QueryId>::QueryId, <T4 as QueryId>::QueryId, <T5 as QueryId>::QueryId, <T6 as QueryId>::QueryId, <T7 as QueryId>::QueryId, <T8 as QueryId>::QueryId, <T9 as QueryId>::QueryId, <T10 as QueryId>::QueryId, <T11 as QueryId>::QueryId, <T12 as QueryId>::QueryId, <T13 as QueryId>::QueryId, <T14 as QueryId>::QueryId, <T15 as QueryId>::QueryId, <T16 as QueryId>::QueryId, <T17 as QueryId>::QueryId, <T18 as QueryId>::QueryId, <T19 as QueryId>::QueryId, <T20 as QueryId>::QueryId)

Source§

impl<T0: QueryId, T1: QueryId, T2: QueryId, T3: QueryId, T4: QueryId, T5: QueryId, T6: QueryId, T7: QueryId, T8: QueryId, T9: QueryId, T10: QueryId, T11: QueryId, T12: QueryId, T13: QueryId, T14: QueryId, T15: QueryId, T16: QueryId, T17: QueryId, T18: QueryId, T19: QueryId, T20: QueryId, T21: QueryId> QueryId for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21)

Source§

const HAS_STATIC_QUERY_ID: bool = _

Source§

type QueryId = (<T0 as QueryId>::QueryId, <T1 as QueryId>::QueryId, <T2 as QueryId>::QueryId, <T3 as QueryId>::QueryId, <T4 as QueryId>::QueryId, <T5 as QueryId>::QueryId, <T6 as QueryId>::QueryId, <T7 as QueryId>::QueryId, <T8 as QueryId>::QueryId, <T9 as QueryId>::QueryId, <T10 as QueryId>::QueryId, <T11 as QueryId>::QueryId, <T12 as QueryId>::QueryId, <T13 as QueryId>::QueryId, <T14 as QueryId>::QueryId, <T15 as QueryId>::QueryId, <T16 as QueryId>::QueryId, <T17 as QueryId>::QueryId, <T18 as QueryId>::QueryId, <T19 as QueryId>::QueryId, <T20 as QueryId>::QueryId, <T21 as QueryId>::QueryId)

Source§

impl<T0: QueryId, T1: QueryId, T2: QueryId, T3: QueryId, T4: QueryId, T5: QueryId, T6: QueryId, T7: QueryId, T8: QueryId, T9: QueryId, T10: QueryId, T11: QueryId, T12: QueryId, T13: QueryId, T14: QueryId, T15: QueryId, T16: QueryId, T17: QueryId, T18: QueryId, T19: QueryId, T20: QueryId, T21: QueryId, T22: QueryId> QueryId for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22)

Source§

const HAS_STATIC_QUERY_ID: bool = _

Source§

type QueryId = (<T0 as QueryId>::QueryId, <T1 as QueryId>::QueryId, <T2 as QueryId>::QueryId, <T3 as QueryId>::QueryId, <T4 as QueryId>::QueryId, <T5 as QueryId>::QueryId, <T6 as QueryId>::QueryId, <T7 as QueryId>::QueryId, <T8 as QueryId>::QueryId, <T9 as QueryId>::QueryId, <T10 as QueryId>::QueryId, <T11 as QueryId>::QueryId, <T12 as QueryId>::QueryId, <T13 as QueryId>::QueryId, <T14 as QueryId>::QueryId, <T15 as QueryId>::QueryId, <T16 as QueryId>::QueryId, <T17 as QueryId>::QueryId, <T18 as QueryId>::QueryId, <T19 as QueryId>::QueryId, <T20 as QueryId>::QueryId, <T21 as QueryId>::QueryId, <T22 as QueryId>::QueryId)

Source§

impl<T0: QueryId, T1: QueryId, T2: QueryId, T3: QueryId, T4: QueryId, T5: QueryId, T6: QueryId, T7: QueryId, T8: QueryId, T9: QueryId, T10: QueryId, T11: QueryId, T12: QueryId, T13: QueryId, T14: QueryId, T15: QueryId, T16: QueryId, T17: QueryId, T18: QueryId, T19: QueryId, T20: QueryId, T21: QueryId, T22: QueryId, T23: QueryId> QueryId for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23)

Source§

const HAS_STATIC_QUERY_ID: bool = _

Source§

type QueryId = (<T0 as QueryId>::QueryId, <T1 as QueryId>::QueryId, <T2 as QueryId>::QueryId, <T3 as QueryId>::QueryId, <T4 as QueryId>::QueryId, <T5 as QueryId>::QueryId, <T6 as QueryId>::QueryId, <T7 as QueryId>::QueryId, <T8 as QueryId>::QueryId, <T9 as QueryId>::QueryId, <T10 as QueryId>::QueryId, <T11 as QueryId>::QueryId, <T12 as QueryId>::QueryId, <T13 as QueryId>::QueryId, <T14 as QueryId>::QueryId, <T15 as QueryId>::QueryId, <T16 as QueryId>::QueryId, <T17 as QueryId>::QueryId, <T18 as QueryId>::QueryId, <T19 as QueryId>::QueryId, <T20 as QueryId>::QueryId, <T21 as QueryId>::QueryId, <T22 as QueryId>::QueryId, <T23 as QueryId>::QueryId)

Source§

impl<T0: QueryId, T1: QueryId, T2: QueryId, T3: QueryId, T4: QueryId, T5: QueryId, T6: QueryId, T7: QueryId, T8: QueryId, T9: QueryId, T10: QueryId, T11: QueryId, T12: QueryId, T13: QueryId, T14: QueryId, T15: QueryId, T16: QueryId, T17: QueryId, T18: QueryId, T19: QueryId, T20: QueryId, T21: QueryId, T22: QueryId, T23: QueryId, T24: QueryId> QueryId for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24)

Source§

const HAS_STATIC_QUERY_ID: bool = _

Source§

type QueryId = (<T0 as QueryId>::QueryId, <T1 as QueryId>::QueryId, <T2 as QueryId>::QueryId, <T3 as QueryId>::QueryId, <T4 as QueryId>::QueryId, <T5 as QueryId>::QueryId, <T6 as QueryId>::QueryId, <T7 as QueryId>::QueryId, <T8 as QueryId>::QueryId, <T9 as QueryId>::QueryId, <T10 as QueryId>::QueryId, <T11 as QueryId>::QueryId, <T12 as QueryId>::QueryId, <T13 as QueryId>::QueryId, <T14 as QueryId>::QueryId, <T15 as QueryId>::QueryId, <T16 as QueryId>::QueryId, <T17 as QueryId>::QueryId, <T18 as QueryId>::QueryId, <T19 as QueryId>::QueryId, <T20 as QueryId>::QueryId, <T21 as QueryId>::QueryId, <T22 as QueryId>::QueryId, <T23 as QueryId>::QueryId, <T24 as QueryId>::QueryId)

Source§

impl<T0: QueryId, T1: QueryId, T2: QueryId, T3: QueryId, T4: QueryId, T5: QueryId, T6: QueryId, T7: QueryId, T8: QueryId, T9: QueryId, T10: QueryId, T11: QueryId, T12: QueryId, T13: QueryId, T14: QueryId, T15: QueryId, T16: QueryId, T17: QueryId, T18: QueryId, T19: QueryId, T20: QueryId, T21: QueryId, T22: QueryId, T23: QueryId, T24: QueryId, T25: QueryId> QueryId for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25)

Source§

const HAS_STATIC_QUERY_ID: bool = _

Source§

type QueryId = (<T0 as QueryId>::QueryId, <T1 as QueryId>::QueryId, <T2 as QueryId>::QueryId, <T3 as QueryId>::QueryId, <T4 as QueryId>::QueryId, <T5 as QueryId>::QueryId, <T6 as QueryId>::QueryId, <T7 as QueryId>::QueryId, <T8 as QueryId>::QueryId, <T9 as QueryId>::QueryId, <T10 as QueryId>::QueryId, <T11 as QueryId>::QueryId, <T12 as QueryId>::QueryId, <T13 as QueryId>::QueryId, <T14 as QueryId>::QueryId, <T15 as QueryId>::QueryId, <T16 as QueryId>::QueryId, <T17 as QueryId>::QueryId, <T18 as QueryId>::QueryId, <T19 as QueryId>::QueryId, <T20 as QueryId>::QueryId, <T21 as QueryId>::QueryId, <T22 as QueryId>::QueryId, <T23 as QueryId>::QueryId, <T24 as QueryId>::QueryId, <T25 as QueryId>::QueryId)

Source§

impl<T0: QueryId, T1: QueryId, T2: QueryId, T3: QueryId, T4: QueryId, T5: QueryId, T6: QueryId, T7: QueryId, T8: QueryId, T9: QueryId, T10: QueryId, T11: QueryId, T12: QueryId, T13: QueryId, T14: QueryId, T15: QueryId, T16: QueryId, T17: QueryId, T18: QueryId, T19: QueryId, T20: QueryId, T21: QueryId, T22: QueryId, T23: QueryId, T24: QueryId, T25: QueryId, T26: QueryId> QueryId for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26)

Source§

const HAS_STATIC_QUERY_ID: bool = _

Source§

type QueryId = (<T0 as QueryId>::QueryId, <T1 as QueryId>::QueryId, <T2 as QueryId>::QueryId, <T3 as QueryId>::QueryId, <T4 as QueryId>::QueryId, <T5 as QueryId>::QueryId, <T6 as QueryId>::QueryId, <T7 as QueryId>::QueryId, <T8 as QueryId>::QueryId, <T9 as QueryId>::QueryId, <T10 as QueryId>::QueryId, <T11 as QueryId>::QueryId, <T12 as QueryId>::QueryId, <T13 as QueryId>::QueryId, <T14 as QueryId>::QueryId, <T15 as QueryId>::QueryId, <T16 as QueryId>::QueryId, <T17 as QueryId>::QueryId, <T18 as QueryId>::QueryId, <T19 as QueryId>::QueryId, <T20 as QueryId>::QueryId, <T21 as QueryId>::QueryId, <T22 as QueryId>::QueryId, <T23 as QueryId>::QueryId, <T24 as QueryId>::QueryId, <T25 as QueryId>::QueryId, <T26 as QueryId>::QueryId)

Source§

impl<T0: QueryId, T1: QueryId, T2: QueryId, T3: QueryId, T4: QueryId, T5: QueryId, T6: QueryId, T7: QueryId, T8: QueryId, T9: QueryId, T10: QueryId, T11: QueryId, T12: QueryId, T13: QueryId, T14: QueryId, T15: QueryId, T16: QueryId, T17: QueryId, T18: QueryId, T19: QueryId, T20: QueryId, T21: QueryId, T22: QueryId, T23: QueryId, T24: QueryId, T25: QueryId, T26: QueryId, T27: QueryId> QueryId for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27)

Source§

const HAS_STATIC_QUERY_ID: bool = _

Source§

type QueryId = (<T0 as QueryId>::QueryId, <T1 as QueryId>::QueryId, <T2 as QueryId>::QueryId, <T3 as QueryId>::QueryId, <T4 as QueryId>::QueryId, <T5 as QueryId>::QueryId, <T6 as QueryId>::QueryId, <T7 as QueryId>::QueryId, <T8 as QueryId>::QueryId, <T9 as QueryId>::QueryId, <T10 as QueryId>::QueryId, <T11 as QueryId>::QueryId, <T12 as QueryId>::QueryId, <T13 as QueryId>::QueryId, <T14 as QueryId>::QueryId, <T15 as QueryId>::QueryId, <T16 as QueryId>::QueryId, <T17 as QueryId>::QueryId, <T18 as QueryId>::QueryId, <T19 as QueryId>::QueryId, <T20 as QueryId>::QueryId, <T21 as QueryId>::QueryId, <T22 as QueryId>::QueryId, <T23 as QueryId>::QueryId, <T24 as QueryId>::QueryId, <T25 as QueryId>::QueryId, <T26 as QueryId>::QueryId, <T27 as QueryId>::QueryId)

Source§

impl<T0: QueryId, T1: QueryId, T2: QueryId, T3: QueryId, T4: QueryId, T5: QueryId, T6: QueryId, T7: QueryId, T8: QueryId, T9: QueryId, T10: QueryId, T11: QueryId, T12: QueryId, T13: QueryId, T14: QueryId, T15: QueryId, T16: QueryId, T17: QueryId, T18: QueryId, T19: QueryId, T20: QueryId, T21: QueryId, T22: QueryId, T23: QueryId, T24: QueryId, T25: QueryId, T26: QueryId, T27: QueryId, T28: QueryId> QueryId for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28)

Source§

const HAS_STATIC_QUERY_ID: bool = _

Source§

type QueryId = (<T0 as QueryId>::QueryId, <T1 as QueryId>::QueryId, <T2 as QueryId>::QueryId, <T3 as QueryId>::QueryId, <T4 as QueryId>::QueryId, <T5 as QueryId>::QueryId, <T6 as QueryId>::QueryId, <T7 as QueryId>::QueryId, <T8 as QueryId>::QueryId, <T9 as QueryId>::QueryId, <T10 as QueryId>::QueryId, <T11 as QueryId>::QueryId, <T12 as QueryId>::QueryId, <T13 as QueryId>::QueryId, <T14 as QueryId>::QueryId, <T15 as QueryId>::QueryId, <T16 as QueryId>::QueryId, <T17 as QueryId>::QueryId, <T18 as QueryId>::QueryId, <T19 as QueryId>::QueryId, <T20 as QueryId>::QueryId, <T21 as QueryId>::QueryId, <T22 as QueryId>::QueryId, <T23 as QueryId>::QueryId, <T24 as QueryId>::QueryId, <T25 as QueryId>::QueryId, <T26 as QueryId>::QueryId, <T27 as QueryId>::QueryId, <T28 as QueryId>::QueryId)

Source§

impl<T0: QueryId, T1: QueryId, T2: QueryId, T3: QueryId, T4: QueryId, T5: QueryId, T6: QueryId, T7: QueryId, T8: QueryId, T9: QueryId, T10: QueryId, T11: QueryId, T12: QueryId, T13: QueryId, T14: QueryId, T15: QueryId, T16: QueryId, T17: QueryId, T18: QueryId, T19: QueryId, T20: QueryId, T21: QueryId, T22: QueryId, T23: QueryId, T24: QueryId, T25: QueryId, T26: QueryId, T27: QueryId, T28: QueryId, T29: QueryId> QueryId for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29)

Source§

const HAS_STATIC_QUERY_ID: bool = _

Source§

type QueryId = (<T0 as QueryId>::QueryId, <T1 as QueryId>::QueryId, <T2 as QueryId>::QueryId, <T3 as QueryId>::QueryId, <T4 as QueryId>::QueryId, <T5 as QueryId>::QueryId, <T6 as QueryId>::QueryId, <T7 as QueryId>::QueryId, <T8 as QueryId>::QueryId, <T9 as QueryId>::QueryId, <T10 as QueryId>::QueryId, <T11 as QueryId>::QueryId, <T12 as QueryId>::QueryId, <T13 as QueryId>::QueryId, <T14 as QueryId>::QueryId, <T15 as QueryId>::QueryId, <T16 as QueryId>::QueryId, <T17 as QueryId>::QueryId, <T18 as QueryId>::QueryId, <T19 as QueryId>::QueryId, <T20 as QueryId>::QueryId, <T21 as QueryId>::QueryId, <T22 as QueryId>::QueryId, <T23 as QueryId>::QueryId, <T24 as QueryId>::QueryId, <T25 as QueryId>::QueryId, <T26 as QueryId>::QueryId, <T27 as QueryId>::QueryId, <T28 as QueryId>::QueryId, <T29 as QueryId>::QueryId)

Source§

impl<T0: QueryId, T1: QueryId, T2: QueryId, T3: QueryId, T4: QueryId, T5: QueryId, T6: QueryId, T7: QueryId, T8: QueryId, T9: QueryId, T10: QueryId, T11: QueryId, T12: QueryId, T13: QueryId, T14: QueryId, T15: QueryId, T16: QueryId, T17: QueryId, T18: QueryId, T19: QueryId, T20: QueryId, T21: QueryId, T22: QueryId, T23: QueryId, T24: QueryId, T25: QueryId, T26: QueryId, T27: QueryId, T28: QueryId, T29: QueryId, T30: QueryId> QueryId for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30)

Source§

const HAS_STATIC_QUERY_ID: bool = _

Source§

type QueryId = (<T0 as QueryId>::QueryId, <T1 as QueryId>::QueryId, <T2 as QueryId>::QueryId, <T3 as QueryId>::QueryId, <T4 as QueryId>::QueryId, <T5 as QueryId>::QueryId, <T6 as QueryId>::QueryId, <T7 as QueryId>::QueryId, <T8 as QueryId>::QueryId, <T9 as QueryId>::QueryId, <T10 as QueryId>::QueryId, <T11 as QueryId>::QueryId, <T12 as QueryId>::QueryId, <T13 as QueryId>::QueryId, <T14 as QueryId>::QueryId, <T15 as QueryId>::QueryId, <T16 as QueryId>::QueryId, <T17 as QueryId>::QueryId, <T18 as QueryId>::QueryId, <T19 as QueryId>::QueryId, <T20 as QueryId>::QueryId, <T21 as QueryId>::QueryId, <T22 as QueryId>::QueryId, <T23 as QueryId>::QueryId, <T24 as QueryId>::QueryId, <T25 as QueryId>::QueryId, <T26 as QueryId>::QueryId, <T27 as QueryId>::QueryId, <T28 as QueryId>::QueryId, <T29 as QueryId>::QueryId, <T30 as QueryId>::QueryId)

Source§

impl<T0: QueryId, T1: QueryId, T2: QueryId, T3: QueryId, T4: QueryId, T5: QueryId, T6: QueryId, T7: QueryId, T8: QueryId, T9: QueryId, T10: QueryId, T11: QueryId, T12: QueryId, T13: QueryId, T14: QueryId, T15: QueryId, T16: QueryId, T17: QueryId, T18: QueryId, T19: QueryId, T20: QueryId, T21: QueryId, T22: QueryId, T23: QueryId, T24: QueryId, T25: QueryId, T26: QueryId, T27: QueryId, T28: QueryId, T29: QueryId, T30: QueryId, T31: QueryId> QueryId for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31)

Source§

const HAS_STATIC_QUERY_ID: bool = _

Source§

type QueryId = (<T0 as QueryId>::QueryId, <T1 as QueryId>::QueryId, <T2 as QueryId>::QueryId, <T3 as QueryId>::QueryId, <T4 as QueryId>::QueryId, <T5 as QueryId>::QueryId, <T6 as QueryId>::QueryId, <T7 as QueryId>::QueryId, <T8 as QueryId>::QueryId, <T9 as QueryId>::QueryId, <T10 as QueryId>::QueryId, <T11 as QueryId>::QueryId, <T12 as QueryId>::QueryId, <T13 as QueryId>::QueryId, <T14 as QueryId>::QueryId, <T15 as QueryId>::QueryId, <T16 as QueryId>::QueryId, <T17 as QueryId>::QueryId, <T18 as QueryId>::QueryId, <T19 as QueryId>::QueryId, <T20 as QueryId>::QueryId, <T21 as QueryId>::QueryId, <T22 as QueryId>::QueryId, <T23 as QueryId>::QueryId, <T24 as QueryId>::QueryId, <T25 as QueryId>::QueryId, <T26 as QueryId>::QueryId, <T27 as QueryId>::QueryId, <T28 as QueryId>::QueryId, <T29 as QueryId>::QueryId, <T30 as QueryId>::QueryId, <T31 as QueryId>::QueryId)

Source§

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

Source§

const HAS_STATIC_QUERY_ID: bool = T::HAS_STATIC_QUERY_ID

Source§

type QueryId = <T as QueryId>::QueryId

Source§

impl<T: QueryId + ?Sized> QueryId for Box<T>

Source§

const HAS_STATIC_QUERY_ID: bool = T::HAS_STATIC_QUERY_ID

Source§

type QueryId = <T as QueryId>::QueryId

Implementors§

Source§

impl QueryId for now

Source§

impl QueryId for today

Source§

impl QueryId for BigInt

Source§

impl QueryId for Binary

Source§

impl QueryId for Bool

Source§

impl QueryId for CChar

Available on crate feature postgres_backend only.
Source§

impl QueryId for Cidr

Available on crate feature postgres_backend only.
Source§

impl QueryId for Citext

Available on crate feature postgres_backend only.
Source§

impl QueryId for Date

Source§

impl QueryId for Datetime

Available on crate feature mysql_backend only.
Source§

impl QueryId for Double

Source§

impl QueryId for Float

Source§

impl QueryId for Inet

Available on crate feature postgres_backend only.
Source§

impl QueryId for Integer

Source§

impl QueryId for Interval

Source§

impl QueryId for Json

Source§

impl QueryId for Jsonb

Source§

impl QueryId for MacAddr8

Available on crate feature postgres_backend only.
Source§

impl QueryId for MacAddr

Available on crate feature postgres_backend only.
Source§

impl QueryId for Money

Available on crate feature postgres_backend only.
Source§

impl QueryId for NullValueTreatmentEnum

Available on crate feature postgres_backend only.
Source§

impl QueryId for Numeric

Source§

impl QueryId for Oid

Available on crate feature postgres_backend only.
Source§

impl QueryId for RangeBoundEnum

Available on crate feature postgres_backend only.
Source§

impl QueryId for SmallInt

Source§

impl QueryId for Text

Source§

impl QueryId for Time

Source§

impl QueryId for Timestamp

Source§

impl QueryId for diesel::sql_types::Timestamptz

Available on crate feature postgres_backend only.
Source§

impl QueryId for diesel::sql_types::TimestamptzSqlite

Available on crate feature sqlite only.
Source§

impl QueryId for TinyInt

Source§

impl QueryId for Uuid

Available on crate feature postgres_backend only.
Source§

impl QueryId for All

Source§

impl QueryId for Distinct

Source§

impl QueryId for Except

Source§

impl QueryId for InsertOrIgnore

Source§

impl QueryId for Intersect

Source§

impl QueryId for NoFromClause

Source§

impl QueryId for NoLimitClause

Source§

impl QueryId for NoOffsetClause

Source§

impl QueryId for NoOrderClause

Source§

impl QueryId for Replace

Source§

impl QueryId for Union

Source§

impl<DB> QueryId for dyn QueryFragment<DB>

Source§

impl<DB: Backend, Query> QueryId for BoxedSqlQuery<'_, DB, Query>

Source§

impl<Expr: QueryId> QueryId for LimitClause<Expr>

Source§

impl<Expr: QueryId> QueryId for OffsetClause<Expr>

Source§

impl<Expr: QueryId> QueryId for OrderClause<Expr>

Source§

impl<Expr: QueryId> QueryId for ReturningClause<Expr>

Source§

impl<From: QueryId, Select: QueryId, Distinct: QueryId, Where: QueryId, Order: QueryId, LimitOffset: QueryId, GroupBy: QueryId, Having: QueryId, Locking: QueryId> QueryId for SelectStatement<From, Select, Distinct, Where, Order, LimitOffset, GroupBy, Having, Locking>

Source§

const HAS_STATIC_QUERY_ID: bool = _

Source§

type QueryId = SelectStatement<<From as QueryId>::QueryId, <Select as QueryId>::QueryId, <Distinct as QueryId>::QueryId, <Where as QueryId>::QueryId, <Order as QueryId>::QueryId, <LimitOffset as QueryId>::QueryId, <GroupBy as QueryId>::QueryId, <Having as QueryId>::QueryId, <Locking as QueryId>::QueryId>

Source§

impl<Inner> QueryId for SqlQuery<Inner>

Source§

impl<L: QueryId, R: QueryId> QueryId for Concat<L, R>

Source§

impl<Limit: QueryId, Offset: QueryId> QueryId for LimitOffsetClause<Limit, Offset>

Source§

impl<QS, ST, DB, GB, IsAggregate> QueryId for dyn BoxableExpression<QS, DB, GB, IsAggregate, SqlType = ST> + '_

Source§

impl<Query: QueryId, Value: QueryId> QueryId for UncheckedBind<Query, Value>

Source§

impl<S> QueryId for Alias<S>
where Self: 'static, S: AliasSource, S::Target: QueryId,

Source§

const HAS_STATIC_QUERY_ID: bool = <S::Target as QueryId>::HAS_STATIC_QUERY_ID

Source§

type QueryId = Alias<S>

Source§

impl<S> QueryId for Only<S>
where Self: 'static, S: QueryId,

Available on crate feature postgres_backend only.
Source§

const HAS_STATIC_QUERY_ID: bool = <S as QueryId>::HAS_STATIC_QUERY_ID

Source§

type QueryId = Only<S>

Source§

impl<S, C> QueryId for AliasedField<S, C>
where S: AliasSource + 'static, S::Target: 'static, C: Column<Table = S::Target> + 'static + QueryId,

Source§

const HAS_STATIC_QUERY_ID: bool = <C as QueryId>::HAS_STATIC_QUERY_ID

Source§

type QueryId = AliasedField<S, C>

Source§

impl<S, TSM> QueryId for Tablesample<S, TSM>
where S: QueryId, TSM: TablesampleMethod,

Available on crate feature postgres_backend only.
Source§

impl<ST, I> QueryId for Many<ST, I>

Available on crate feature i-implement-a-third-party-backend-and-opt-into-breaking-changes only.
Source§

impl<ST, QS, DB, GB> QueryId for BoxedSelectStatement<'_, ST, QS, DB, GB>

Source§

impl<ST, T> QueryId for SqlLiteral<ST, T>

Source§

impl<ST: 'static + QueryId> QueryId for Array<ST>

Available on crate feature postgres_backend only.
Source§

impl<ST: 'static + QueryId> QueryId for Multirange<ST>

Available on crate feature postgres_backend only.
Source§

impl<ST: 'static + QueryId> QueryId for Range<ST>

Available on crate feature postgres_backend only.
Source§

impl<ST: 'static + QueryId> QueryId for Record<ST>

Available on crate feature postgres_backend only.
Source§

impl<ST: 'static + QueryId> QueryId for Unsigned<ST>

Available on crate feature mysql_backend only.
Source§

impl<T> QueryId for Nullable<T>
where T: QueryId + SqlType<IsNull = NotNull>,

Source§

const HAS_STATIC_QUERY_ID: bool = T::HAS_STATIC_QUERY_ID

Source§

type QueryId = <T as QueryId>::QueryId

Source§

impl<T> QueryId for CollectedQuery<T>

Source§

impl<T, U, Op, Ret> QueryId for InsertStatement<T, U, Op, Ret>
where T: QuerySource + QueryId + 'static, U: QueryId, Op: QueryId, Ret: QueryId,

Source§

impl<T, U, Ret> QueryId for DeleteStatement<T, U, Ret>
where T: QuerySource + QueryId + 'static, U: QueryId, Ret: QueryId,

Source§

impl<T, U, V, Ret> QueryId for UpdateStatement<T, U, V, Ret>
where T: QuerySource,

Source§

impl<T: QueryId> QueryId for Exists<T>

Available on crate feature i-implement-a-third-party-backend-and-opt-into-breaking-changes only.
Source§

impl<T: QueryId> QueryId for DistinctOnClause<T>

Available on crate feature postgres_backend only.
Source§

impl<T: QueryId> QueryId for ParenthesisWrapper<T>

Source§

impl<T: QueryId, Tab: QueryId> QueryId for ValuesClause<T, Tab>

Source§

impl<T: QueryId, U: QueryId> QueryId for In<T, U>

Available on crate feature i-implement-a-third-party-backend-and-opt-into-breaking-changes only.
Source§

impl<T: QueryId, U: QueryId> QueryId for NotIn<T, U>

Available on crate feature i-implement-a-third-party-backend-and-opt-into-breaking-changes only.
Source§

impl<V, QId: 'static, Tab: 'static, const STABLE_QUERY_ID: bool> QueryId for BatchInsert<V, Tab, QId, STABLE_QUERY_ID>

Source§

const HAS_STATIC_QUERY_ID: bool = STABLE_QUERY_ID

Source§

type QueryId = QId

Source§

impl<Whens: QueryId, E: QueryId> QueryId for CaseWhen<Whens, E>