pub trait FilterKernel: VTable {
// Required method
fn filter(
&self,
array: &Self::Array,
selection_mask: &Mask,
) -> VortexResult<ArrayRef>;
}
Required Methods§
Sourcefn filter(
&self,
array: &Self::Array,
selection_mask: &Mask,
) -> VortexResult<ArrayRef>
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§
impl FilterKernel for BoolVTable
impl FilterKernel for ChunkedVTable
impl FilterKernel for ConstantVTable
impl FilterKernel for DecimalVTable
impl FilterKernel for ExtensionVTable
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.