vortex_array/arrays/extension/vtable/
mod.rs1mod array;
5mod canonical;
6mod operations;
7mod serde;
8mod validity;
9mod visitor;
10
11use crate::arrays::extension::ExtensionArray;
12use crate::vtable::{NotSupported, VTable, ValidityVTableFromChild};
13use crate::{EncodingId, EncodingRef, vtable};
14
15vtable!(Extension);
16
17impl VTable for ExtensionVTable {
18 type Array = ExtensionArray;
19 type Encoding = ExtensionEncoding;
20
21 type ArrayVTable = Self;
22 type CanonicalVTable = Self;
23 type OperationsVTable = Self;
24 type ValidityVTable = ValidityVTableFromChild;
25 type VisitorVTable = Self;
26 type ComputeVTable = NotSupported;
27 type EncodeVTable = NotSupported;
28 type PipelineVTable = NotSupported;
29 type SerdeVTable = Self;
30
31 fn id(_encoding: &Self::Encoding) -> EncodingId {
32 EncodingId::new_ref("vortex.ext")
33 }
34
35 fn encoding(_array: &Self::Array) -> EncodingRef {
36 EncodingRef::new_ref(ExtensionEncoding.as_ref())
37 }
38}
39
40#[derive(Clone, Debug)]
41pub struct ExtensionEncoding;