Struct mz_compute_client::plan::reduce::CollationPlan
source · pub struct CollationPlan {
pub accumulable: Option<AccumulablePlan>,
pub hierarchical: Option<HierarchicalPlan>,
pub basic: Option<BasicPlan>,
pub aggregate_types: Vec<ReductionType>,
}
Expand description
Plan for collating the results of computing multiple aggregation types.
TODO: could we express this as a delta join
Fields§
§accumulable: Option<AccumulablePlan>
Accumulable aggregation results to collate, if any.
hierarchical: Option<HierarchicalPlan>
Hierarchical aggregation results to collate, if any.
basic: Option<BasicPlan>
Basic aggregation results to collate, if any.
aggregate_types: Vec<ReductionType>
When we get results back from each of the different aggregation types, they will be subsequences of the sequence aggregations in the original reduce expression. We keep a map from output position -> reduction type to easily merge results back into the requested order.
Implementations§
source§impl CollationPlan
impl CollationPlan
sourcepub fn as_monotonic(&mut self, must_consolidate: bool)
pub fn as_monotonic(&mut self, must_consolidate: bool)
Upgrades the hierarchical component of the collation plan to monotonic, if necessary, and sets consolidation requirements.
Trait Implementations§
source§impl Clone for CollationPlan
impl Clone for CollationPlan
source§fn clone(&self) -> CollationPlan
fn clone(&self) -> CollationPlan
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 CollationPlan
impl Debug for CollationPlan
source§impl Default for CollationPlan
impl Default for CollationPlan
source§fn default() -> CollationPlan
fn default() -> CollationPlan
Returns the “default value” for a type. Read more
source§impl<'de> Deserialize<'de> for CollationPlan
impl<'de> Deserialize<'de> for CollationPlan
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 CollationPlan
impl DisplayText<PlanRenderingContext<'_, Plan<Timestamp>>> for CollationPlan
source§impl PartialEq<CollationPlan> for CollationPlan
impl PartialEq<CollationPlan> for CollationPlan
source§fn eq(&self, other: &CollationPlan) -> bool
fn eq(&self, other: &CollationPlan) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl RustType<ProtoCollationPlan> for CollationPlan
impl RustType<ProtoCollationPlan> for CollationPlan
source§fn into_proto(&self) -> ProtoCollationPlan
fn into_proto(&self) -> ProtoCollationPlan
Convert a
Self
into a Proto
value.source§fn from_proto(proto: ProtoCollationPlan) -> Result<Self, TryFromProtoError>
fn from_proto(proto: ProtoCollationPlan) -> Result<Self, TryFromProtoError>
source§impl Serialize for CollationPlan
impl Serialize for CollationPlan
impl Eq for CollationPlan
impl StructuralEq for CollationPlan
impl StructuralPartialEq for CollationPlan
Auto Trait Implementations§
impl RefUnwindSafe for CollationPlan
impl Send for CollationPlan
impl Sync for CollationPlan
impl Unpin for CollationPlan
impl UnwindSafe for CollationPlan
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
.