vortex_runend/compute/
fill_null.rs1use vortex_array::ArrayRef;
5use vortex_array::IntoArray;
6use vortex_array::compute::FillNullKernel;
7use vortex_array::compute::FillNullKernelAdapter;
8use vortex_array::compute::fill_null;
9use vortex_array::register_kernel;
10use vortex_error::VortexResult;
11use vortex_scalar::Scalar;
12
13use crate::RunEndArray;
14use crate::RunEndVTable;
15
16impl FillNullKernel for RunEndVTable {
17 fn fill_null(&self, array: &RunEndArray, fill_value: &Scalar) -> VortexResult<ArrayRef> {
18 unsafe {
20 Ok(RunEndArray::new_unchecked(
21 array.ends().clone(),
22 fill_null(array.values(), fill_value)?,
23 array.offset(),
24 array.len(),
25 )
26 .into_array())
27 }
28 }
29}
30
31register_kernel!(FillNullKernelAdapter(RunEndVTable).lift());