list_elem_len

Function list_elem_len 

Source
pub fn list_elem_len(array: &dyn Array) -> VortexResult<ArrayRef>
Expand description

Returns a new array of u64 representing the length of each list element.

ยงExample

use vortex_array::arrays::{ListArray, VarBinArray};
use vortex_array::{Array, IntoArray};
use vortex_array::compute::{list_elem_len};
use vortex_array::validity::Validity;
use vortex_buffer::buffer;
use vortex_dtype::DType;

let elements = VarBinArray::from_vec(
        vec!["a", "a", "b", "a", "c"], DType::Utf8(false.into())).into_array();
let offsets = buffer![0u32, 1, 3, 5].into_array();
let list_array = ListArray::try_new(elements, offsets, Validity::NonNullable).unwrap();

let lens = list_elem_len(list_array.as_ref()).unwrap();
assert_eq!(lens.scalar_at(0), 1u32.into());
assert_eq!(lens.scalar_at(1), 2u32.into());
assert_eq!(lens.scalar_at(2), 2u32.into());