vortex_runend/compute/
fill_null.rs1use vortex_array::ArrayRef;
5use vortex_array::ArrayView;
6use vortex_array::IntoArray;
7use vortex_array::builtins::ArrayBuiltins;
8use vortex_array::scalar::Scalar;
9use vortex_array::scalar_fn::fns::fill_null::FillNullReduce;
10use vortex_error::VortexResult;
11
12use crate::RunEnd;
13use crate::array::RunEndArrayExt;
14
15impl FillNullReduce for RunEnd {
16 fn fill_null(
17 array: ArrayView<'_, Self>,
18 fill_value: &Scalar,
19 ) -> VortexResult<Option<ArrayRef>> {
20 let new_values = array.values().fill_null(fill_value.clone())?;
21 Ok(Some(
23 unsafe {
24 RunEnd::new_unchecked(
25 array.ends().clone(),
26 new_values,
27 array.offset(),
28 array.len(),
29 )
30 }
31 .into_array(),
32 ))
33 }
34}