From e66106568cdaa8a6088782d69d8b3267b0474cb8 Mon Sep 17 00:00:00 2001 From: Jorge Leitao Date: Fri, 12 Nov 2021 07:06:57 +0100 Subject: [PATCH] Improved performance of is_no_null. (#600) --- src/compute/boolean.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/compute/boolean.rs b/src/compute/boolean.rs index 2977ef03582..bd6b9be8e6d 100644 --- a/src/compute/boolean.rs +++ b/src/compute/boolean.rs @@ -124,7 +124,11 @@ pub fn is_null(input: &dyn Array) -> BooleanArray { /// ``` pub fn is_not_null(input: &dyn Array) -> BooleanArray { let values = match input.validity() { - None => Bitmap::from_trusted_len_iter(std::iter::repeat(true).take(input.len())), + None => { + let mut mutable = MutableBitmap::new(); + mutable.extend_constant(input.len(), true); + mutable.into() + } Some(buffer) => buffer.clone(), }; BooleanArray::from_data(DataType::Boolean, values, None)