Enum mz_dataflow_types::plan::reduce::ReductionType
source · [−]pub enum ReductionType {
Accumulable,
Hierarchical,
Basic,
}
Expand description
This enum represents the three potential types of aggregations.
Variants
Accumulable
Accumulable functions can be subtracted from (are invertible), and associative. We can compute these results by moving some data to the diff field under arbitrary changes to inputs. Examples include sum or count.
Hierarchical
Hierarchical functions are associative, which means we can split up the work of computing them across subsets. Note that hierarchical reductions should also reduce the data in some way, as otherwise rendering them hierarchically is not worth it. Examples include min or max.
Basic
Basic, for lack of a better word, are functions that are neither accumulable nor hierarchical. Examples include jsonb_agg.
Trait Implementations
sourceimpl Clone for ReductionType
impl Clone for ReductionType
sourcefn clone(&self) -> ReductionType
fn clone(&self) -> ReductionType
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for ReductionType
impl Debug for ReductionType
sourceimpl<'de> Deserialize<'de> for ReductionType
impl<'de> Deserialize<'de> for ReductionType
sourcefn 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
sourceimpl Hash for ReductionType
impl Hash for ReductionType
sourceimpl Ord for ReductionType
impl Ord for ReductionType
sourceimpl PartialEq<ReductionType> for ReductionType
impl PartialEq<ReductionType> for ReductionType
sourceimpl PartialOrd<ReductionType> for ReductionType
impl PartialOrd<ReductionType> for ReductionType
sourcefn partial_cmp(&self, other: &ReductionType) -> Option<Ordering>
fn partial_cmp(&self, other: &ReductionType) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
sourceimpl RustType<ProtoReductionType> for ReductionType
impl RustType<ProtoReductionType> for ReductionType
sourcefn into_proto(&self) -> ProtoReductionType
fn into_proto(&self) -> ProtoReductionType
Convert a Self
into a Proto
value.
sourcefn from_proto(proto: ProtoReductionType) -> Result<Self, TryFromProtoError>
fn from_proto(proto: ProtoReductionType) -> Result<Self, TryFromProtoError>
Consume and convert a Proto
back into a Self
value. Read more
sourceimpl Serialize for ReductionType
impl Serialize for ReductionType
impl Copy for ReductionType
impl Eq for ReductionType
impl StructuralEq for ReductionType
impl StructuralPartialEq for ReductionType
Auto Trait Implementations
impl RefUnwindSafe for ReductionType
impl Send for ReductionType
impl Sync for ReductionType
impl Unpin for ReductionType
impl UnwindSafe for ReductionType
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> CallHasher for T where
T: Hash + ?Sized,
impl<T> CallHasher for T where
T: Hash + ?Sized,
sourceimpl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to key
and return true
if they are equal.
sourceimpl<T> FutureExt for T
impl<T> FutureExt for T
sourcefn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
sourcefn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
sourcefn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message T
in a tonic::Request
sourceimpl<T> ProgressEventTimestamp for T where
T: Data + Debug + Any,
impl<T> ProgressEventTimestamp for T where
T: Data + Debug + Any,
sourceimpl<P, R> ProtoType<R> for P where
R: RustType<P>,
impl<P, R> ProtoType<R> for P where
R: RustType<P>,
sourcefn into_rust(self) -> Result<R, TryFromProtoError>
fn into_rust(self) -> Result<R, TryFromProtoError>
See RustType::from_proto
.
sourcefn from_rust(rust: &R) -> P
fn from_rust(rust: &R) -> P
See RustType::into_proto
.
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more