vortex_array/arrays/extension/vtable/
operations.rs1use vortex_error::VortexResult;
5
6use crate::ExecutionCtx;
7use crate::array::ArrayView;
8use crate::array::OperationsVTable;
9use crate::arrays::Extension;
10use crate::arrays::extension::ExtensionArrayExt;
11use crate::scalar::Scalar;
12
13impl OperationsVTable<Extension> for Extension {
14 type ProbeState = ();
15
16 fn scalar_at(
17 array: ArrayView<'_, Extension>,
18 index: usize,
19 ctx: &mut ExecutionCtx,
20 ) -> VortexResult<Scalar> {
21 Ok(Scalar::extension_ref(
22 array.ext_dtype().clone(),
23 array.storage_array().execute_scalar(index, ctx)?,
24 ))
25 }
26}