Skip to content

Commit d441299

Browse files
depreacte non compute methods without a ctx (e.g. to_canonical) (#7473)
All access to buffer should and will require a execution context. This PR deprecates all public methods that need one but don't have one --------- Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
1 parent c69957f commit d441299

200 files changed

Lines changed: 1465 additions & 631 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.

df-q6-parquet.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"all_runtimes":[140238709],"commit_id":"5b3726ee1725a1c21e3ab935d21ef48435e97197","dataset":{"tpch":{"scale_factor":"10.0"}},"env_triple":{"architecture":"aarch64","environment":"unknown","operating_system":"darwin"},"name":"tpch_q06/datafusion:parquet","storage":"nvme","target":{"engine":"datafusion","format":"parquet"},"unit":"ns","value":140238709}

encodings/alp/src/alp/array.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -526,6 +526,7 @@ mod tests {
526526
use vortex_array::Canonical;
527527
use vortex_array::IntoArray;
528528
use vortex_array::LEGACY_SESSION;
529+
#[expect(deprecated)]
529530
use vortex_array::ToCanonical;
530531
use vortex_array::VortexSessionExecute;
531532
use vortex_array::arrays::PrimitiveArray;
@@ -808,6 +809,7 @@ mod tests {
808809
let slice_len = slice_end - slice_start;
809810
let sliced_encoded = encoded.slice(slice_start..slice_end).unwrap();
810811

812+
#[expect(deprecated)]
811813
let result_primitive = sliced_encoded.to_primitive();
812814

813815
for idx in 0..slice_len {

encodings/alp/src/alp/compress.rs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,7 @@ mod tests {
136136
use f64::consts::E;
137137
use f64::consts::PI;
138138
use vortex_array::LEGACY_SESSION;
139+
#[expect(deprecated)]
139140
use vortex_array::ToCanonical;
140141
use vortex_array::VortexSessionExecute;
141142
use vortex_array::assert_arrays_eq;
@@ -280,6 +281,7 @@ mod tests {
280281
&mut LEGACY_SESSION.create_execution_ctx(),
281282
)
282283
.unwrap();
284+
#[expect(deprecated)]
283285
let decompressed = alp_arr.into_array().to_primitive();
284286

285287
assert_eq!(
@@ -303,6 +305,7 @@ mod tests {
303305
&mut LEGACY_SESSION.create_execution_ctx(),
304306
)
305307
.unwrap();
308+
#[expect(deprecated)]
306309
let decoded = encoded.as_array().to_primitive();
307310
for idx in 0..original.len() {
308311
let decoded_val = decoded.as_slice::<f32>()[idx];
@@ -331,14 +334,17 @@ mod tests {
331334
.unwrap();
332335
let patches = encoded.patches().unwrap();
333336

337+
#[expect(deprecated)]
334338
let chunk_offsets = patches.chunk_offsets().clone().unwrap().to_primitive();
335339
let expected_offsets = PrimitiveArray::from_iter(vec![0u64, 1, 3]);
336340
assert_arrays_eq!(chunk_offsets, expected_offsets);
337341

342+
#[expect(deprecated)]
338343
let patch_indices = patches.indices().to_primitive();
339344
let expected_indices = PrimitiveArray::from_iter(vec![1023u64, 1024, 1025]);
340345
assert_arrays_eq!(patch_indices, expected_indices);
341346

347+
#[expect(deprecated)]
342348
let patch_values = patches.values().to_primitive();
343349
let expected_values = PrimitiveArray::from_iter(vec![PI, E, PI]);
344350
assert_arrays_eq!(patch_values, expected_values);
@@ -359,14 +365,17 @@ mod tests {
359365
.unwrap();
360366
let patches = encoded.patches().unwrap();
361367

368+
#[expect(deprecated)]
362369
let chunk_offsets = patches.chunk_offsets().clone().unwrap().to_primitive();
363370
let expected_offsets = PrimitiveArray::from_iter(vec![0u64, 1, 1]);
364371
assert_arrays_eq!(chunk_offsets, expected_offsets);
365372

373+
#[expect(deprecated)]
366374
let patch_indices = patches.indices().to_primitive();
367375
let expected_indices = PrimitiveArray::from_iter(vec![0u64, 2048]);
368376
assert_arrays_eq!(patch_indices, expected_indices);
369377

378+
#[expect(deprecated)]
370379
let patch_values = patches.values().to_primitive();
371380
let expected_values = PrimitiveArray::from_iter(vec![PI, E]);
372381
assert_arrays_eq!(patch_values, expected_values);
@@ -386,14 +395,17 @@ mod tests {
386395
.unwrap();
387396
let patches = encoded.patches().unwrap();
388397

398+
#[expect(deprecated)]
389399
let chunk_offsets = patches.chunk_offsets().clone().unwrap().to_primitive();
390400
let expected_offsets = PrimitiveArray::from_iter(vec![0u64, 1, 1]);
391401
assert_arrays_eq!(chunk_offsets, expected_offsets);
392402

403+
#[expect(deprecated)]
393404
let patch_indices = patches.indices().to_primitive();
394405
let expected_indices = PrimitiveArray::from_iter(vec![0u64]);
395406
assert_arrays_eq!(patch_indices, expected_indices);
396407

408+
#[expect(deprecated)]
397409
let patch_values = patches.values().to_primitive();
398410
let expected_values = PrimitiveArray::from_iter(vec![PI]);
399411
assert_arrays_eq!(patch_values, expected_values);
@@ -414,14 +426,17 @@ mod tests {
414426
.unwrap();
415427
let patches = encoded.patches().unwrap();
416428

429+
#[expect(deprecated)]
417430
let chunk_offsets = patches.chunk_offsets().clone().unwrap().to_primitive();
418431
let expected_offsets = PrimitiveArray::from_iter(vec![0u64]);
419432
assert_arrays_eq!(chunk_offsets, expected_offsets);
420433

434+
#[expect(deprecated)]
421435
let patch_indices = patches.indices().to_primitive();
422436
let expected_indices = PrimitiveArray::from_iter(vec![0u64, 100]);
423437
assert_arrays_eq!(patch_indices, expected_indices);
424438

439+
#[expect(deprecated)]
425440
let patch_values = patches.values().to_primitive();
426441
let expected_values = PrimitiveArray::from_iter(vec![PI, E]);
427442
assert_arrays_eq!(patch_values, expected_values);
@@ -524,6 +539,7 @@ mod tests {
524539
.unwrap();
525540

526541
let sliced_alp = encoded.slice(512..1024).unwrap();
542+
#[expect(deprecated)]
527543
let decoded = sliced_alp.to_primitive();
528544

529545
let expected_slice = original.slice(512..1024).unwrap();

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

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ mod tests {
6161
use rstest::rstest;
6262
use vortex_array::IntoArray;
6363
use vortex_array::LEGACY_SESSION;
64+
#[expect(deprecated)]
6465
use vortex_array::ToCanonical;
6566
use vortex_array::VortexSessionExecute;
6667
use vortex_array::arrays::PrimitiveArray;
@@ -80,8 +81,10 @@ mod tests {
8081
#[test]
8182
fn issue_5766_test_cast_alp_with_patches_to_nullable() -> VortexResult<()> {
8283
let values = buffer![1.234f32, f32::NAN, 2.345, f32::INFINITY, 3.456].into_array();
84+
#[expect(deprecated)]
85+
let values_primitive = values.to_primitive();
8386
let alp = alp_encode(
84-
values.to_primitive().as_view(),
87+
values_primitive.as_view(),
8588
None,
8689
&mut LEGACY_SESSION.create_execution_ctx(),
8790
)?;
@@ -96,16 +99,20 @@ mod tests {
9699

97100
let expected = values.cast(nullable_dtype)?;
98101

99-
assert_arrays_eq!(casted.to_canonical()?.into_primitive(), expected);
102+
#[expect(deprecated)]
103+
let casted_prim = casted.to_canonical()?.into_primitive();
104+
assert_arrays_eq!(casted_prim, expected);
100105

101106
Ok(())
102107
}
103108

104109
#[test]
105110
fn test_cast_alp_f32_to_f64() -> VortexResult<()> {
106111
let values = buffer![1.5f32, 2.5, 3.5, 4.5].into_array();
112+
#[expect(deprecated)]
113+
let values_primitive = values.to_primitive();
107114
let alp = alp_encode(
108-
values.to_primitive().as_view(),
115+
values_primitive.as_view(),
109116
None,
110117
&mut LEGACY_SESSION.create_execution_ctx(),
111118
)?;
@@ -118,6 +125,7 @@ mod tests {
118125
&DType::Primitive(PType::F64, Nullability::NonNullable)
119126
);
120127

128+
#[expect(deprecated)]
121129
let decoded = casted.to_canonical()?.into_primitive();
122130
let values = decoded.as_slice::<f64>();
123131
assert_eq!(values.len(), 4);
@@ -130,8 +138,10 @@ mod tests {
130138
#[test]
131139
fn test_cast_alp_to_int() -> VortexResult<()> {
132140
let values = buffer![1.0f32, 2.0, 3.0, 4.0].into_array();
141+
#[expect(deprecated)]
142+
let values_primitive = values.to_primitive();
133143
let alp = alp_encode(
134-
values.to_primitive().as_view(),
144+
values_primitive.as_view(),
135145
None,
136146
&mut LEGACY_SESSION.create_execution_ctx(),
137147
)?;
@@ -144,6 +154,7 @@ mod tests {
144154
&DType::Primitive(PType::I32, Nullability::NonNullable)
145155
);
146156

157+
#[expect(deprecated)]
147158
let decoded = casted.to_canonical()?.into_primitive();
148159
assert_arrays_eq!(decoded, PrimitiveArray::from_iter([1i32, 2, 3, 4]));
149160

@@ -157,8 +168,10 @@ mod tests {
157168
#[case(buffer![42.42f64].into_array())]
158169
#[case(buffer![0.0f32, -1.5, 2.5, -3.5, 4.5].into_array())]
159170
fn test_cast_alp_conformance(#[case] array: vortex_array::ArrayRef) -> VortexResult<()> {
171+
#[expect(deprecated)]
172+
let array_primitive = array.to_primitive();
160173
let alp = alp_encode(
161-
array.to_primitive().as_view(),
174+
array_primitive.as_view(),
162175
None,
163176
&mut LEGACY_SESSION.create_execution_ctx(),
164177
)

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

Lines changed: 13 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,7 @@ mod tests {
153153
use rstest::rstest;
154154
use vortex_array::ArrayRef;
155155
use vortex_array::LEGACY_SESSION;
156+
#[expect(deprecated)]
156157
use vortex_array::ToCanonical;
157158
use vortex_array::VortexSessionExecute;
158159
use vortex_array::arrays::BoolArray;
@@ -192,10 +193,9 @@ mod tests {
192193
)
193194
.unwrap();
194195
assert!(encoded.patches().is_none());
195-
assert_eq!(
196-
encoded.encoded().to_primitive().as_slice::<i32>(),
197-
vec![1234; 1025]
198-
);
196+
#[expect(deprecated)]
197+
let encoded_prim = encoded.encoded().to_primitive();
198+
assert_eq!(encoded_prim.as_slice::<i32>(), vec![1234; 1025]);
199199

200200
let r = alp_scalar_compare(encoded.as_view(), 1.3_f32, CompareOperator::Eq)
201201
.unwrap()
@@ -220,10 +220,9 @@ mod tests {
220220
)
221221
.unwrap();
222222
assert!(encoded.patches().is_none());
223-
assert_eq!(
224-
encoded.encoded().to_primitive().as_slice::<i32>(),
225-
vec![1234; 1025]
226-
);
223+
#[expect(deprecated)]
224+
let encoded_prim = encoded.encoded().to_primitive();
225+
assert_eq!(encoded_prim.as_slice::<i32>(), vec![1234; 1025]);
227226

228227
let r_eq = alp_scalar_compare(encoded.as_view(), 1.234444_f32, CompareOperator::Eq)
229228
.unwrap()
@@ -248,10 +247,9 @@ mod tests {
248247
)
249248
.unwrap();
250249
assert!(encoded.patches().is_none());
251-
assert_eq!(
252-
encoded.encoded().to_primitive().as_slice::<i32>(),
253-
vec![605; 10]
254-
);
250+
#[expect(deprecated)]
251+
let encoded_prim = encoded.encoded().to_primitive();
252+
assert_eq!(encoded_prim.as_slice::<i32>(), vec![605; 10]);
255253

256254
// !(0.0605_f32 >= 0.06051_f32);
257255
let r_gte = alp_scalar_compare(encoded.as_view(), 0.06051_f32, CompareOperator::Gte)
@@ -292,10 +290,9 @@ mod tests {
292290
)
293291
.unwrap();
294292
assert!(encoded.patches().is_none());
295-
assert_eq!(
296-
encoded.encoded().to_primitive().as_slice::<i32>(),
297-
vec![0; 10]
298-
);
293+
#[expect(deprecated)]
294+
let encoded_prim = encoded.encoded().to_primitive();
295+
assert_eq!(encoded_prim.as_slice::<i32>(), vec![0; 10]);
299296

300297
let r_gte =
301298
test_alp_compare(encoded.as_view(), -0.00000001_f32, CompareOperator::Gte).unwrap();

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

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ mod test {
4545
use vortex_array::ArrayRef;
4646
use vortex_array::IntoArray;
4747
use vortex_array::LEGACY_SESSION;
48+
#[expect(deprecated)]
4849
use vortex_array::ToCanonical;
4950
use vortex_array::VortexSessionExecute;
5051
use vortex_array::arrays::PrimitiveArray;
@@ -63,8 +64,10 @@ mod test {
6364
11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 20.0
6465
].into_array())]
6566
fn test_filter_alp_conformance(#[case] array: ArrayRef) {
67+
#[expect(deprecated)]
68+
let array_primitive = array.to_primitive();
6669
let alp = alp_encode(
67-
array.to_primitive().as_view(),
70+
array_primitive.as_view(),
6871
None,
6972
&mut LEGACY_SESSION.create_execution_ctx(),
7073
)

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

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ mod test {
5757
use rstest::rstest;
5858
use vortex_array::IntoArray;
5959
use vortex_array::LEGACY_SESSION;
60+
#[expect(deprecated)]
6061
use vortex_array::ToCanonical;
6162
use vortex_array::VortexSessionExecute;
6263
use vortex_array::arrays::BoolArray;
@@ -79,8 +80,10 @@ mod test {
7980
1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2.0
8081
].into_array())]
8182
fn test_mask_alp_conformance(#[case] array: vortex_array::ArrayRef) {
83+
#[expect(deprecated)]
84+
let array_primitive = array.to_primitive();
8285
let alp = alp_encode(
83-
array.to_primitive().as_view(),
86+
array_primitive.as_view(),
8487
None,
8588
&mut LEGACY_SESSION.create_execution_ctx(),
8689
)

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

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ mod test {
4343
use rstest::rstest;
4444
use vortex_array::IntoArray;
4545
use vortex_array::LEGACY_SESSION;
46+
#[expect(deprecated)]
4647
use vortex_array::ToCanonical;
4748
use vortex_array::VortexSessionExecute;
4849
use vortex_array::arrays::PrimitiveArray;
@@ -57,8 +58,10 @@ mod test {
5758
#[case(PrimitiveArray::from_option_iter([Some(1.1f32), None, Some(2.2), Some(3.3), None]).into_array())]
5859
#[case(buffer![42.42f64].into_array())]
5960
fn test_take_alp_conformance(#[case] array: vortex_array::ArrayRef) {
61+
#[expect(deprecated)]
62+
let array_primitive = array.to_primitive();
6063
let alp = alp_encode(
61-
array.to_primitive().as_view(),
64+
array_primitive.as_view(),
6265
None,
6366
&mut LEGACY_SESSION.create_execution_ctx(),
6467
)

encodings/alp/src/alp_rd/array.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -418,7 +418,9 @@ impl ALPRDData {
418418
let mut patches = patches.cast_values(&left_parts.dtype().as_nonnullable())?;
419419
// Force execution of the lazy cast so patch values are materialized
420420
// before serialization.
421-
*patches.values_mut() = patches.values().to_canonical()?.into_array();
421+
#[expect(deprecated)]
422+
let canonical = patches.values().to_canonical()?.into_array();
423+
*patches.values_mut() = canonical;
422424
Ok(patches)
423425
})
424426
.transpose()
@@ -660,6 +662,7 @@ impl ValidityChild<ALPRD> for ALPRD {
660662
mod test {
661663
use prost::Message;
662664
use rstest::rstest;
665+
#[expect(deprecated)]
663666
use vortex_array::ToCanonical;
664667
use vortex_array::arrays::PrimitiveArray;
665668
use vortex_array::assert_arrays_eq;
@@ -693,6 +696,7 @@ mod test {
693696

694697
let rd_array = encoder.encode(real_array.as_view());
695698

699+
#[expect(deprecated)]
696700
let decoded = rd_array.as_array().to_primitive();
697701

698702
assert_arrays_eq!(decoded, PrimitiveArray::from_option_iter(reals));

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ impl CastReduce for ALPRD {
5050
mod tests {
5151
use rstest::rstest;
5252
use vortex_array::IntoArray;
53+
#[expect(deprecated)]
5354
use vortex_array::ToCanonical;
5455
use vortex_array::arrays::PrimitiveArray;
5556
use vortex_array::builtins::ArrayBuiltins;
@@ -76,6 +77,7 @@ mod tests {
7677
&DType::Primitive(PType::F64, Nullability::NonNullable)
7778
);
7879

80+
#[expect(deprecated)]
7981
let decoded = casted.to_primitive();
8082
let f64_values = decoded.as_slice::<f64>();
8183
assert_eq!(f64_values.len(), 5);

0 commit comments

Comments
 (0)