Skip to content

Commit ca748db

Browse files
authored
Pull out vtable traits (#2111)
This separates the dispatch behaviour (which is currently specific to Rust implementations of encodings, vs e.g. C impls and WASM impls), from the features themselves. QUESTION: do we want to pull all compute function vtables into this module too? I think we may want to...
1 parent 71b5ac6 commit ca748db

File tree

85 files changed

+679
-574
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

85 files changed

+679
-574
lines changed

encodings/alp/src/alp/array.rs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,12 @@ use serde::{Deserialize, Serialize};
44
use vortex_array::array::PrimitiveArray;
55
use vortex_array::encoding::ids;
66
use vortex_array::patches::{Patches, PatchesMetadata};
7-
use vortex_array::stats::StatisticsVTable;
8-
use vortex_array::validate::ValidateVTable;
9-
use vortex_array::validity::{ArrayValidity, ValidityVTable};
10-
use vortex_array::variants::{PrimitiveArrayTrait, VariantsVTable};
11-
use vortex_array::visitor::{ArrayVisitor, VisitorVTable};
7+
use vortex_array::validity::ArrayValidity;
8+
use vortex_array::variants::PrimitiveArrayTrait;
9+
use vortex_array::visitor::ArrayVisitor;
10+
use vortex_array::vtable::{
11+
StatisticsVTable, ValidateVTable, ValidityVTable, VariantsVTable, VisitorVTable,
12+
};
1213
use vortex_array::{
1314
impl_encoding, ArrayDType, ArrayData, ArrayLen, Canonical, IntoArrayData, IntoCanonical,
1415
SerdeMetadata,

encodings/alp/src/alp/compute/mod.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
mod compare;
22

33
use vortex_array::compute::{
4-
filter, scalar_at, slice, take, CompareFn, ComputeVTable, FilterFn, ScalarAtFn, SliceFn, TakeFn,
4+
filter, scalar_at, slice, take, CompareFn, FilterFn, ScalarAtFn, SliceFn, TakeFn,
55
};
66
use vortex_array::variants::PrimitiveArrayTrait;
7+
use vortex_array::vtable::ComputeVTable;
78
use vortex_array::{ArrayDType, ArrayData, IntoArrayData};
89
use vortex_error::VortexResult;
910
use vortex_mask::Mask;

encodings/alp/src/alp_rd/array.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ use serde::{Deserialize, Serialize};
44
use vortex_array::array::PrimitiveArray;
55
use vortex_array::encoding::ids;
66
use vortex_array::patches::{Patches, PatchesMetadata};
7-
use vortex_array::stats::{StatisticsVTable, StatsSet};
8-
use vortex_array::validate::ValidateVTable;
9-
use vortex_array::validity::{ArrayValidity, Validity, ValidityVTable};
10-
use vortex_array::visitor::{ArrayVisitor, VisitorVTable};
7+
use vortex_array::stats::StatsSet;
8+
use vortex_array::validity::{ArrayValidity, Validity};
9+
use vortex_array::visitor::ArrayVisitor;
10+
use vortex_array::vtable::{StatisticsVTable, ValidateVTable, ValidityVTable, VisitorVTable};
1111
use vortex_array::{
1212
impl_encoding, ArrayDType, ArrayData, ArrayLen, Canonical, IntoCanonical, SerdeMetadata,
1313
};

encodings/alp/src/alp_rd/compute/mod.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
use vortex_array::compute::{ComputeVTable, FilterFn, ScalarAtFn, SliceFn, TakeFn};
1+
use vortex_array::compute::{FilterFn, ScalarAtFn, SliceFn, TakeFn};
2+
use vortex_array::vtable::ComputeVTable;
23
use vortex_array::ArrayData;
34

45
use crate::ALPRDEncoding;

encodings/alp/src/alp_rd/variants.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
use vortex_array::variants::{PrimitiveArrayTrait, VariantsVTable};
1+
use vortex_array::variants::PrimitiveArrayTrait;
2+
use vortex_array::vtable::VariantsVTable;
23

34
use crate::{ALPRDArray, ALPRDEncoding};
45

encodings/bytebool/src/array.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ use serde::{Deserialize, Serialize};
55
use vortex_array::array::BoolArray;
66
use vortex_array::encoding::ids;
77
use vortex_array::stats::StatsSet;
8-
use vortex_array::validate::ValidateVTable;
9-
use vortex_array::validity::{Validity, ValidityMetadata, ValidityVTable};
10-
use vortex_array::variants::{BoolArrayTrait, VariantsVTable};
11-
use vortex_array::visitor::{ArrayVisitor, VisitorVTable};
8+
use vortex_array::validity::{Validity, ValidityMetadata};
9+
use vortex_array::variants::BoolArrayTrait;
10+
use vortex_array::visitor::ArrayVisitor;
11+
use vortex_array::vtable::{ValidateVTable, ValidityVTable, VariantsVTable, VisitorVTable};
1212
use vortex_array::{impl_encoding, ArrayLen, Canonical, IntoCanonical, SerdeMetadata};
1313
use vortex_buffer::ByteBuffer;
1414
use vortex_dtype::DType;

encodings/bytebool/src/compute.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
use num_traits::AsPrimitive;
2-
use vortex_array::compute::{ComputeVTable, FillForwardFn, ScalarAtFn, SliceFn, TakeFn};
2+
use vortex_array::compute::{FillForwardFn, ScalarAtFn, SliceFn, TakeFn};
33
use vortex_array::validity::{ArrayValidity, Validity};
44
use vortex_array::variants::PrimitiveArrayTrait;
5+
use vortex_array::vtable::ComputeVTable;
56
use vortex_array::{ArrayDType, ArrayData, ArrayLen, IntoArrayData, IntoArrayVariant, ToArrayData};
67
use vortex_dtype::{match_each_integer_ptype, Nullability};
78
use vortex_error::{vortex_err, VortexResult};

encodings/bytebool/src/stats.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
use vortex_array::stats::{ArrayStatistics, Stat, StatisticsVTable, StatsSet};
1+
use vortex_array::stats::{ArrayStatistics, Stat, StatsSet};
2+
use vortex_array::vtable::StatisticsVTable;
23
use vortex_array::{ArrayLen, IntoArrayVariant};
34
use vortex_error::VortexResult;
45

encodings/datetime-parts/src/array.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ use vortex_array::array::StructArray;
55
use vortex_array::compute::try_cast;
66
use vortex_array::encoding::ids;
77
use vortex_array::stats::StatsSet;
8-
use vortex_array::validate::ValidateVTable;
9-
use vortex_array::validity::{ArrayValidity, Validity, ValidityVTable};
10-
use vortex_array::variants::{ExtensionArrayTrait, VariantsVTable};
11-
use vortex_array::visitor::{ArrayVisitor, VisitorVTable};
8+
use vortex_array::validity::{ArrayValidity, Validity};
9+
use vortex_array::variants::ExtensionArrayTrait;
10+
use vortex_array::visitor::ArrayVisitor;
11+
use vortex_array::vtable::{ValidateVTable, ValidityVTable, VariantsVTable, VisitorVTable};
1212
use vortex_array::{impl_encoding, ArrayDType, ArrayData, ArrayLen, IntoArrayData, SerdeMetadata};
1313
use vortex_dtype::{DType, PType};
1414
use vortex_error::{vortex_bail, VortexExpect as _, VortexResult, VortexUnwrap};

encodings/datetime-parts/src/compute/mod.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,9 @@ mod cast;
22
mod filter;
33
mod take;
44

5-
use vortex_array::compute::{
6-
scalar_at, slice, CastFn, ComputeVTable, FilterFn, ScalarAtFn, SliceFn, TakeFn,
7-
};
5+
use vortex_array::compute::{scalar_at, slice, CastFn, FilterFn, ScalarAtFn, SliceFn, TakeFn};
86
use vortex_array::validity::ArrayValidity;
7+
use vortex_array::vtable::ComputeVTable;
98
use vortex_array::{ArrayDType, ArrayData, IntoArrayData};
109
use vortex_datetime_dtype::{TemporalMetadata, TimeUnit};
1110
use vortex_dtype::Nullability::{NonNullable, Nullable};

0 commit comments

Comments
 (0)