pub enum PartialState {
Count(i64),
Sum(f64),
Avg {
sum: f64,
count: i64,
},
Min(Option<f64>),
Max(Option<f64>),
ApproxDistinct(Vec<u8>),
}Expand description
Intermediate partial state for a single aggregate function.
Each variant carries the minimum state needed for the merge step to produce a correct final result.
Variants§
Count(i64)
Partial count.
Sum(f64)
Partial sum.
Avg
Partial average as (running sum, running count).
Min(Option<f64>)
Partial minimum.
Max(Option<f64>)
Partial maximum.
ApproxDistinct(Vec<u8>)
HyperLogLog sketch bytes for approximate distinct count.
Implementations§
Source§impl PartialState
impl PartialState
Sourcepub fn to_aggregate_state(&self) -> AggregateState
pub fn to_aggregate_state(&self) -> AggregateState
Convert to the gossip AggregateState for cluster replication.
Sourcepub fn from_aggregate_state(state: &AggregateState) -> Self
pub fn from_aggregate_state(state: &AggregateState) -> Self
Convert from a gossip AggregateState.
Source§impl PartialState
impl PartialState
Sourcepub fn empty(kind: TwoPhaseKind) -> Self
pub fn empty(kind: TwoPhaseKind) -> Self
Create an empty state for the given function kind.
Trait Implementations§
Source§impl Clone for PartialState
impl Clone for PartialState
Source§fn clone(&self) -> PartialState
fn clone(&self) -> PartialState
Returns a duplicate 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 PartialState
impl Debug for PartialState
Source§impl<'de> Deserialize<'de> for PartialState
impl<'de> Deserialize<'de> for PartialState
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 PartialEq for PartialState
impl PartialEq for PartialState
Source§impl Serialize for PartialState
impl Serialize for PartialState
impl StructuralPartialEq for PartialState
Auto Trait Implementations§
impl Freeze for PartialState
impl RefUnwindSafe for PartialState
impl Send for PartialState
impl Sync for PartialState
impl Unpin for PartialState
impl UnsafeUnpin for PartialState
impl UnwindSafe for PartialState
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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,
§impl<T> Code for Twhere
T: Serialize + DeserializeOwned,
impl<T> Code for Twhere
T: Serialize + DeserializeOwned,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.