Skip to main content

vortex_array/arrays/extension/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::DynArray;
7use crate::ExecutionCtx;
8use crate::arrays::Extension;
9use crate::arrays::ExtensionArray;
10use crate::scalar::Scalar;
11use crate::vtable::OperationsVTable;
12
13impl OperationsVTable<Extension> for Extension {
14    fn scalar_at(
15        array: &ExtensionArray,
16        index: usize,
17        _ctx: &mut ExecutionCtx,
18    ) -> VortexResult<Scalar> {
19        Ok(Scalar::extension_ref(
20            array.ext_dtype().clone(),
21            array.storage_array().scalar_at(index)?,
22        ))
23    }
24}