pub struct DistinctOperator { /* private fields */ }Expand description
Distinct operator.
Removes duplicate rows from the input. Can operate on all columns or a subset.
Implementations§
Source§impl DistinctOperator
impl DistinctOperator
Sourcepub fn new(child: Box<dyn Operator>, output_schema: Vec<LogicalType>) -> Self
pub fn new(child: Box<dyn Operator>, output_schema: Vec<LogicalType>) -> Self
Creates a new distinct operator that considers all columns.
Sourcepub fn into_parts(self) -> (Box<dyn Operator>, Option<Vec<usize>>)
pub fn into_parts(self) -> (Box<dyn Operator>, Option<Vec<usize>>)
Decomposes this operator for push-based conversion.
Sourcepub fn on_columns(
child: Box<dyn Operator>,
columns: Vec<usize>,
output_schema: Vec<LogicalType>,
) -> Self
pub fn on_columns( child: Box<dyn Operator>, columns: Vec<usize>, output_schema: Vec<LogicalType>, ) -> Self
Creates a distinct operator that considers only specified columns.
Trait Implementations§
Source§impl Operator for DistinctOperator
impl Operator for DistinctOperator
Source§fn next(&mut self) -> OperatorResult
fn next(&mut self) -> OperatorResult
Pulls the next batch of data. Returns
None when exhausted. Read moreAuto Trait Implementations§
impl Freeze for DistinctOperator
impl !RefUnwindSafe for DistinctOperator
impl Send for DistinctOperator
impl Sync for DistinctOperator
impl Unpin for DistinctOperator
impl UnsafeUnpin for DistinctOperator
impl !UnwindSafe for DistinctOperator
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<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