Skip to main content

DistinctMaterializingOperator

Struct DistinctMaterializingOperator 

Source
pub struct DistinctMaterializingOperator { /* private fields */ }
Expand description

Push-based distinct operator that materializes all input first.

This is a true pipeline breaker that buffers all rows and produces distinct output in the finalize phase. Use this when you need deterministic ordering of output.

Implementations§

Source§

impl DistinctMaterializingOperator

Source

pub fn new() -> Self

Create a distinct operator on all columns.

Source

pub fn on_columns(columns: Vec<usize>) -> Self

Create a distinct operator on specific columns.

Trait Implementations§

Source§

impl Default for DistinctMaterializingOperator

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl PushOperator for DistinctMaterializingOperator

Source§

fn push( &mut self, chunk: DataChunk, _sink: &mut dyn Sink, ) -> Result<bool, OperatorError>

Process an incoming chunk and push results to the sink. Read more
Source§

fn finalize(&mut self, sink: &mut dyn Sink) -> Result<(), OperatorError>

Called when all input has been processed. Read more
Source§

fn preferred_chunk_size(&self) -> ChunkSizeHint

Hint for preferred chunk size.
Source§

fn name(&self) -> &'static str

Name of this operator for debugging.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.