diff --git a/arrow-array/src/array/mod.rs b/arrow-array/src/array/mod.rs index 50c5699bac32..e0ebd6678756 100644 --- a/arrow-array/src/array/mod.rs +++ b/arrow-array/src/array/mod.rs @@ -1026,17 +1026,6 @@ mod tests { ); } - #[test] - fn test_memory_size_primitive_sliced() { - let arr = PrimitiveArray::::from_iter_values(0..128); - let slice1 = arr.slice(0, 64); - let slice2 = arr.slice(64, 64); - - // both slices report the full buffer memory usage, even though the buffers are shared - assert_eq!(slice1.get_array_memory_size(), arr.get_array_memory_size()); - assert_eq!(slice2.get_array_memory_size(), arr.get_array_memory_size()); - } - #[test] fn test_memory_size_primitive_nullable() { let arr: PrimitiveArray = (0..128) diff --git a/arrow-buffer/src/buffer/immutable.rs b/arrow-buffer/src/buffer/immutable.rs index 8d1a46583fca..b703bd7d54f8 100644 --- a/arrow-buffer/src/buffer/immutable.rs +++ b/arrow-buffer/src/buffer/immutable.rs @@ -164,7 +164,7 @@ impl Buffer { /// For externally owned buffers, this returns zero #[inline] pub fn capacity(&self) -> usize { - self.data.capacity() + self.length + self.data.capacity() - self.data.len() } /// Returns whether the buffer is empty.