vortex_array/compute/
fill_null.rs1use vortex_error::VortexResult;
5use vortex_error::vortex_ensure;
6
7use crate::Array;
8use crate::ArrayRef;
9use crate::builtins::ArrayBuiltins;
10use crate::scalar::Scalar;
11
12#[deprecated(note = "use array.fill_null(scalar) via ArrayBuiltins instead")]
27pub fn fill_null(array: &dyn Array, fill_value: &Scalar) -> VortexResult<ArrayRef> {
28 vortex_ensure!(
29 !fill_value.is_null(),
30 "fill_null requires a non-null fill value"
31 );
32 let result = array.to_array().fill_null(fill_value.clone())?;
33 debug_assert!(
34 fill_value.dtype().is_nullable() || !result.dtype().is_nullable(),
35 "fill_null with non-nullable fill value must produce a non-nullable result"
36 );
37 Ok(result)
38}