Enum mz_compute_client::plan::reduce::HierarchicalPlan
source · pub enum HierarchicalPlan {
Monotonic(MonotonicPlan),
Bucketed(BucketedPlan),
}
Expand description
Plan for computing a set of hierarchical aggregations.
In the append-only setting we can render them in-place with monotonic plans, but otherwise, we need to render them with a reduction tree that splits the inputs into small, and then progressively larger, buckets
Variants§
Monotonic(MonotonicPlan)
Plan hierarchical aggregations under monotonic inputs.
Bucketed(BucketedPlan)
Plan for hierarchical aggregations under non-monotonic inputs.
Implementations§
source§impl HierarchicalPlan
impl HierarchicalPlan
sourcepub fn as_monotonic(&mut self, must_consolidate: bool)
pub fn as_monotonic(&mut self, must_consolidate: bool)
Upgrades from a bucketed plan to a monotonic plan, if necessary, and sets consolidation requirements.
Trait Implementations§
source§impl Clone for HierarchicalPlan
impl Clone for HierarchicalPlan
source§fn clone(&self) -> HierarchicalPlan
fn clone(&self) -> HierarchicalPlan
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 HierarchicalPlan
impl Debug for HierarchicalPlan
source§impl<'de> Deserialize<'de> for HierarchicalPlan
impl<'de> Deserialize<'de> for HierarchicalPlan
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 DisplayText<PlanRenderingContext<'_, Plan<Timestamp>>> for HierarchicalPlan
impl DisplayText<PlanRenderingContext<'_, Plan<Timestamp>>> for HierarchicalPlan
source§impl PartialEq<HierarchicalPlan> for HierarchicalPlan
impl PartialEq<HierarchicalPlan> for HierarchicalPlan
source§fn eq(&self, other: &HierarchicalPlan) -> bool
fn eq(&self, other: &HierarchicalPlan) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl RustType<ProtoHierarchicalPlan> for HierarchicalPlan
impl RustType<ProtoHierarchicalPlan> for HierarchicalPlan
source§fn into_proto(&self) -> ProtoHierarchicalPlan
fn into_proto(&self) -> ProtoHierarchicalPlan
Convert a
Self
into a Proto
value.source§fn from_proto(proto: ProtoHierarchicalPlan) -> Result<Self, TryFromProtoError>
fn from_proto(proto: ProtoHierarchicalPlan) -> Result<Self, TryFromProtoError>
source§impl Serialize for HierarchicalPlan
impl Serialize for HierarchicalPlan
impl Eq for HierarchicalPlan
impl StructuralEq for HierarchicalPlan
impl StructuralPartialEq for HierarchicalPlan
Auto Trait Implementations§
impl RefUnwindSafe for HierarchicalPlan
impl Send for HierarchicalPlan
impl Sync for HierarchicalPlan
impl Unpin for HierarchicalPlan
impl UnwindSafe for HierarchicalPlan
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<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<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::Request
source§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
.