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