Struct datafusion_physical_expr_common::aggregate::count_distinct::BytesDistinctCountAccumulator
source · pub struct BytesDistinctCountAccumulator<O: OffsetSizeTrait>(/* private fields */);
Expand description
Specialized implementation of
COUNT DISTINCT
for StringArray
LargeStringArray
,
BinaryArray
and LargeBinaryArray
.
Implementations§
source§impl<O: OffsetSizeTrait> BytesDistinctCountAccumulator<O>
impl<O: OffsetSizeTrait> BytesDistinctCountAccumulator<O>
pub fn new(output_type: OutputType) -> Self
Trait Implementations§
source§impl<O: OffsetSizeTrait> Accumulator for BytesDistinctCountAccumulator<O>
impl<O: OffsetSizeTrait> Accumulator for BytesDistinctCountAccumulator<O>
source§fn state(&mut self) -> Result<Vec<ScalarValue>>
fn state(&mut self) -> Result<Vec<ScalarValue>>
Returns the intermediate state of the accumulator, consuming the
intermediate state. Read more
source§fn update_batch(&mut self, values: &[ArrayRef]) -> Result<()>
fn update_batch(&mut self, values: &[ArrayRef]) -> Result<()>
Updates the accumulator’s state from its input. Read more
source§fn merge_batch(&mut self, states: &[ArrayRef]) -> Result<()>
fn merge_batch(&mut self, states: &[ArrayRef]) -> Result<()>
Updates the accumulator’s state from an
Array
containing one
or more intermediate values. Read moresource§fn evaluate(&mut self) -> Result<ScalarValue>
fn evaluate(&mut self) -> Result<ScalarValue>
Returns the final aggregate value, consuming the internal state. Read more
source§fn size(&self) -> usize
fn size(&self) -> usize
Returns the allocated size required for this accumulator, in
bytes, including
Self
. Read moresource§fn retract_batch(
&mut self,
_values: &[Arc<dyn Array>],
) -> Result<(), DataFusionError>
fn retract_batch( &mut self, _values: &[Arc<dyn Array>], ) -> Result<(), DataFusionError>
Retracts (removed) an update (caused by the given inputs) to
accumulator’s state. Read more
source§fn supports_retract_batch(&self) -> bool
fn supports_retract_batch(&self) -> bool
Does the accumulator support incrementally updating its value
by removing values. Read more
Auto Trait Implementations§
impl<O> Freeze for BytesDistinctCountAccumulator<O>
impl<O> RefUnwindSafe for BytesDistinctCountAccumulator<O>where
O: RefUnwindSafe,
impl<O> Send for BytesDistinctCountAccumulator<O>
impl<O> Sync for BytesDistinctCountAccumulator<O>
impl<O> Unpin for BytesDistinctCountAccumulator<O>where
O: Unpin,
impl<O> UnwindSafe for BytesDistinctCountAccumulator<O>where
O: UnwindSafe,
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