Skip to content

Commit 6a11488

Browse files
authored
Fallback fill_null to canonical array (#1600)
1 parent 0907599 commit 6a11488

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

vortex-array/src/compute/fill_null.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ use vortex_error::{vortex_bail, vortex_err, VortexError, VortexResult};
22
use vortex_scalar::Scalar;
33

44
use crate::encoding::Encoding;
5-
use crate::{ArrayDType, ArrayData};
5+
use crate::{ArrayDType, ArrayData, IntoArrayData, IntoCanonical};
66

77
/// Implementation of fill_null for an encoding.
88
///
@@ -41,9 +41,9 @@ pub fn fill_null(array: impl AsRef<ArrayData>, fill_value: Scalar) -> VortexResu
4141
vortex_bail!(MismatchedTypes: array.dtype(), fill_value.dtype())
4242
}
4343

44-
array
45-
.encoding()
46-
.fill_null_fn()
47-
.map(|f| f.fill_null(array, fill_value))
48-
.unwrap_or_else(|| Err(vortex_err!(NotImplemented: "fill_null", array.encoding().id())))
44+
if let Some(fill_null_fn) = array.encoding().fill_null_fn() {
45+
return fill_null_fn.fill_null(array, fill_value);
46+
}
47+
48+
fill_null(array.clone().into_canonical()?.into_array(), fill_value)
4949
}

0 commit comments

Comments
 (0)