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::Array;
7use crate::arrays::extension::ExtensionArray;
8use crate::arrays::extension::ExtensionVTable;
9use crate::scalar::Scalar;
10use crate::vtable::OperationsVTable;
11
12impl OperationsVTable<ExtensionVTable> for ExtensionVTable {
13    fn scalar_at(array: &ExtensionArray, index: usize) -> VortexResult<Scalar> {
14        Ok(Scalar::extension_ref(
15            array.ext_dtype().clone(),
16            array.storage().scalar_at(index)?,
17        ))
18    }
19}