FilterKernel

Trait FilterKernel 

Source
pub trait FilterKernel: VTable {
    // Required method
    fn filter(
        &self,
        array: &Self::Array,
        selection_mask: &Mask,
    ) -> VortexResult<ArrayRef>;
}

Required Methods§

Source

fn filter( &self, array: &Self::Array, selection_mask: &Mask, ) -> VortexResult<ArrayRef>

Filter an array by the provided predicate.

§Preconditions

The entrypoint filter functions will handle Mask::AllTrue and Mask::AllFalse on the selection mask, leaving only Mask::Values to be handled by this function.

Additionally, the array length is guaranteed to have the same length as the selection mask.

Finally, the array validity mask is guaranteed not to have a true count of 0 (all nulls).

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl FilterKernel for BoolVTable

Source§

impl FilterKernel for ChunkedVTable

Source§

impl FilterKernel for ConstantVTable

Source§

impl FilterKernel for DecimalVTable

Source§

impl FilterKernel for ExtensionVTable

Source§

impl FilterKernel for FixedSizeListVTable

Filter implementation for FixedSizeListArray.

Expands the selection mask to cover all elements within selected lists and pushes the expanded mask down to the child elements array.

Source§

impl FilterKernel for ListVTable

Source§

impl FilterKernel for NullVTable

Source§

impl FilterKernel for PrimitiveVTable

Source§

impl FilterKernel for StructVTable

Source§

impl FilterKernel for VarBinVTable

Source§

impl FilterKernel for VarBinViewVTable