Struct mz_expr::relation::LetRecLimit
source · pub struct LetRecLimit {
pub max_iters: NonZeroU64,
pub return_at_limit: bool,
}
Expand description
Maximum iterations for a LetRec.
Fields§
§max_iters: NonZeroU64
Maximum number of iterations to evaluate.
return_at_limit: bool
Whether to throw an error when reaching the above limit. If true, we simply use the current contents of each Id as the final result.
Implementations§
source§impl LetRecLimit
impl LetRecLimit
sourcepub fn min_max_iter(limits: &Vec<Option<LetRecLimit>>) -> Option<u64>
pub fn min_max_iter(limits: &Vec<Option<LetRecLimit>>) -> Option<u64>
Compute the smallest limit from a Vec of LetRecLimit
s.
sourcepub const RETURN_AT_LIMIT_DEFAULT: bool = false
pub const RETURN_AT_LIMIT_DEFAULT: bool = false
The default value of LetRecLimit::return_at_limit
when using the RECURSION LIMIT option of
WMR without ERROR AT or RETURN AT.
Trait Implementations§
source§impl Arbitrary for LetRecLimit
impl Arbitrary for LetRecLimit
§type Parameters = (<NonZero<u64> as Arbitrary>::Parameters, <bool as Arbitrary>::Parameters)
type Parameters = (<NonZero<u64> as Arbitrary>::Parameters, <bool as Arbitrary>::Parameters)
The type of parameters that
arbitrary_with
accepts for configuration
of the generated Strategy
. Parameters must implement Default
.§type Strategy = Map<(<NonZero<u64> as Arbitrary>::Strategy, <bool as Arbitrary>::Strategy), fn(_: (NonZero<u64>, bool)) -> LetRecLimit>
type Strategy = Map<(<NonZero<u64> as Arbitrary>::Strategy, <bool as Arbitrary>::Strategy), fn(_: (NonZero<u64>, bool)) -> LetRecLimit>
The type of
Strategy
used to generate values of type Self
.source§fn arbitrary_with(_top: Self::Parameters) -> Self::Strategy
fn arbitrary_with(_top: Self::Parameters) -> Self::Strategy
source§impl Clone for LetRecLimit
impl Clone for LetRecLimit
source§fn clone(&self) -> LetRecLimit
fn clone(&self) -> LetRecLimit
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 LetRecLimit
impl Debug for LetRecLimit
source§impl<'de> Deserialize<'de> for LetRecLimit
impl<'de> Deserialize<'de> for LetRecLimit
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl Display for LetRecLimit
impl Display for LetRecLimit
source§impl Hash for LetRecLimit
impl Hash for LetRecLimit
source§impl Ord for LetRecLimit
impl Ord for LetRecLimit
source§fn cmp(&self, other: &LetRecLimit) -> Ordering
fn cmp(&self, other: &LetRecLimit) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
source§impl PartialEq for LetRecLimit
impl PartialEq for LetRecLimit
source§impl PartialOrd for LetRecLimit
impl PartialOrd for LetRecLimit
source§impl Serialize for LetRecLimit
impl Serialize for LetRecLimit
impl Copy for LetRecLimit
impl Eq for LetRecLimit
impl StructuralPartialEq for LetRecLimit
Auto Trait Implementations§
impl Freeze for LetRecLimit
impl RefUnwindSafe for LetRecLimit
impl Send for LetRecLimit
impl Sync for LetRecLimit
impl Unpin for LetRecLimit
impl UnwindSafe for LetRecLimit
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§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<T> CloneToUninit for Twhere
T: Copy,
impl<T> CloneToUninit for Twhere
T: Copy,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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::Request
source§impl<T, U> OverrideFrom<Option<&T>> for Uwhere
U: OverrideFrom<T>,
impl<T, U> OverrideFrom<Option<&T>> for Uwhere
U: OverrideFrom<T>,
source§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T> PreferredContainer for T
impl<T> PreferredContainer for T
source§impl<T> ProgressEventTimestamp for T
impl<T> ProgressEventTimestamp 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
.source§impl<'a, S, T> Semigroup<&'a S> for Twhere
T: Semigroup<S>,
impl<'a, S, T> Semigroup<&'a S> for Twhere
T: Semigroup<S>,
source§fn plus_equals(&mut self, rhs: &&'a S)
fn plus_equals(&mut self, rhs: &&'a S)
The method of
std::ops::AddAssign
, for types that do not implement AddAssign
.