use vortex_error::VortexResult;
use crate::ExecutionCtx;
use crate::array::ArrayView;
use crate::array::OperationsVTable;
use crate::arrays::Extension;
use crate::arrays::extension::ExtensionArrayExt;
use crate::scalar::Scalar;
impl OperationsVTable<Extension> for Extension {
type ProbeState = ();
fn scalar_at(
array: ArrayView<'_, Extension>,
index: usize,
ctx: &mut ExecutionCtx,
) -> VortexResult<Scalar> {
Ok(Scalar::extension_ref(
array.ext_dtype().clone(),
array.storage_array().execute_scalar(index, ctx)?,
))
}
}