Path: blob/main/crates/polars-arrow/src/io/ipc/read/array/null.rs
6940 views
use std::collections::VecDeque;12use polars_error::{PolarsResult, polars_err};34use super::super::Node;5use crate::array::NullArray;6use crate::datatypes::ArrowDataType;7use crate::io::ipc::read::array::{try_get_array_length, try_get_field_node};89pub fn read_null(10field_nodes: &mut VecDeque<Node>,11dtype: ArrowDataType,12limit: Option<usize>,13) -> PolarsResult<NullArray> {14let field_node = try_get_field_node(field_nodes, &dtype)?;1516let length = try_get_array_length(field_node, limit)?;1718NullArray::try_new(dtype, length)19}2021pub fn skip_null(field_nodes: &mut VecDeque<Node>) -> PolarsResult<()> {22let _ = field_nodes.pop_front().ok_or_else(|| {23polars_err!(24oos = "IPC: unable to fetch the field for null. The file or stream is corrupted."25)26})?;27Ok(())28}293031