pub struct MultiStatisticalConstraint { /* private fields */ }Expand description
A constraint that can compute multiple statistics in a single query for performance optimization.
This is useful when you need to validate multiple statistics on the same column, as it reduces the number of table scans required.
§Examples
use term_guard::constraints::{MultiStatisticalConstraint, StatisticType, Assertion};
// Check multiple statistics on the same column in one pass
let multi_stats = MultiStatisticalConstraint::new(
"response_time",
vec![
(StatisticType::Min, Assertion::GreaterThanOrEqual(0.0)),
(StatisticType::Max, Assertion::LessThan(5000.0)),
(StatisticType::Mean, Assertion::Between(100.0, 1000.0)),
(StatisticType::Percentile(0.95), Assertion::LessThan(2000.0)),
]
)?;Implementations§
Trait Implementations§
Source§impl Clone for MultiStatisticalConstraint
impl Clone for MultiStatisticalConstraint
Source§fn clone(&self) -> MultiStatisticalConstraint
fn clone(&self) -> MultiStatisticalConstraint
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Constraint for MultiStatisticalConstraint
impl Constraint for MultiStatisticalConstraint
Source§fn evaluate<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: &'life1 SessionContext,
) -> Pin<Box<dyn Future<Output = Result<ConstraintResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn evaluate<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: &'life1 SessionContext,
) -> Pin<Box<dyn Future<Output = Result<ConstraintResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Evaluates the constraint against the data in the session context. Read more
Source§fn column(&self) -> Option<&str>
fn column(&self) -> Option<&str>
Returns the column this constraint operates on (if single-column). Read more
Source§fn metadata(&self) -> ConstraintMetadata
fn metadata(&self) -> ConstraintMetadata
Returns the metadata associated with this constraint. Read more
Auto Trait Implementations§
impl Freeze for MultiStatisticalConstraint
impl RefUnwindSafe for MultiStatisticalConstraint
impl Send for MultiStatisticalConstraint
impl Sync for MultiStatisticalConstraint
impl Unpin for MultiStatisticalConstraint
impl UnwindSafe for MultiStatisticalConstraint
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
Mutably borrows from an owned value. Read more
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>
Converts
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>
Converts
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 more