Skip to main content

vortex_array/arrays/varbin/vtable/
operations.rs

1// SPDX-License-Identifier: Apache-2.0
2// SPDX-FileCopyrightText: Copyright the Vortex contributors
3
4use vortex_error::VortexResult;
5
6use crate::ExecutionCtx;
7use crate::array::ArrayView;
8use crate::array::OperationsVTable;
9use crate::arrays::VarBin;
10use crate::arrays::varbin::VarBinArrayExt;
11use crate::arrays::varbin::varbin_scalar;
12use crate::scalar::Scalar;
13
14impl OperationsVTable<VarBin> for VarBin {
15    type ProbeState = ();
16
17    fn scalar_at(
18        array: ArrayView<'_, VarBin>,
19        index: usize,
20        _ctx: &mut ExecutionCtx,
21    ) -> VortexResult<Scalar> {
22        Ok(varbin_scalar(array.bytes_at(index), array.dtype()))
23    }
24}