Skip to main content

ConditionList

Trait ConditionList 

Source
pub trait ConditionList<'a, V: SQLParam>: Sealed + ExprSources {
    type Nullable: Nullability;
    type Aggregate: AggregateKind;
}
Expand description

A tuple of conditions that all and any can combine.

Implemented for tuples of 1 to 8 elements (16 with the col16 feature, which is on by default). Each element is a boolean expression or an Option of one. The list is nullable if any element is nullable, and is an aggregate if any element is.

Tuples of up to 8 elements are also conditions themselves (they implement Expr). For longer lists, use all or any, or nest tuples.

This trait is sealed.

Required Associated Types§

Source

type Nullable: Nullability

Nullability folded across every element.

Source

type Aggregate: AggregateKind

Aggregate kind folded across every element.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl<'a, V, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> ConditionList<'a, V> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)
where V: SQLParam + 'a, T0: Expr<'a, V>, T1: Expr<'a, V>, T2: Expr<'a, V>, T3: Expr<'a, V>, T4: Expr<'a, V>, T5: Expr<'a, V>, T6: Expr<'a, V>, T7: Expr<'a, V>, T8: Expr<'a, V>, T9: Expr<'a, V>, T10: Expr<'a, V>, T11: Expr<'a, V>, T12: Expr<'a, V>, T13: Expr<'a, V>, T14: Expr<'a, V>, T15: Expr<'a, V>, <T15 as Expr<'a, V>>::SQLType: BooleanLike, (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14): ConditionList<'a, V>,

Source§

impl<'a, V, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> ConditionList<'a, V> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)
where V: SQLParam + 'a, T0: Expr<'a, V>, T1: Expr<'a, V>, T2: Expr<'a, V>, T3: Expr<'a, V>, T4: Expr<'a, V>, T5: Expr<'a, V>, T6: Expr<'a, V>, T7: Expr<'a, V>, T8: Expr<'a, V>, T9: Expr<'a, V>, T10: Expr<'a, V>, T11: Expr<'a, V>, T12: Expr<'a, V>, T13: Expr<'a, V>, T14: Expr<'a, V>, <T14 as Expr<'a, V>>::SQLType: BooleanLike, (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13): ConditionList<'a, V>,

Source§

impl<'a, V, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> ConditionList<'a, V> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)
where V: SQLParam + 'a, T0: Expr<'a, V>, T1: Expr<'a, V>, T2: Expr<'a, V>, T3: Expr<'a, V>, T4: Expr<'a, V>, T5: Expr<'a, V>, T6: Expr<'a, V>, T7: Expr<'a, V>, T8: Expr<'a, V>, T9: Expr<'a, V>, T10: Expr<'a, V>, T11: Expr<'a, V>, T12: Expr<'a, V>, T13: Expr<'a, V>, <T13 as Expr<'a, V>>::SQLType: BooleanLike, (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12): ConditionList<'a, V>,

Source§

impl<'a, V, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> ConditionList<'a, V> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)
where V: SQLParam + 'a, T0: Expr<'a, V>, T1: Expr<'a, V>, T2: Expr<'a, V>, T3: Expr<'a, V>, T4: Expr<'a, V>, T5: Expr<'a, V>, T6: Expr<'a, V>, T7: Expr<'a, V>, T8: Expr<'a, V>, T9: Expr<'a, V>, T10: Expr<'a, V>, T11: Expr<'a, V>, T12: Expr<'a, V>, <T12 as Expr<'a, V>>::SQLType: BooleanLike, (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11): ConditionList<'a, V>,

Source§

impl<'a, V, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> ConditionList<'a, V> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
where V: SQLParam + 'a, T0: Expr<'a, V>, T1: Expr<'a, V>, T2: Expr<'a, V>, T3: Expr<'a, V>, T4: Expr<'a, V>, T5: Expr<'a, V>, T6: Expr<'a, V>, T7: Expr<'a, V>, T8: Expr<'a, V>, T9: Expr<'a, V>, T10: Expr<'a, V>, T11: Expr<'a, V>, <T11 as Expr<'a, V>>::SQLType: BooleanLike, (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10): ConditionList<'a, V>,

Source§

impl<'a, V, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> ConditionList<'a, V> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)
where V: SQLParam + 'a, T0: Expr<'a, V>, T1: Expr<'a, V>, T2: Expr<'a, V>, T3: Expr<'a, V>, T4: Expr<'a, V>, T5: Expr<'a, V>, T6: Expr<'a, V>, T7: Expr<'a, V>, T8: Expr<'a, V>, T9: Expr<'a, V>, T10: Expr<'a, V>, <T10 as Expr<'a, V>>::SQLType: BooleanLike, (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9): ConditionList<'a, V>,

Source§

impl<'a, V, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> ConditionList<'a, V> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)
where V: SQLParam + 'a, T0: Expr<'a, V>, T1: Expr<'a, V>, T2: Expr<'a, V>, T3: Expr<'a, V>, T4: Expr<'a, V>, T5: Expr<'a, V>, T6: Expr<'a, V>, T7: Expr<'a, V>, T8: Expr<'a, V>, T9: Expr<'a, V>, <T9 as Expr<'a, V>>::SQLType: BooleanLike, (T0, T1, T2, T3, T4, T5, T6, T7, T8): ConditionList<'a, V>,

Source§

impl<'a, V, T0, T1, T2, T3, T4, T5, T6, T7, T8> ConditionList<'a, V> for (T0, T1, T2, T3, T4, T5, T6, T7, T8)
where V: SQLParam + 'a, T0: Expr<'a, V>, T1: Expr<'a, V>, T2: Expr<'a, V>, T3: Expr<'a, V>, T4: Expr<'a, V>, T5: Expr<'a, V>, T6: Expr<'a, V>, T7: Expr<'a, V>, T8: Expr<'a, V>, <T8 as Expr<'a, V>>::SQLType: BooleanLike, (T0, T1, T2, T3, T4, T5, T6, T7): ConditionList<'a, V>,

Source§

impl<'a, V, T0, T1, T2, T3, T4, T5, T6, T7> ConditionList<'a, V> for (T0, T1, T2, T3, T4, T5, T6, T7)
where V: SQLParam + 'a, T0: Expr<'a, V>, T1: Expr<'a, V>, T2: Expr<'a, V>, T3: Expr<'a, V>, T4: Expr<'a, V>, T5: Expr<'a, V>, T6: Expr<'a, V>, T7: Expr<'a, V>, <T7 as Expr<'a, V>>::SQLType: BooleanLike, (T0, T1, T2, T3, T4, T5, T6): ConditionList<'a, V>,

Source§

impl<'a, V, T0, T1, T2, T3, T4, T5, T6> ConditionList<'a, V> for (T0, T1, T2, T3, T4, T5, T6)
where V: SQLParam + 'a, T0: Expr<'a, V>, T1: Expr<'a, V>, T2: Expr<'a, V>, T3: Expr<'a, V>, T4: Expr<'a, V>, T5: Expr<'a, V>, T6: Expr<'a, V>, <T6 as Expr<'a, V>>::SQLType: BooleanLike, (T0, T1, T2, T3, T4, T5): ConditionList<'a, V>,

Source§

impl<'a, V, T0, T1, T2, T3, T4, T5> ConditionList<'a, V> for (T0, T1, T2, T3, T4, T5)
where V: SQLParam + 'a, T0: Expr<'a, V>, T1: Expr<'a, V>, T2: Expr<'a, V>, T3: Expr<'a, V>, T4: Expr<'a, V>, T5: Expr<'a, V>, <T5 as Expr<'a, V>>::SQLType: BooleanLike, (T0, T1, T2, T3, T4): ConditionList<'a, V>,

Source§

impl<'a, V, T0, T1, T2, T3, T4> ConditionList<'a, V> for (T0, T1, T2, T3, T4)
where V: SQLParam + 'a, T0: Expr<'a, V>, T1: Expr<'a, V>, T2: Expr<'a, V>, T3: Expr<'a, V>, T4: Expr<'a, V>, <T4 as Expr<'a, V>>::SQLType: BooleanLike, (T0, T1, T2, T3): ConditionList<'a, V>,

Source§

impl<'a, V, T0, T1, T2, T3> ConditionList<'a, V> for (T0, T1, T2, T3)
where V: SQLParam + 'a, T0: Expr<'a, V>, T1: Expr<'a, V>, T2: Expr<'a, V>, T3: Expr<'a, V>, <T3 as Expr<'a, V>>::SQLType: BooleanLike, (T0, T1, T2): ConditionList<'a, V>,

Source§

impl<'a, V, T0, T1, T2> ConditionList<'a, V> for (T0, T1, T2)
where V: SQLParam + 'a, T0: Expr<'a, V>, T1: Expr<'a, V>, T2: Expr<'a, V>, <T2 as Expr<'a, V>>::SQLType: BooleanLike, (T0, T1): ConditionList<'a, V>,

Source§

type Nullable = <<(T0, T1) as ConditionList<'a, V>>::Nullable as Nullability>::Or<<T2 as Expr<'a, V>>::Nullable>

Source§

type Aggregate = <<(T0, T1) as ConditionList<'a, V>>::Aggregate as AggregateKind>::Or<<T2 as Expr<'a, V>>::Aggregate>

Source§

impl<'a, V, T0, T1> ConditionList<'a, V> for (T0, T1)
where V: SQLParam + 'a, T0: Expr<'a, V>, T1: Expr<'a, V>, <T1 as Expr<'a, V>>::SQLType: BooleanLike, (T0,): ConditionList<'a, V>,

Source§

type Nullable = <<(T0,) as ConditionList<'a, V>>::Nullable as Nullability>::Or<<T1 as Expr<'a, V>>::Nullable>

Source§

type Aggregate = <<(T0,) as ConditionList<'a, V>>::Aggregate as AggregateKind>::Or<<T1 as Expr<'a, V>>::Aggregate>

Source§

impl<'a, V, T0> ConditionList<'a, V> for (T0,)
where V: SQLParam + 'a, T0: Expr<'a, V>, <T0 as Expr<'a, V>>::SQLType: BooleanLike,

Source§

type Nullable = <T0 as Expr<'a, V>>::Nullable

Source§

type Aggregate = <T0 as Expr<'a, V>>::Aggregate

Implementors§