polars_compute/gather/
binview.rs

1use arrow::array::BinaryViewArray;
2
3use self::primitive::take_values_and_validity_unchecked;
4use super::*;
5
6/// # Safety
7/// No bound checks
8pub(super) unsafe fn take_binview_unchecked(
9    arr: &BinaryViewArray,
10    indices: &IdxArr,
11) -> BinaryViewArray {
12    let (views, validity) =
13        take_values_and_validity_unchecked(arr.views(), arr.validity(), indices);
14
15    BinaryViewArray::new_unchecked_unknown_md(
16        arr.dtype().clone(),
17        views.into(),
18        arr.data_buffers().clone(),
19        validity,
20        Some(arr.total_buffer_len()),
21    )
22    .maybe_gc()
23}