Struct mz_sql::query_model::validator::quantifier::QuantifierConstraint
source · pub struct QuantifierConstraint {
min: Bound<usize>,
max: Bound<usize>,
allowed_types: QuantifierType,
select_input: bool,
select_parent: bool,
}Expand description
A model for constraints imposed on the input or ranging quantifiers of a query box.
Fields§
§min: Bound<usize>Lower bound for the number of allowed quantifiers that match the allowed_types bitmask.
max: Bound<usize>Upper bound for the number of allowed quantifiers that match the allowed_types bitmask.
allowed_types: QuantifierTypeThe allowed QuantifierType variant discriminants.
select_input: boolIndicates whether the input of a quantifier with an allowed_type must be a select box.
select_parent: boolIndicates whether the parent of a quantifier with an allowed_type must be a select box.
Implementations§
source§impl QuantifierConstraint
impl QuantifierConstraint
sourcefn satisfies_q_type<'a>(&self, quantifier: &'a Quantifier) -> bool
fn satisfies_q_type<'a>(&self, quantifier: &'a Quantifier) -> bool
Check if the given Quantifier satisfy the allowed_types of the this constraint.
sourcefn satisfies_b_type<'a>(
&self,
quantifier: &'a Quantifier,
model: &'a Model
) -> bool
fn satisfies_b_type<'a>(
&self,
quantifier: &'a Quantifier,
model: &'a Model
) -> bool
Check if the boxes referenced by the given Quantifier satisfy the input_is_select
and parent_is_select of the this constraint.
Trait Implementations§
source§impl Clone for QuantifierConstraint
impl Clone for QuantifierConstraint
source§fn clone(&self) -> QuantifierConstraint
fn clone(&self) -> QuantifierConstraint
Returns a copy 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 Debug for QuantifierConstraint
impl Debug for QuantifierConstraint
source§impl Hash for QuantifierConstraint
impl Hash for QuantifierConstraint
source§impl PartialEq<QuantifierConstraint> for QuantifierConstraint
impl PartialEq<QuantifierConstraint> for QuantifierConstraint
source§fn eq(&self, other: &QuantifierConstraint) -> bool
fn eq(&self, other: &QuantifierConstraint) -> bool
This method tests for
self and other values to be equal, and is used
by ==.source§impl RangeBounds<usize> for QuantifierConstraint
impl RangeBounds<usize> for QuantifierConstraint
1.35.0 · source§fn contains<U>(&self, item: &U) -> boolwhere
T: PartialOrd<U>,
U: PartialOrd<T> + ?Sized,
fn contains<U>(&self, item: &U) -> boolwhere
T: PartialOrd<U>,
U: PartialOrd<T> + ?Sized,
impl Eq for QuantifierConstraint
impl StructuralEq for QuantifierConstraint
impl StructuralPartialEq for QuantifierConstraint
Auto Trait Implementations§
impl RefUnwindSafe for QuantifierConstraint
impl Send for QuantifierConstraint
impl Sync for QuantifierConstraint
impl Unpin for QuantifierConstraint
impl UnwindSafe for QuantifierConstraint
Blanket Implementations§
source§impl<T> CloneDebuggableStorage for Twhere
T: DebuggableStorage + Clone,
impl<T> CloneDebuggableStorage for Twhere
T: DebuggableStorage + Clone,
fn clone_storage(&self) -> Box<dyn CloneDebuggableStorage + 'static, Global>
source§impl<T> CloneableStorage for Twhere
T: Any + Send + Sync + Clone,
impl<T> CloneableStorage for Twhere
T: Any + Send + Sync + Clone,
fn clone_storage(&self) -> Box<dyn CloneableStorage + 'static, Global>
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.source§impl<T> FutureExt for T
impl<T> FutureExt for T
source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Requestsource§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<P, R> ProtoType<R> for Pwhere
R: RustType<P>,
impl<P, R> ProtoType<R> for Pwhere
R: RustType<P>,
source§fn into_rust(self) -> Result<R, TryFromProtoError>
fn into_rust(self) -> Result<R, TryFromProtoError>
See
RustType::from_proto.source§fn from_rust(rust: &R) -> P
fn from_rust(rust: &R) -> P
See
RustType::into_proto.