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());