Trait diesel::query_builder::QueryId [−][src]
pub trait QueryId { type QueryId: Any; const HAS_STATIC_QUERY_ID: bool; fn query_id() -> Option<TypeId> { ... } }
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:
#[derive(QueryId)] pub struct And<Left, Right> { left: Left, right: Right, }
the following implementation will be generated
impl<Left, Right> QueryId for And<Left, Right> where Left: QueryId, Right: QueryId, { type QueryId = And<Left::QueryId, Right::QueryId>; const HAS_STATIC_QUERY_ID: bool = Left::HAS_STATIC_QUERY_ID && Right::HAS_STATIC_QUERY_ID; }
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.
Associated Types
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 ()
).
Associated Constants
const HAS_STATIC_QUERY_ID: bool
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.
Provided Methods
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.
Implementations on Foreign Types
impl QueryId for ()
[src]
impl QueryId for ()
impl<T: QueryId + ?Sized> QueryId for Box<T>
[src]
impl<T: QueryId + ?Sized> QueryId for Box<T>
impl<'a, T: QueryId + ?Sized> QueryId for &'a T
[src]
impl<'a, T: QueryId + ?Sized> QueryId for &'a T
impl<A: QueryId> QueryId for (A,)
[src]
impl<A: QueryId> QueryId for (A,)
impl<A: QueryId, B: QueryId> QueryId for (A, B)
[src]
impl<A: QueryId, B: QueryId> QueryId for (A, B)
impl<A: QueryId, B: QueryId, C: QueryId> QueryId for (A, B, C)
[src]
impl<A: QueryId, B: QueryId, C: QueryId> QueryId for (A, B, C)
impl<A: QueryId, B: QueryId, C: QueryId, D: QueryId> QueryId for (A, B, C, D)
[src]
impl<A: QueryId, B: QueryId, C: QueryId, D: QueryId> QueryId for (A, B, C, D)
impl<A: QueryId, B: QueryId, C: QueryId, D: QueryId, E: QueryId> QueryId for (A, B, C, D, E)
[src]
impl<A: QueryId, B: QueryId, C: QueryId, D: QueryId, E: QueryId> QueryId for (A, B, C, D, E)
impl<A: QueryId, B: QueryId, C: QueryId, D: QueryId, E: QueryId, F: QueryId> QueryId for (A, B, C, D, E, F)
[src]
impl<A: QueryId, B: QueryId, C: QueryId, D: QueryId, E: QueryId, F: QueryId> QueryId for (A, B, C, D, E, F)
impl<A: QueryId, B: QueryId, C: QueryId, D: QueryId, E: QueryId, F: QueryId, G: QueryId> QueryId for (A, B, C, D, E, F, G)
[src]
impl<A: QueryId, B: QueryId, C: QueryId, D: QueryId, E: QueryId, F: QueryId, G: QueryId> QueryId for (A, B, C, D, E, F, G)
impl<A: QueryId, B: QueryId, C: QueryId, D: QueryId, E: QueryId, F: QueryId, G: QueryId, H: QueryId> QueryId for (A, B, C, D, E, F, G, H)
[src]
impl<A: QueryId, B: QueryId, C: QueryId, D: QueryId, E: QueryId, F: QueryId, G: QueryId, H: QueryId> QueryId for (A, B, C, D, E, F, G, H)
impl<A: QueryId, B: QueryId, C: QueryId, D: QueryId, E: QueryId, F: QueryId, G: QueryId, H: QueryId, I: QueryId> QueryId for (A, B, C, D, E, F, G, H, I)
[src]
impl<A: QueryId, B: QueryId, C: QueryId, D: QueryId, E: QueryId, F: QueryId, G: QueryId, H: QueryId, I: QueryId> QueryId for (A, B, C, D, E, F, G, H, I)
impl<A: QueryId, B: QueryId, C: QueryId, D: QueryId, E: QueryId, F: QueryId, G: QueryId, H: QueryId, I: QueryId, J: QueryId> QueryId for (A, B, C, D, E, F, G, H, I, J)
[src]
impl<A: QueryId, B: QueryId, C: QueryId, D: QueryId, E: QueryId, F: QueryId, G: QueryId, H: QueryId, I: QueryId, J: QueryId> QueryId for (A, B, C, D, E, F, G, H, I, J)
impl<A: QueryId, B: QueryId, C: QueryId, D: QueryId, E: QueryId, F: QueryId, G: QueryId, H: QueryId, I: QueryId, J: QueryId, K: QueryId> QueryId for (A, B, C, D, E, F, G, H, I, J, K)
[src]
impl<A: QueryId, B: QueryId, C: QueryId, D: QueryId, E: QueryId, F: QueryId, G: QueryId, H: QueryId, I: QueryId, J: QueryId, K: QueryId> QueryId for (A, B, C, D, E, F, G, H, I, J, K)
impl<A: QueryId, B: QueryId, C: QueryId, D: QueryId, E: QueryId, F: QueryId, G: QueryId, H: QueryId, I: QueryId, J: QueryId, K: QueryId, L: QueryId> QueryId for (A, B, C, D, E, F, G, H, I, J, K, L)
[src]
impl<A: QueryId, B: QueryId, C: QueryId, D: QueryId, E: QueryId, F: QueryId, G: QueryId, H: QueryId, I: QueryId, J: QueryId, K: QueryId, L: QueryId> QueryId for (A, B, C, D, E, F, G, H, I, J, K, L)
impl<A: QueryId, B: QueryId, C: QueryId, D: QueryId, E: QueryId, F: QueryId, G: QueryId, H: QueryId, I: QueryId, J: QueryId, K: QueryId, L: QueryId, M: QueryId> QueryId for (A, B, C, D, E, F, G, H, I, J, K, L, M)
[src]
impl<A: QueryId, B: QueryId, C: QueryId, D: QueryId, E: QueryId, F: QueryId, G: QueryId, H: QueryId, I: QueryId, J: QueryId, K: QueryId, L: QueryId, M: QueryId> QueryId for (A, B, C, D, E, F, G, H, I, J, K, L, M)
impl<A: QueryId, B: QueryId, C: QueryId, D: QueryId, E: QueryId, F: QueryId, G: QueryId, H: QueryId, I: QueryId, J: QueryId, K: QueryId, L: QueryId, M: QueryId, N: QueryId> QueryId for (A, B, C, D, E, F, G, H, I, J, K, L, M, N)
[src]
impl<A: QueryId, B: QueryId, C: QueryId, D: QueryId, E: QueryId, F: QueryId, G: QueryId, H: QueryId, I: QueryId, J: QueryId, K: QueryId, L: QueryId, M: QueryId, N: QueryId> QueryId for (A, B, C, D, E, F, G, H, I, J, K, L, M, N)
impl<A: QueryId, B: QueryId, C: QueryId, D: QueryId, E: QueryId, F: QueryId, G: QueryId, H: QueryId, I: QueryId, J: QueryId, K: QueryId, L: QueryId, M: QueryId, N: QueryId, O: QueryId> QueryId for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O)
[src]
impl<A: QueryId, B: QueryId, C: QueryId, D: QueryId, E: QueryId, F: QueryId, G: QueryId, H: QueryId, I: QueryId, J: QueryId, K: QueryId, L: QueryId, M: QueryId, N: QueryId, O: QueryId> QueryId for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O)
impl<A: QueryId, B: QueryId, C: QueryId, D: QueryId, E: QueryId, F: QueryId, G: QueryId, H: QueryId, I: QueryId, J: QueryId, K: QueryId, L: QueryId, M: QueryId, N: QueryId, O: QueryId, P: QueryId> QueryId for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P)
[src]
impl<A: QueryId, B: QueryId, C: QueryId, D: QueryId, E: QueryId, F: QueryId, G: QueryId, H: QueryId, I: QueryId, J: QueryId, K: QueryId, L: QueryId, M: QueryId, N: QueryId, O: QueryId, P: QueryId> QueryId for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P)
impl<A: QueryId, B: QueryId, C: QueryId, D: QueryId, E: QueryId, F: QueryId, G: QueryId, H: QueryId, I: QueryId, J: QueryId, K: QueryId, L: QueryId, M: QueryId, N: QueryId, O: QueryId, P: QueryId, Q: QueryId> QueryId for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q)
[src]
impl<A: QueryId, B: QueryId, C: QueryId, D: QueryId, E: QueryId, F: QueryId, G: QueryId, H: QueryId, I: QueryId, J: QueryId, K: QueryId, L: QueryId, M: QueryId, N: QueryId, O: QueryId, P: QueryId, Q: QueryId> QueryId for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q)
impl<A: QueryId, B: QueryId, C: QueryId, D: QueryId, E: QueryId, F: QueryId, G: QueryId, H: QueryId, I: QueryId, J: QueryId, K: QueryId, L: QueryId, M: QueryId, N: QueryId, O: QueryId, P: QueryId, Q: QueryId, R: QueryId> QueryId for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R)
[src]
impl<A: QueryId, B: QueryId, C: QueryId, D: QueryId, E: QueryId, F: QueryId, G: QueryId, H: QueryId, I: QueryId, J: QueryId, K: QueryId, L: QueryId, M: QueryId, N: QueryId, O: QueryId, P: QueryId, Q: QueryId, R: QueryId> QueryId for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R)
type QueryId = (A::QueryId, B::QueryId, C::QueryId, D::QueryId, E::QueryId, F::QueryId, G::QueryId, H::QueryId, I::QueryId, J::QueryId, K::QueryId, L::QueryId, M::QueryId, N::QueryId, O::QueryId, P::QueryId, Q::QueryId, R::QueryId)
const HAS_STATIC_QUERY_ID: bool
fn query_id() -> Option<TypeId>
[src]
fn query_id() -> Option<TypeId>
impl<A: QueryId, B: QueryId, C: QueryId, D: QueryId, E: QueryId, F: QueryId, G: QueryId, H: QueryId, I: QueryId, J: QueryId, K: QueryId, L: QueryId, M: QueryId, N: QueryId, O: QueryId, P: QueryId, Q: QueryId, R: QueryId, S: QueryId> QueryId for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S)
[src]
impl<A: QueryId, B: QueryId, C: QueryId, D: QueryId, E: QueryId, F: QueryId, G: QueryId, H: QueryId, I: QueryId, J: QueryId, K: QueryId, L: QueryId, M: QueryId, N: QueryId, O: QueryId, P: QueryId, Q: QueryId, R: QueryId, S: QueryId> QueryId for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S)
type QueryId = (A::QueryId, B::QueryId, C::QueryId, D::QueryId, E::QueryId, F::QueryId, G::QueryId, H::QueryId, I::QueryId, J::QueryId, K::QueryId, L::QueryId, M::QueryId, N::QueryId, O::QueryId, P::QueryId, Q::QueryId, R::QueryId, S::QueryId)
const HAS_STATIC_QUERY_ID: bool
fn query_id() -> Option<TypeId>
[src]
fn query_id() -> Option<TypeId>
impl<A: QueryId, B: QueryId, C: QueryId, D: QueryId, E: QueryId, F: QueryId, G: QueryId, H: QueryId, I: QueryId, J: QueryId, K: QueryId, L: QueryId, M: QueryId, N: QueryId, O: QueryId, P: QueryId, Q: QueryId, R: QueryId, S: QueryId, T: QueryId> QueryId for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T)
[src]
impl<A: QueryId, B: QueryId, C: QueryId, D: QueryId, E: QueryId, F: QueryId, G: QueryId, H: QueryId, I: QueryId, J: QueryId, K: QueryId, L: QueryId, M: QueryId, N: QueryId, O: QueryId, P: QueryId, Q: QueryId, R: QueryId, S: QueryId, T: QueryId> QueryId for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T)
type QueryId = (A::QueryId, B::QueryId, C::QueryId, D::QueryId, E::QueryId, F::QueryId, G::QueryId, H::QueryId, I::QueryId, J::QueryId, K::QueryId, L::QueryId, M::QueryId, N::QueryId, O::QueryId, P::QueryId, Q::QueryId, R::QueryId, S::QueryId, T::QueryId)
const HAS_STATIC_QUERY_ID: bool
fn query_id() -> Option<TypeId>
[src]
fn query_id() -> Option<TypeId>
impl<A: QueryId, B: QueryId, C: QueryId, D: QueryId, E: QueryId, F: QueryId, G: QueryId, H: QueryId, I: QueryId, J: QueryId, K: QueryId, L: QueryId, M: QueryId, N: QueryId, O: QueryId, P: QueryId, Q: QueryId, R: QueryId, S: QueryId, T: QueryId, U: QueryId> QueryId for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U)
[src]
impl<A: QueryId, B: QueryId, C: QueryId, D: QueryId, E: QueryId, F: QueryId, G: QueryId, H: QueryId, I: QueryId, J: QueryId, K: QueryId, L: QueryId, M: QueryId, N: QueryId, O: QueryId, P: QueryId, Q: QueryId, R: QueryId, S: QueryId, T: QueryId, U: QueryId> QueryId for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U)
type QueryId = (A::QueryId, B::QueryId, C::QueryId, D::QueryId, E::QueryId, F::QueryId, G::QueryId, H::QueryId, I::QueryId, J::QueryId, K::QueryId, L::QueryId, M::QueryId, N::QueryId, O::QueryId, P::QueryId, Q::QueryId, R::QueryId, S::QueryId, T::QueryId, U::QueryId)
const HAS_STATIC_QUERY_ID: bool
fn query_id() -> Option<TypeId>
[src]
fn query_id() -> Option<TypeId>
impl<A: QueryId, B: QueryId, C: QueryId, D: QueryId, E: QueryId, F: QueryId, G: QueryId, H: QueryId, I: QueryId, J: QueryId, K: QueryId, L: QueryId, M: QueryId, N: QueryId, O: QueryId, P: QueryId, Q: QueryId, R: QueryId, S: QueryId, T: QueryId, U: QueryId, V: QueryId> QueryId for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V)
[src]
impl<A: QueryId, B: QueryId, C: QueryId, D: QueryId, E: QueryId, F: QueryId, G: QueryId, H: QueryId, I: QueryId, J: QueryId, K: QueryId, L: QueryId, M: QueryId, N: QueryId, O: QueryId, P: QueryId, Q: QueryId, R: QueryId, S: QueryId, T: QueryId, U: QueryId, V: QueryId> QueryId for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V)
type QueryId = (A::QueryId, B::QueryId, C::QueryId, D::QueryId, E::QueryId, F::QueryId, G::QueryId, H::QueryId, I::QueryId, J::QueryId, K::QueryId, L::QueryId, M::QueryId, N::QueryId, O::QueryId, P::QueryId, Q::QueryId, R::QueryId, S::QueryId, T::QueryId, U::QueryId, V::QueryId)
const HAS_STATIC_QUERY_ID: bool
fn query_id() -> Option<TypeId>
[src]
fn query_id() -> Option<TypeId>
impl<A: QueryId, B: QueryId, C: QueryId, D: QueryId, E: QueryId, F: QueryId, G: QueryId, H: QueryId, I: QueryId, J: QueryId, K: QueryId, L: QueryId, M: QueryId, N: QueryId, O: QueryId, P: QueryId, Q: QueryId, R: QueryId, S: QueryId, T: QueryId, U: QueryId, V: QueryId, W: QueryId> QueryId for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W)
[src]
impl<A: QueryId, B: QueryId, C: QueryId, D: QueryId, E: QueryId, F: QueryId, G: QueryId, H: QueryId, I: QueryId, J: QueryId, K: QueryId, L: QueryId, M: QueryId, N: QueryId, O: QueryId, P: QueryId, Q: QueryId, R: QueryId, S: QueryId, T: QueryId, U: QueryId, V: QueryId, W: QueryId> QueryId for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W)
type QueryId = (A::QueryId, B::QueryId, C::QueryId, D::QueryId, E::QueryId, F::QueryId, G::QueryId, H::QueryId, I::QueryId, J::QueryId, K::QueryId, L::QueryId, M::QueryId, N::QueryId, O::QueryId, P::QueryId, Q::QueryId, R::QueryId, S::QueryId, T::QueryId, U::QueryId, V::QueryId, W::QueryId)
const HAS_STATIC_QUERY_ID: bool
fn query_id() -> Option<TypeId>
[src]
fn query_id() -> Option<TypeId>
impl<A: QueryId, B: QueryId, C: QueryId, D: QueryId, E: QueryId, F: QueryId, G: QueryId, H: QueryId, I: QueryId, J: QueryId, K: QueryId, L: QueryId, M: QueryId, N: QueryId, O: QueryId, P: QueryId, Q: QueryId, R: QueryId, S: QueryId, T: QueryId, U: QueryId, V: QueryId, W: QueryId, X: QueryId> QueryId 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)
[src]
impl<A: QueryId, B: QueryId, C: QueryId, D: QueryId, E: QueryId, F: QueryId, G: QueryId, H: QueryId, I: QueryId, J: QueryId, K: QueryId, L: QueryId, M: QueryId, N: QueryId, O: QueryId, P: QueryId, Q: QueryId, R: QueryId, S: QueryId, T: QueryId, U: QueryId, V: QueryId, W: QueryId, X: QueryId> QueryId 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)
type QueryId = (A::QueryId, B::QueryId, C::QueryId, D::QueryId, E::QueryId, F::QueryId, G::QueryId, H::QueryId, I::QueryId, J::QueryId, K::QueryId, L::QueryId, M::QueryId, N::QueryId, O::QueryId, P::QueryId, Q::QueryId, R::QueryId, S::QueryId, T::QueryId, U::QueryId, V::QueryId, W::QueryId, X::QueryId)
const HAS_STATIC_QUERY_ID: bool
fn query_id() -> Option<TypeId>
[src]
fn query_id() -> Option<TypeId>
impl<A: QueryId, B: QueryId, C: QueryId, D: QueryId, E: QueryId, F: QueryId, G: QueryId, H: QueryId, I: QueryId, J: QueryId, K: QueryId, L: QueryId, M: QueryId, N: QueryId, O: QueryId, P: QueryId, Q: QueryId, R: QueryId, S: QueryId, T: QueryId, U: QueryId, V: QueryId, W: QueryId, X: QueryId, Y: QueryId> QueryId 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)
[src]
impl<A: QueryId, B: QueryId, C: QueryId, D: QueryId, E: QueryId, F: QueryId, G: QueryId, H: QueryId, I: QueryId, J: QueryId, K: QueryId, L: QueryId, M: QueryId, N: QueryId, O: QueryId, P: QueryId, Q: QueryId, R: QueryId, S: QueryId, T: QueryId, U: QueryId, V: QueryId, W: QueryId, X: QueryId, Y: QueryId> QueryId 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)
type QueryId = (A::QueryId, B::QueryId, C::QueryId, D::QueryId, E::QueryId, F::QueryId, G::QueryId, H::QueryId, I::QueryId, J::QueryId, K::QueryId, L::QueryId, M::QueryId, N::QueryId, O::QueryId, P::QueryId, Q::QueryId, R::QueryId, S::QueryId, T::QueryId, U::QueryId, V::QueryId, W::QueryId, X::QueryId, Y::QueryId)
const HAS_STATIC_QUERY_ID: bool
fn query_id() -> Option<TypeId>
[src]
fn query_id() -> Option<TypeId>
impl<A: QueryId, B: QueryId, C: QueryId, D: QueryId, E: QueryId, F: QueryId, G: QueryId, H: QueryId, I: QueryId, J: QueryId, K: QueryId, L: QueryId, M: QueryId, N: QueryId, O: QueryId, P: QueryId, Q: QueryId, R: QueryId, S: QueryId, T: QueryId, U: QueryId, V: QueryId, W: QueryId, X: QueryId, Y: QueryId, Z: QueryId> QueryId 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)
[src]
impl<A: QueryId, B: QueryId, C: QueryId, D: QueryId, E: QueryId, F: QueryId, G: QueryId, H: QueryId, I: QueryId, J: QueryId, K: QueryId, L: QueryId, M: QueryId, N: QueryId, O: QueryId, P: QueryId, Q: QueryId, R: QueryId, S: QueryId, T: QueryId, U: QueryId, V: QueryId, W: QueryId, X: QueryId, Y: QueryId, Z: QueryId> QueryId 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)
type QueryId = (A::QueryId, B::QueryId, C::QueryId, D::QueryId, E::QueryId, F::QueryId, G::QueryId, H::QueryId, I::QueryId, J::QueryId, K::QueryId, L::QueryId, M::QueryId, N::QueryId, O::QueryId, P::QueryId, Q::QueryId, R::QueryId, S::QueryId, T::QueryId, U::QueryId, V::QueryId, W::QueryId, X::QueryId, Y::QueryId, Z::QueryId)
const HAS_STATIC_QUERY_ID: bool
fn query_id() -> Option<TypeId>
[src]
fn query_id() -> Option<TypeId>
impl<A: QueryId, B: QueryId, C: QueryId, D: QueryId, E: QueryId, F: QueryId, G: QueryId, H: QueryId, I: QueryId, J: QueryId, K: QueryId, L: QueryId, M: QueryId, N: QueryId, O: QueryId, P: QueryId, Q: QueryId, R: QueryId, S: QueryId, T: QueryId, U: QueryId, V: QueryId, W: QueryId, X: QueryId, Y: QueryId, Z: QueryId, AA: QueryId> QueryId 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)
[src]
impl<A: QueryId, B: QueryId, C: QueryId, D: QueryId, E: QueryId, F: QueryId, G: QueryId, H: QueryId, I: QueryId, J: QueryId, K: QueryId, L: QueryId, M: QueryId, N: QueryId, O: QueryId, P: QueryId, Q: QueryId, R: QueryId, S: QueryId, T: QueryId, U: QueryId, V: QueryId, W: QueryId, X: QueryId, Y: QueryId, Z: QueryId, AA: QueryId> QueryId 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)
type QueryId = (A::QueryId, B::QueryId, C::QueryId, D::QueryId, E::QueryId, F::QueryId, G::QueryId, H::QueryId, I::QueryId, J::QueryId, K::QueryId, L::QueryId, M::QueryId, N::QueryId, O::QueryId, P::QueryId, Q::QueryId, R::QueryId, S::QueryId, T::QueryId, U::QueryId, V::QueryId, W::QueryId, X::QueryId, Y::QueryId, Z::QueryId, AA::QueryId)
const HAS_STATIC_QUERY_ID: bool
fn query_id() -> Option<TypeId>
[src]
fn query_id() -> Option<TypeId>
impl<A: QueryId, B: QueryId, C: QueryId, D: QueryId, E: QueryId, F: QueryId, G: QueryId, H: QueryId, I: QueryId, J: QueryId, K: QueryId, L: QueryId, M: QueryId, N: QueryId, O: QueryId, P: QueryId, Q: QueryId, R: QueryId, S: QueryId, T: QueryId, U: QueryId, V: QueryId, W: QueryId, X: QueryId, Y: QueryId, Z: QueryId, AA: QueryId, AB: QueryId> QueryId 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)
[src]
impl<A: QueryId, B: QueryId, C: QueryId, D: QueryId, E: QueryId, F: QueryId, G: QueryId, H: QueryId, I: QueryId, J: QueryId, K: QueryId, L: QueryId, M: QueryId, N: QueryId, O: QueryId, P: QueryId, Q: QueryId, R: QueryId, S: QueryId, T: QueryId, U: QueryId, V: QueryId, W: QueryId, X: QueryId, Y: QueryId, Z: QueryId, AA: QueryId, AB: QueryId> QueryId 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)
type QueryId = (A::QueryId, B::QueryId, C::QueryId, D::QueryId, E::QueryId, F::QueryId, G::QueryId, H::QueryId, I::QueryId, J::QueryId, K::QueryId, L::QueryId, M::QueryId, N::QueryId, O::QueryId, P::QueryId, Q::QueryId, R::QueryId, S::QueryId, T::QueryId, U::QueryId, V::QueryId, W::QueryId, X::QueryId, Y::QueryId, Z::QueryId, AA::QueryId, AB::QueryId)
const HAS_STATIC_QUERY_ID: bool
fn query_id() -> Option<TypeId>
[src]
fn query_id() -> Option<TypeId>
impl<A: QueryId, B: QueryId, C: QueryId, D: QueryId, E: QueryId, F: QueryId, G: QueryId, H: QueryId, I: QueryId, J: QueryId, K: QueryId, L: QueryId, M: QueryId, N: QueryId, O: QueryId, P: QueryId, Q: QueryId, R: QueryId, S: QueryId, T: QueryId, U: QueryId, V: QueryId, W: QueryId, X: QueryId, Y: QueryId, Z: QueryId, AA: QueryId, AB: QueryId, AC: QueryId> QueryId 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)
[src]
impl<A: QueryId, B: QueryId, C: QueryId, D: QueryId, E: QueryId, F: QueryId, G: QueryId, H: QueryId, I: QueryId, J: QueryId, K: QueryId, L: QueryId, M: QueryId, N: QueryId, O: QueryId, P: QueryId, Q: QueryId, R: QueryId, S: QueryId, T: QueryId, U: QueryId, V: QueryId, W: QueryId, X: QueryId, Y: QueryId, Z: QueryId, AA: QueryId, AB: QueryId, AC: QueryId> QueryId 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)
type QueryId = (A::QueryId, B::QueryId, C::QueryId, D::QueryId, E::QueryId, F::QueryId, G::QueryId, H::QueryId, I::QueryId, J::QueryId, K::QueryId, L::QueryId, M::QueryId, N::QueryId, O::QueryId, P::QueryId, Q::QueryId, R::QueryId, S::QueryId, T::QueryId, U::QueryId, V::QueryId, W::QueryId, X::QueryId, Y::QueryId, Z::QueryId, AA::QueryId, AB::QueryId, AC::QueryId)
const HAS_STATIC_QUERY_ID: bool
fn query_id() -> Option<TypeId>
[src]
fn query_id() -> Option<TypeId>
impl<A: QueryId, B: QueryId, C: QueryId, D: QueryId, E: QueryId, F: QueryId, G: QueryId, H: QueryId, I: QueryId, J: QueryId, K: QueryId, L: QueryId, M: QueryId, N: QueryId, O: QueryId, P: QueryId, Q: QueryId, R: QueryId, S: QueryId, T: QueryId, U: QueryId, V: QueryId, W: QueryId, X: QueryId, Y: QueryId, Z: QueryId, AA: QueryId, AB: QueryId, AC: QueryId, AD: QueryId> QueryId 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)
[src]
impl<A: QueryId, B: QueryId, C: QueryId, D: QueryId, E: QueryId, F: QueryId, G: QueryId, H: QueryId, I: QueryId, J: QueryId, K: QueryId, L: QueryId, M: QueryId, N: QueryId, O: QueryId, P: QueryId, Q: QueryId, R: QueryId, S: QueryId, T: QueryId, U: QueryId, V: QueryId, W: QueryId, X: QueryId, Y: QueryId, Z: QueryId, AA: QueryId, AB: QueryId, AC: QueryId, AD: QueryId> QueryId 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)
type QueryId = (A::QueryId, B::QueryId, C::QueryId, D::QueryId, E::QueryId, F::QueryId, G::QueryId, H::QueryId, I::QueryId, J::QueryId, K::QueryId, L::QueryId, M::QueryId, N::QueryId, O::QueryId, P::QueryId, Q::QueryId, R::QueryId, S::QueryId, T::QueryId, U::QueryId, V::QueryId, W::QueryId, X::QueryId, Y::QueryId, Z::QueryId, AA::QueryId, AB::QueryId, AC::QueryId, AD::QueryId)
const HAS_STATIC_QUERY_ID: bool
fn query_id() -> Option<TypeId>
[src]
fn query_id() -> Option<TypeId>
impl<A: QueryId, B: QueryId, C: QueryId, D: QueryId, E: QueryId, F: QueryId, G: QueryId, H: QueryId, I: QueryId, J: QueryId, K: QueryId, L: QueryId, M: QueryId, N: QueryId, O: QueryId, P: QueryId, Q: QueryId, R: QueryId, S: QueryId, T: QueryId, U: QueryId, V: QueryId, W: QueryId, X: QueryId, Y: QueryId, Z: QueryId, AA: QueryId, AB: QueryId, AC: QueryId, AD: QueryId, AE: QueryId> QueryId 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)
[src]
impl<A: QueryId, B: QueryId, C: QueryId, D: QueryId, E: QueryId, F: QueryId, G: QueryId, H: QueryId, I: QueryId, J: QueryId, K: QueryId, L: QueryId, M: QueryId, N: QueryId, O: QueryId, P: QueryId, Q: QueryId, R: QueryId, S: QueryId, T: QueryId, U: QueryId, V: QueryId, W: QueryId, X: QueryId, Y: QueryId, Z: QueryId, AA: QueryId, AB: QueryId, AC: QueryId, AD: QueryId, AE: QueryId> QueryId 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)
type QueryId = (A::QueryId, B::QueryId, C::QueryId, D::QueryId, E::QueryId, F::QueryId, G::QueryId, H::QueryId, I::QueryId, J::QueryId, K::QueryId, L::QueryId, M::QueryId, N::QueryId, O::QueryId, P::QueryId, Q::QueryId, R::QueryId, S::QueryId, T::QueryId, U::QueryId, V::QueryId, W::QueryId, X::QueryId, Y::QueryId, Z::QueryId, AA::QueryId, AB::QueryId, AC::QueryId, AD::QueryId, AE::QueryId)
const HAS_STATIC_QUERY_ID: bool
fn query_id() -> Option<TypeId>
[src]
fn query_id() -> Option<TypeId>
impl<A: QueryId, B: QueryId, C: QueryId, D: QueryId, E: QueryId, F: QueryId, G: QueryId, H: QueryId, I: QueryId, J: QueryId, K: QueryId, L: QueryId, M: QueryId, N: QueryId, O: QueryId, P: QueryId, Q: QueryId, R: QueryId, S: QueryId, T: QueryId, U: QueryId, V: QueryId, W: QueryId, X: QueryId, Y: QueryId, Z: QueryId, AA: QueryId, AB: QueryId, AC: QueryId, AD: QueryId, AE: QueryId, AF: QueryId> QueryId 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)
[src]
impl<A: QueryId, B: QueryId, C: QueryId, D: QueryId, E: QueryId, F: QueryId, G: QueryId, H: QueryId, I: QueryId, J: QueryId, K: QueryId, L: QueryId, M: QueryId, N: QueryId, O: QueryId, P: QueryId, Q: QueryId, R: QueryId, S: QueryId, T: QueryId, U: QueryId, V: QueryId, W: QueryId, X: QueryId, Y: QueryId, Z: QueryId, AA: QueryId, AB: QueryId, AC: QueryId, AD: QueryId, AE: QueryId, AF: QueryId> QueryId 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)
type QueryId = (A::QueryId, B::QueryId, C::QueryId, D::QueryId, E::QueryId, F::QueryId, G::QueryId, H::QueryId, I::QueryId, J::QueryId, K::QueryId, L::QueryId, M::QueryId, N::QueryId, O::QueryId, P::QueryId, Q::QueryId, R::QueryId, S::QueryId, T::QueryId, U::QueryId, V::QueryId, W::QueryId, X::QueryId, Y::QueryId, Z::QueryId, AA::QueryId, AB::QueryId, AC::QueryId, AD::QueryId, AE::QueryId, AF::QueryId)
const HAS_STATIC_QUERY_ID: bool
fn query_id() -> Option<TypeId>
[src]
fn query_id() -> Option<TypeId>
Implementors
impl QueryId for now type QueryId = now;
impl<Query: QueryId, Value: QueryId> QueryId for UncheckedBind<Query, Value> type QueryId = UncheckedBind<<Query as QueryId>::QueryId, <Value as QueryId>::QueryId>;
impl<ST, T> QueryId for SqlLiteral<ST, T> type QueryId = ();
impl<'a, QS, ST, DB> QueryId for BoxableExpression<QS, DB, SqlType = ST> + 'a type QueryId = ();
impl<DB> QueryId for QueryFragment<DB> type QueryId = ();
impl<T: QueryId, U: QueryId, Ret: QueryId> QueryId for DeleteStatement<T, U, Ret> type QueryId = DeleteStatement<<T as QueryId>::QueryId, <U as QueryId>::QueryId, <Ret as QueryId>::QueryId>;
impl<T, U, Op, Ret> QueryId for InsertStatement<T, U, Op, Ret> type QueryId = ();
impl QueryId for SqlQuery type QueryId = ();
impl<T, U, V, Ret> QueryId for UpdateStatement<T, U, V, Ret> type QueryId = ();
impl QueryId for Bool type QueryId = Bool;
impl QueryId for Tinyint type QueryId = Tinyint;
impl QueryId for SmallInt type QueryId = SmallInt;
impl QueryId for Integer type QueryId = Integer;
impl QueryId for BigInt type QueryId = BigInt;
impl QueryId for Float type QueryId = Float;
impl QueryId for Double type QueryId = Double;
impl QueryId for Numeric type QueryId = Numeric;
impl QueryId for Text type QueryId = Text;
impl QueryId for Binary type QueryId = Binary;
impl QueryId for Date type QueryId = Date;
impl QueryId for Interval type QueryId = Interval;
impl QueryId for Time type QueryId = Time;
impl QueryId for Timestamp type QueryId = Timestamp;
impl<ST: QueryId> QueryId for Unsigned<ST> type QueryId = Unsigned<<ST as QueryId>::QueryId>;
impl QueryId for Datetime type QueryId = Datetime;
impl QueryId for Oid type QueryId = Oid;
impl QueryId for Timestamptz type QueryId = Timestamptz;
impl<ST: QueryId> QueryId for Array<ST> type QueryId = Array<<ST as QueryId>::QueryId>;
impl<ST: QueryId> QueryId for Range<ST> type QueryId = Range<<ST as QueryId>::QueryId>;
impl<ST: QueryId> QueryId for Record<ST> type QueryId = Record<<ST as QueryId>::QueryId>;
impl QueryId for Uuid type QueryId = Uuid;
impl QueryId for Json type QueryId = Json;
impl QueryId for Jsonb type QueryId = Jsonb;
impl QueryId for Money type QueryId = Money;
impl QueryId for MacAddr type QueryId = MacAddr;
impl QueryId for Inet type QueryId = Inet;
impl QueryId for Cidr type QueryId = Cidr;
impl<T: QueryId> QueryId for DistinctOnClause<T> type QueryId = DistinctOnClause<<T as QueryId>::QueryId>;
impl<T> QueryId for Nullable<T> where
T: QueryId + NotNull, type QueryId = T::QueryId;