Enum mz_compute_client::plan::reduce::BasicPlan
source · pub enum BasicPlan {
Single(usize, AggregateExpr),
Multiple(Vec<(usize, AggregateExpr)>),
}
Expand description
Plan for computing a set of basic aggregations.
There’s much less complexity when rendering basic aggregations. Each aggregation corresponds to one Differential reduce operator. That’s it. However, we still want to present one final arrangement so basic aggregations present results with the same interface (one arrangement containing a row with all results) that accumulable and hierarchical aggregations do. To provide that, we render an additional reduce operator whenever we have multiple reduce aggregates to combine and present results in the appropriate order. If we were only asked to compute a single aggregation, we can skip that step and return the arrangement provided by computing the aggregation directly.
Variants§
Single(usize, AggregateExpr)
Plan for rendering a single basic aggregation. Here, the first element denotes the index in the set of inputs that we are aggregating over.
Multiple(Vec<(usize, AggregateExpr)>)
Plan for rendering multiple basic aggregations.
These need to then be collated together in an additional
reduction. Each element represents the:
(index of the set of the input we are aggregating over, the aggregation function)
Trait Implementations§
source§impl<'de> Deserialize<'de> for BasicPlan
impl<'de> Deserialize<'de> for BasicPlan
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>,
source§impl DisplayText<PlanRenderingContext<'_, Plan<Timestamp>>> for BasicPlan
impl DisplayText<PlanRenderingContext<'_, Plan<Timestamp>>> for BasicPlan
source§impl PartialEq<BasicPlan> for BasicPlan
impl PartialEq<BasicPlan> for BasicPlan
source§impl RustType<ProtoBasicPlan> for BasicPlan
impl RustType<ProtoBasicPlan> for BasicPlan
source§fn into_proto(&self) -> ProtoBasicPlan
fn into_proto(&self) -> ProtoBasicPlan
Self
into a Proto
value.source§fn from_proto(proto: ProtoBasicPlan) -> Result<Self, TryFromProtoError>
fn from_proto(proto: ProtoBasicPlan) -> Result<Self, TryFromProtoError>
impl Eq for BasicPlan
impl StructuralEq for BasicPlan
impl StructuralPartialEq for BasicPlan
Auto Trait Implementations§
impl RefUnwindSafe for BasicPlan
impl Send for BasicPlan
impl Sync for BasicPlan
impl Unpin for BasicPlan
impl UnwindSafe for BasicPlan
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<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
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
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>
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>
RustType::from_proto
.source§fn from_rust(rust: &R) -> P
fn from_rust(rust: &R) -> P
RustType::into_proto
.