Skip to content

Commit 96dce46

Browse files
authored
Run optimizer on root array only on (#5710)
Signed-off-by: Nicholas Gates <[email protected]>
1 parent 346b1f6 commit 96dce46

File tree

23 files changed

+192
-249
lines changed

23 files changed

+192
-249
lines changed

encodings/alp/src/alp/array.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -709,7 +709,7 @@ mod tests {
709709
let slice_len = slice_end - slice_start;
710710
let sliced_encoded = encoded.slice(slice_start..slice_end);
711711

712-
let result_vector = sliced_encoded.execute_vector_optimized(&SESSION).unwrap();
712+
let result_vector = sliced_encoded.execute_vector(&SESSION).unwrap();
713713
let result_primitive = result_vector.into_primitive().into_f64();
714714

715715
for idx in 0..slice_len {

encodings/fsst/src/array.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -393,7 +393,7 @@ impl VisitorVTable<FSSTVTable> for FSSTVTable {
393393
}
394394

395395
fn visit_children(array: &FSSTArray, visitor: &mut dyn ArrayChildVisitor) {
396-
visitor.visit_child("codes", array.codes().as_ref());
396+
visitor.visit_child("codes", &array.codes().to_array());
397397
visitor.visit_child("uncompressed_lengths", array.uncompressed_lengths());
398398
}
399399
}

vortex-array/src/array/mod.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -680,8 +680,8 @@ impl<V: VTable> ArrayVisitor for ArrayAdapter<V> {
680680
}
681681

682682
impl ArrayChildVisitor for ChildrenCollector {
683-
fn visit_child(&mut self, _name: &str, array: &dyn Array) {
684-
self.children.push(array.to_array());
683+
fn visit_child(&mut self, _name: &str, array: &ArrayRef) {
684+
self.children.push(array.clone());
685685
}
686686
}
687687

@@ -702,7 +702,7 @@ impl<V: VTable> ArrayVisitor for ArrayAdapter<V> {
702702
}
703703

704704
impl ArrayChildVisitor for ChildNameCollector {
705-
fn visit_child(&mut self, name: &str, _array: &dyn Array) {
705+
fn visit_child(&mut self, name: &str, _array: &ArrayRef) {
706706
self.names.push(name.to_string());
707707
}
708708
}
@@ -718,7 +718,7 @@ impl<V: VTable> ArrayVisitor for ArrayAdapter<V> {
718718
}
719719

720720
impl ArrayChildVisitor for NamedChildrenCollector {
721-
fn visit_child(&mut self, name: &str, array: &dyn Array) {
721+
fn visit_child(&mut self, name: &str, array: &ArrayRef) {
722722
self.children.push((name.to_string(), array.to_array()));
723723
}
724724
}

vortex-array/src/array/visitor.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@
22
// SPDX-FileCopyrightText: Copyright the Vortex contributors
33

44
use std::fmt::Formatter;
5-
use std::ops::Deref;
65
use std::sync::Arc;
76

87
use vortex_buffer::ByteBuffer;
98
use vortex_error::VortexResult;
109

1110
use crate::Array;
1211
use crate::ArrayRef;
12+
use crate::IntoArray;
1313
use crate::arrays::ConstantArray;
1414
use crate::patches::Patches;
1515
use crate::validity::Validity;
@@ -118,7 +118,7 @@ pub trait ArrayBufferVisitor {
118118

119119
pub trait ArrayChildVisitor {
120120
/// Visit a child of this array.
121-
fn visit_child(&mut self, _name: &str, _array: &dyn Array);
121+
fn visit_child(&mut self, _name: &str, _array: &ArrayRef);
122122

123123
/// Utility for visiting Array validity.
124124
fn visit_validity(&mut self, validity: &Validity, len: usize) {
@@ -135,7 +135,7 @@ pub trait ArrayChildVisitor {
135135
// * is_nullable & has_validity => Validity::Array (or Validity::AllInvalid)
136136
// * is_nullable & !has_validity => Validity::AllValid
137137
// * !is_nullable => Validity::NonNullable
138-
self.visit_child("validity", ConstantArray::new(false, len).deref())
138+
self.visit_child("validity", &ConstantArray::new(false, len).into_array())
139139
}
140140
Validity::Array(array) => {
141141
self.visit_child("validity", array);

vortex-array/src/arrays/chunked/vtable/visitor.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ impl VisitorVTable<ChunkedVTable> for ChunkedVTable {
1111
fn visit_buffers(_array: &ChunkedArray, _visitor: &mut dyn ArrayBufferVisitor) {}
1212

1313
fn visit_children(array: &ChunkedArray, visitor: &mut dyn ArrayChildVisitor) {
14-
visitor.visit_child("chunk_offsets", array.chunk_offsets.as_ref());
14+
visitor.visit_child("chunk_offsets", &array.chunk_offsets.to_array());
1515

1616
for (idx, chunk) in array.chunks().iter().enumerate() {
1717
visitor.visit_child(format!("chunks[{idx}]").as_str(), chunk);

vortex-array/src/arrays/extension/vtable/visitor.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,6 @@ impl VisitorVTable<ExtensionVTable> for ExtensionVTable {
1111
fn visit_buffers(_array: &ExtensionArray, _visitor: &mut dyn ArrayBufferVisitor) {}
1212

1313
fn visit_children(array: &ExtensionArray, visitor: &mut dyn ArrayChildVisitor) {
14-
visitor.visit_child("storage", array.storage.as_ref());
14+
visitor.visit_child("storage", &array.storage);
1515
}
1616
}

vortex-array/src/arrays/filter/vtable.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ impl VTable for FilterVTable {
126126
return Ok(new_k);
127127
}
128128
PushDownResult::NotPushed(child) => {
129-
tracing::warn!(
129+
tracing::debug!(
130130
"Filter pushdown was cheaper but not supported by child array {}",
131131
array.child.display_tree()
132132
);

vortex-array/src/arrays/masked/vtable/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ impl VisitorVTable<MaskedVTable> for MaskedVTable {
4242
fn visit_buffers(_array: &MaskedArray, _visitor: &mut dyn ArrayBufferVisitor) {}
4343

4444
fn visit_children(array: &MaskedArray, visitor: &mut dyn ArrayChildVisitor) {
45-
visitor.visit_child("child", array.child.as_ref());
45+
visitor.visit_child("child", &array.child);
4646
visitor.visit_validity(&array.validity, array.child.len());
4747
}
4848
}

vortex-array/src/arrays/scalar_fn/vtable/canonical.rs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,9 @@ impl CanonicalVTable<ScalarFnVTable> for ScalarFnVTable {
1919

2020
let mut child_datums = Vec::with_capacity(array.children.len());
2121
for child in array.children.iter() {
22-
let datum = child
23-
.execute_datum_optimized(&LEGACY_SESSION)
24-
.vortex_expect(
25-
"Failed to execute child array during canonicalization of ScalarFnArray",
26-
);
22+
let datum = child.execute_datum(&LEGACY_SESSION).vortex_expect(
23+
"Failed to execute child array during canonicalization of ScalarFnArray",
24+
);
2725
child_datums.push(datum);
2826
}
2927

vortex-array/src/arrays/scalar_fn/vtable/visitor.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ impl VisitorVTable<ScalarFnVTable> for ScalarFnVTable {
1313
fn visit_children(array: &ScalarFnArray, visitor: &mut dyn ArrayChildVisitor) {
1414
for (idx, child) in array.children.iter().enumerate() {
1515
let name = array.scalar_fn.signature().child_name(idx);
16-
visitor.visit_child(name.as_ref(), child.as_ref())
16+
visitor.visit_child(name.as_ref(), child)
1717
}
1818
}
1919
}

0 commit comments

Comments
 (0)