Skip to content

Commit c882c76

Browse files
authored
Remove &dyn Array call sites (#6725)
As part of #6544, we are making Vortex Arrays structs rather than a dyn trait. In preparation, this PR removes &dyn Array from APIs in favor of accepting &ArrayRef. --------- Signed-off-by: Nicholas Gates <nick@nickgates.com>
1 parent c9e1c70 commit c882c76

280 files changed

Lines changed: 1158 additions & 1151 deletions

File tree

Some content is hidden

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

encodings/alp/public-api.lock

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ pub fn vortex_alp::ALPRDVTable::fmt(&self, f: &mut core::fmt::Formatter<'_>) ->
150150

151151
impl vortex_array::arrays::dict::take::TakeExecute for vortex_alp::ALPRDVTable
152152

153-
pub fn vortex_alp::ALPRDVTable::take(array: &vortex_alp::ALPRDArray, indices: &dyn vortex_array::array::Array, _ctx: &mut vortex_array::executor::ExecutionCtx) -> vortex_error::VortexResult<core::option::Option<vortex_array::array::ArrayRef>>
153+
pub fn vortex_alp::ALPRDVTable::take(array: &vortex_alp::ALPRDArray, indices: &vortex_array::array::ArrayRef, _ctx: &mut vortex_array::executor::ExecutionCtx) -> vortex_error::VortexResult<core::option::Option<vortex_array::array::ArrayRef>>
154154

155155
impl vortex_array::arrays::filter::kernel::FilterKernel for vortex_alp::ALPRDVTable
156156

@@ -238,7 +238,7 @@ pub fn vortex_alp::ALPVTable::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> co
238238

239239
impl vortex_array::arrays::dict::take::TakeExecute for vortex_alp::ALPVTable
240240

241-
pub fn vortex_alp::ALPVTable::take(array: &vortex_alp::ALPArray, indices: &dyn vortex_array::array::Array, _ctx: &mut vortex_array::executor::ExecutionCtx) -> vortex_error::VortexResult<core::option::Option<vortex_array::array::ArrayRef>>
241+
pub fn vortex_alp::ALPVTable::take(array: &vortex_alp::ALPArray, indices: &vortex_array::array::ArrayRef, _ctx: &mut vortex_array::executor::ExecutionCtx) -> vortex_error::VortexResult<core::option::Option<vortex_array::array::ArrayRef>>
242242

243243
impl vortex_array::arrays::filter::kernel::FilterKernel for vortex_alp::ALPVTable
244244

@@ -254,11 +254,11 @@ pub fn vortex_alp::ALPVTable::nan_count(&self, array: &vortex_alp::ALPArray) ->
254254

255255
impl vortex_array::scalar_fn::fns::between::kernel::BetweenReduce for vortex_alp::ALPVTable
256256

257-
pub fn vortex_alp::ALPVTable::between(array: &vortex_alp::ALPArray, lower: &dyn vortex_array::array::Array, upper: &dyn vortex_array::array::Array, options: &vortex_array::scalar_fn::fns::between::BetweenOptions) -> vortex_error::VortexResult<core::option::Option<vortex_array::array::ArrayRef>>
257+
pub fn vortex_alp::ALPVTable::between(array: &vortex_alp::ALPArray, lower: &vortex_array::array::ArrayRef, upper: &vortex_array::array::ArrayRef, options: &vortex_array::scalar_fn::fns::between::BetweenOptions) -> vortex_error::VortexResult<core::option::Option<vortex_array::array::ArrayRef>>
258258

259259
impl vortex_array::scalar_fn::fns::binary::compare::CompareKernel for vortex_alp::ALPVTable
260260

261-
pub fn vortex_alp::ALPVTable::compare(lhs: &vortex_alp::ALPArray, rhs: &dyn vortex_array::array::Array, operator: vortex_array::scalar_fn::fns::operators::CompareOperator, _ctx: &mut vortex_array::executor::ExecutionCtx) -> vortex_error::VortexResult<core::option::Option<vortex_array::array::ArrayRef>>
261+
pub fn vortex_alp::ALPVTable::compare(lhs: &vortex_alp::ALPArray, rhs: &vortex_array::array::ArrayRef, operator: vortex_array::scalar_fn::fns::operators::CompareOperator, _ctx: &mut vortex_array::executor::ExecutionCtx) -> vortex_error::VortexResult<core::option::Option<vortex_array::array::ArrayRef>>
262262

263263
impl vortex_array::scalar_fn::fns::cast::kernel::CastReduce for vortex_alp::ALPVTable
264264

encodings/alp/src/alp/array.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -285,7 +285,7 @@ pub struct ALPMetadata {
285285

286286
impl ALPArray {
287287
fn validate(
288-
encoded: &dyn Array,
288+
encoded: &ArrayRef,
289289
exponents: Exponents,
290290
patches: Option<&Patches>,
291291
) -> VortexResult<()> {
@@ -336,7 +336,7 @@ impl ALPArray {
336336
}
337337

338338
/// Validate that any patches provided are valid for the ALPArray.
339-
fn validate_patches<T: ALPFloat>(patches: &Patches, encoded: &dyn Array) -> VortexResult<()> {
339+
fn validate_patches<T: ALPFloat>(patches: &Patches, encoded: &ArrayRef) -> VortexResult<()> {
340340
vortex_ensure!(
341341
patches.array_len() == encoded.len(),
342342
"patches array_len != encoded len: {} != {}",

encodings/alp/src/alp/compute/between.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33

44
use std::fmt::Debug;
55

6-
use vortex_array::Array;
76
use vortex_array::ArrayRef;
87
use vortex_array::IntoArray;
98
use vortex_array::arrays::ConstantArray;
@@ -25,8 +24,8 @@ use crate::match_each_alp_float_ptype;
2524
impl BetweenReduce for ALPVTable {
2625
fn between(
2726
array: &ALPArray,
28-
lower: &dyn Array,
29-
upper: &dyn Array,
27+
lower: &ArrayRef,
28+
upper: &ArrayRef,
3029
options: &BetweenOptions,
3130
) -> VortexResult<Option<ArrayRef>> {
3231
let (Some(lower), Some(upper)) = (lower.as_constant(), upper.as_constant()) else {

encodings/alp/src/alp/compute/cast.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ mod tests {
147147
#[case(buffer![0.0f32, -1.5, 2.5, -3.5, 4.5].into_array())]
148148
fn test_cast_alp_conformance(#[case] array: vortex_array::ArrayRef) -> VortexResult<()> {
149149
let alp = alp_encode(&array.to_primitive(), None).vortex_expect("cannot fail");
150-
test_cast_conformance(alp.as_ref());
150+
test_cast_conformance(&alp.to_array());
151151

152152
Ok(())
153153
}

encodings/alp/src/alp/compute/compare.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ use crate::match_each_alp_float_ptype;
2828
impl CompareKernel for ALPVTable {
2929
fn compare(
3030
lhs: &ALPArray,
31-
rhs: &dyn Array,
31+
rhs: &ArrayRef,
3232
operator: CompareOperator,
3333
_ctx: &mut ExecutionCtx,
3434
) -> VortexResult<Option<ArrayRef>> {

encodings/alp/src/alp/compute/filter.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,6 @@ mod test {
6060
].into_array())]
6161
fn test_filter_alp_conformance(#[case] array: ArrayRef) {
6262
let alp = alp_encode(&array.to_primitive(), None).unwrap();
63-
test_filter_conformance(alp.as_ref());
63+
test_filter_conformance(&alp.to_array());
6464
}
6565
}

encodings/alp/src/alp/compute/mask.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ mod test {
6666
].into_array())]
6767
fn test_mask_alp_conformance(#[case] array: vortex_array::ArrayRef) {
6868
let alp = alp_encode(&array.to_primitive(), None).unwrap();
69-
test_mask_conformance(alp.as_ref());
69+
test_mask_conformance(&alp.to_array());
7070
}
7171

7272
#[test]
@@ -79,6 +79,6 @@ mod test {
7979
let array = PrimitiveArray::from_iter(values);
8080
let alp = alp_encode(&array, None).unwrap();
8181
assert!(alp.patches().is_some(), "expected patches");
82-
test_mask_conformance(alp.as_ref());
82+
test_mask_conformance(&alp.to_array());
8383
}
8484
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ mod tests {
3636
#[case::repeating_pattern(alp_encode(&PrimitiveArray::from_iter([1.1f32, 2.2, 3.3, 1.1, 2.2, 3.3, 1.1, 2.2, 3.3]), None).unwrap())]
3737
#[case::close_values(alp_encode(&PrimitiveArray::from_iter([100.001f64, 100.002, 100.003, 100.004, 100.005]), None).unwrap())]
3838
fn test_alp_consistency(#[case] array: ALPArray) {
39-
test_array_consistency(array.as_ref());
39+
test_array_consistency(&array.to_array());
4040
}
4141

4242
#[rstest]

encodings/alp/src/alp/compute/take.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ use crate::ALPVTable;
1414
impl TakeExecute for ALPVTable {
1515
fn take(
1616
array: &ALPArray,
17-
indices: &dyn Array,
17+
indices: &ArrayRef,
1818
_ctx: &mut ExecutionCtx,
1919
) -> VortexResult<Option<ArrayRef>> {
2020
let taken_encoded = array.encoded().take(indices.to_array())?;
@@ -55,6 +55,6 @@ mod test {
5555
#[case(buffer![42.42f64].into_array())]
5656
fn test_take_alp_conformance(#[case] array: vortex_array::ArrayRef) {
5757
let alp = alp_encode(&array.to_primitive(), None).unwrap();
58-
test_take_conformance(alp.as_ref());
58+
test_take_conformance(&alp.to_array());
5959
}
6060
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,6 @@ mod tests {
138138
encoder.encode(&arr)
139139
})]
140140
fn test_cast_alprd_conformance(#[case] alprd: crate::alp_rd::ALPRDArray) {
141-
test_cast_conformance(alprd.as_ref());
141+
test_cast_conformance(&alprd.to_array());
142142
}
143143
}

0 commit comments

Comments
 (0)