pub struct BoundField<S: Schema, Owner: Model<Schema = S>, V> { /* private fields */ }Expand description
One generated field resolved against one session binding occurrence.
The token retains its declaring owner; owner/binding compatibility is enforced against the installed registry when the predicate is lowered, before any I/O.
Implementations§
Source§impl<S, Owner, V> BoundField<S, Owner, V>
impl<S, Owner, V> BoundField<S, Owner, V>
Sourcepub fn sum(self) -> Agg<S, V::Reduced>
pub fn sum(self) -> Agg<S, V::Reduced>
The total of this field’s values; domain-preserving and total on an empty ungrouped stream (zero). A provider reporting an absent sum fails closed at decode.
Sourcepub fn min(self) -> Agg<S, Option<V::Reduced>>
pub fn min(self) -> Agg<S, Option<V::Reduced>>
The smallest of this field’s values; absent on an empty ungrouped stream.
Sourcepub fn max(self) -> Agg<S, Option<V::Reduced>>
pub fn max(self) -> Agg<S, Option<V::Reduced>>
The largest of this field’s values; absent on an empty ungrouped stream.
Sourcepub fn mean(self) -> Agg<S, Option<f64>>
pub fn mean(self) -> Agg<S, Option<f64>>
The arithmetic mean of this field’s values; absent on an empty ungrouped stream.
Source§impl<S: Schema, Owner: Model<Schema = S>, V> BoundField<S, Owner, V>
impl<S: Schema, Owner: Model<Schema = S>, V> BoundField<S, Owner, V>
Sourcepub fn eq<O>(self, operand: O) -> Predicate<S>where
V: QueryValued,
O: QueryOperand<Domain = V::Domain>,
pub fn eq<O>(self, operand: O) -> Predicate<S>where
V: QueryValued,
O: QueryOperand<Domain = V::Domain>,
Equality against a canonical literal of the field’s scalar domain.
Sourcepub fn ne<O>(self, operand: O) -> Predicate<S>where
V: QueryValued,
O: QueryOperand<Domain = V::Domain>,
pub fn ne<O>(self, operand: O) -> Predicate<S>where
V: QueryValued,
O: QueryOperand<Domain = V::Domain>,
Inequality against a canonical literal of the field’s scalar domain.
Sourcepub fn lt(self, operand: impl OrderedOperand) -> Predicate<S>where
V: OrderedValued,
pub fn lt(self, operand: impl OrderedOperand) -> Predicate<S>where
V: OrderedValued,
Strictly-less ordering against a canonically ordered literal; admitted only for canonically ordered field domains.
Sourcepub fn le(self, operand: impl OrderedOperand) -> Predicate<S>where
V: OrderedValued,
pub fn le(self, operand: impl OrderedOperand) -> Predicate<S>where
V: OrderedValued,
Less-or-equal ordering against a canonically ordered literal; admitted only for canonically ordered field domains.
Sourcepub fn gt(self, operand: impl OrderedOperand) -> Predicate<S>where
V: OrderedValued,
pub fn gt(self, operand: impl OrderedOperand) -> Predicate<S>where
V: OrderedValued,
Strictly-greater ordering against a canonically ordered literal; admitted only for canonically ordered field domains.
Sourcepub fn ge(self, operand: impl OrderedOperand) -> Predicate<S>where
V: OrderedValued,
pub fn ge(self, operand: impl OrderedOperand) -> Predicate<S>where
V: OrderedValued,
Greater-or-equal ordering against a canonically ordered literal; admitted only for canonically ordered field domains.
Sourcepub fn contains(self, text: Text) -> Predicate<S>where
V: TextValued,
pub fn contains(self, text: Text) -> Predicate<S>where
V: TextValued,
Text containment against bounded canonical text; admitted only for text field domains.
Sourcepub fn starts_with(self, text: Text) -> Predicate<S>where
V: TextValued,
pub fn starts_with(self, text: Text) -> Predicate<S>where
V: TextValued,
Anchored text prefix against bounded canonical text; admitted only for text field domains.
Sourcepub fn ends_with(self, text: Text) -> Predicate<S>where
V: TextValued,
pub fn ends_with(self, text: Text) -> Predicate<S>where
V: TextValued,
Anchored text suffix against bounded canonical text; admitted only for text field domains.
Sourcepub fn regex(self, pattern: Regex) -> Predicate<S>where
V: TextValued,
pub fn regex(self, pattern: Regex) -> Predicate<S>where
V: TextValued,
Regular-expression match against a client-owned validated pattern; admitted only for text field domains.
Sourcepub fn is_present(self) -> Predicate<S>
pub fn is_present(self) -> Predicate<S>
Require at least one owned value for this generated field.
Sourcepub fn is_missing(self) -> Predicate<S>
pub fn is_missing(self) -> Predicate<S>
Require no owned value for this generated field.
Sourcepub fn eq_field<Owner2, V2>(
self,
other: BoundField<S, Owner2, V2>,
) -> Predicate<S>where
Owner2: Model<Schema = S>,
V: QueryValued,
V2: QueryValued<Domain = V::Domain>,
pub fn eq_field<Owner2, V2>(
self,
other: BoundField<S, Owner2, V2>,
) -> Predicate<S>where
Owner2: Model<Schema = S>,
V: QueryValued,
V2: QueryValued<Domain = V::Domain>,
Compare for equality against another bound field in the same canonical scalar domain; the comparison carries no literal.
Sourcepub fn ne_field<Owner2, V2>(
self,
other: BoundField<S, Owner2, V2>,
) -> Predicate<S>where
Owner2: Model<Schema = S>,
V: QueryValued,
V2: QueryValued<Domain = V::Domain>,
pub fn ne_field<Owner2, V2>(
self,
other: BoundField<S, Owner2, V2>,
) -> Predicate<S>where
Owner2: Model<Schema = S>,
V: QueryValued,
V2: QueryValued<Domain = V::Domain>,
Compare for inequality against another bound field in the same canonical scalar domain.
Sourcepub fn lt_field<Owner2, V2>(
self,
other: BoundField<S, Owner2, V2>,
) -> Predicate<S>where
Owner2: Model<Schema = S>,
V: QueryValued + OrderedValued,
V2: QueryValued<Domain = V::Domain> + OrderedValued,
pub fn lt_field<Owner2, V2>(
self,
other: BoundField<S, Owner2, V2>,
) -> Predicate<S>where
Owner2: Model<Schema = S>,
V: QueryValued + OrderedValued,
V2: QueryValued<Domain = V::Domain> + OrderedValued,
Compare as less than another bound field in the same ordered canonical scalar domain.
Sourcepub fn le_field<Owner2, V2>(
self,
other: BoundField<S, Owner2, V2>,
) -> Predicate<S>where
Owner2: Model<Schema = S>,
V: QueryValued + OrderedValued,
V2: QueryValued<Domain = V::Domain> + OrderedValued,
pub fn le_field<Owner2, V2>(
self,
other: BoundField<S, Owner2, V2>,
) -> Predicate<S>where
Owner2: Model<Schema = S>,
V: QueryValued + OrderedValued,
V2: QueryValued<Domain = V::Domain> + OrderedValued,
Compare as less than or equal to another bound field in the same ordered canonical scalar domain.
Sourcepub fn gt_field<Owner2, V2>(
self,
other: BoundField<S, Owner2, V2>,
) -> Predicate<S>where
Owner2: Model<Schema = S>,
V: QueryValued + OrderedValued,
V2: QueryValued<Domain = V::Domain> + OrderedValued,
pub fn gt_field<Owner2, V2>(
self,
other: BoundField<S, Owner2, V2>,
) -> Predicate<S>where
Owner2: Model<Schema = S>,
V: QueryValued + OrderedValued,
V2: QueryValued<Domain = V::Domain> + OrderedValued,
Compare as greater than another bound field in the same ordered canonical scalar domain.
Sourcepub fn ge_field<Owner2, V2>(
self,
other: BoundField<S, Owner2, V2>,
) -> Predicate<S>where
Owner2: Model<Schema = S>,
V: QueryValued + OrderedValued,
V2: QueryValued<Domain = V::Domain> + OrderedValued,
pub fn ge_field<Owner2, V2>(
self,
other: BoundField<S, Owner2, V2>,
) -> Predicate<S>where
Owner2: Model<Schema = S>,
V: QueryValued + OrderedValued,
V2: QueryValued<Domain = V::Domain> + OrderedValued,
Compare as greater than or equal to another bound field in the same ordered canonical scalar domain.
Trait Implementations§
impl<S: Schema, Owner: Model<Schema = S>, V> Copy for BoundField<S, Owner, V>
Auto Trait Implementations§
impl<S, Owner, V> Freeze for BoundField<S, Owner, V>
impl<S, Owner, V> RefUnwindSafe for BoundField<S, Owner, V>
impl<S, Owner, V> Send for BoundField<S, Owner, V>
impl<S, Owner, V> Sync for BoundField<S, Owner, V>
impl<S, Owner, V> Unpin for BoundField<S, Owner, V>
impl<S, Owner, V> UnsafeUnpin for BoundField<S, Owner, V>
impl<S, Owner, V> UnwindSafe for BoundField<S, Owner, V>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request