Path: blob/main/crates/polars-arrow/src/legacy/array/null.rs
6939 views
use std::any::Any;12use crate::array::{Array, MutableArray, NullArray};3use crate::bitmap::MutableBitmap;4use crate::datatypes::ArrowDataType;56#[derive(Debug, Default, Clone)]7pub struct MutableNullArray {8len: usize,9}1011impl MutableArray for MutableNullArray {12fn dtype(&self) -> &ArrowDataType {13&ArrowDataType::Null14}1516fn len(&self) -> usize {17self.len18}1920fn validity(&self) -> Option<&MutableBitmap> {21None22}2324fn as_box(&mut self) -> Box<dyn Array> {25Box::new(NullArray::new_null(ArrowDataType::Null, self.len))26}2728fn as_any(&self) -> &dyn Any {29self30}3132fn as_mut_any(&mut self) -> &mut dyn Any {33self34}3536fn push_null(&mut self) {37self.len += 1;38}3940fn reserve(&mut self, _additional: usize) {41// no-op42}4344fn shrink_to_fit(&mut self) {45// no-op46}47}4849impl MutableNullArray {50pub fn new(len: usize) -> Self {51MutableNullArray { len }52}5354pub fn extend_nulls(&mut self, null_count: usize) {55self.len += null_count;56}57}585960