vortex_runend/compute/
fill_null.rs

1use vortex_array::compute::{FillNullFn, fill_null};
2use vortex_array::{Array, ArrayRef};
3use vortex_error::VortexResult;
4use vortex_scalar::Scalar;
5
6use crate::{RunEndArray, RunEndEncoding};
7
8impl FillNullFn<&RunEndArray> for RunEndEncoding {
9    fn fill_null(&self, array: &RunEndArray, fill_value: Scalar) -> VortexResult<ArrayRef> {
10        Ok(RunEndArray::with_offset_and_length(
11            array.ends().clone(),
12            fill_null(array.values(), fill_value)?,
13            array.offset(),
14            array.len(),
15        )?
16        .into_array())
17    }
18}