From 3e1415201555bc7b60f606d9f4bcef376abcd415 Mon Sep 17 00:00:00 2001 From: Andrew Lamb Date: Thu, 15 Jan 2026 08:09:05 -0500 Subject: [PATCH] Avoid a clone when creating `NullArry` from ArrayData --- arrow-array/src/array/null_array.rs | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/arrow-array/src/array/null_array.rs b/arrow-array/src/array/null_array.rs index b682466b6738..18c155b78bf4 100644 --- a/arrow-array/src/array/null_array.rs +++ b/arrow-array/src/array/null_array.rs @@ -138,21 +138,19 @@ impl Array for NullArray { impl From for NullArray { fn from(data: ArrayData) -> Self { + let (data_type, len, nulls, _offset, buffers, _child_data) = data.into_parts(); + assert_eq!( - data.data_type(), - &DataType::Null, + data_type, + DataType::Null, "NullArray data type should be Null" ); - assert_eq!( - data.buffers().len(), - 0, - "NullArray data should contain 0 buffers" - ); + assert_eq!(buffers.len(), 0, "NullArray data should contain 0 buffers"); assert!( - data.nulls().is_none(), + nulls.is_none(), "NullArray data should not contain a null buffer, as no buffers are required" ); - Self { len: data.len() } + Self { len } } }