File tree Expand file tree Collapse file tree 3 files changed +5
-9
lines changed
Expand file tree Collapse file tree 3 files changed +5
-9
lines changed Original file line number Diff line number Diff line change @@ -64,8 +64,9 @@ impl ArrayOptimizer {
6464 let mut children_changed = false ;
6565
6666 for child in children. iter ( ) {
67+ let child = child. to_array ( ) ;
6768 let optimized_child = self . apply_parent_rules ( child. clone ( ) , ctx) ?;
68- children_changed |= !std:: sync:: Arc :: ptr_eq ( & optimized_child, child) ;
69+ children_changed |= !std:: sync:: Arc :: ptr_eq ( & optimized_child, & child) ;
6970 optimized_children. push ( optimized_child) ;
7071 }
7172
@@ -128,8 +129,9 @@ impl ArrayOptimizer {
128129 let mut changed = false ;
129130
130131 for child in children. iter ( ) {
132+ let child = child. to_array ( ) ;
131133 let optimized_child = self . apply_reduce_rules ( child. clone ( ) , ctx) ?;
132- changed |= !std:: sync:: Arc :: ptr_eq ( & optimized_child, child) ;
134+ changed |= !std:: sync:: Arc :: ptr_eq ( & optimized_child, & child) ;
133135 new_children. push ( optimized_child) ;
134136 }
135137
Original file line number Diff line number Diff line change 33
44use crate :: arrays:: { ChunkedArray , ChunkedVTable } ;
55use crate :: vtable:: VisitorVTable ;
6- use crate :: { Array , ArrayBufferVisitor , ArrayChildVisitor } ;
6+ use crate :: { ArrayBufferVisitor , ArrayChildVisitor } ;
77
88impl VisitorVTable < ChunkedVTable > for ChunkedVTable {
99 fn visit_buffers ( _array : & ChunkedArray , _visitor : & mut dyn ArrayBufferVisitor ) { }
Original file line number Diff line number Diff line change @@ -47,12 +47,6 @@ pub trait Encoding: 'static + private::Sealed + Send + Sync + Debug {
4747 children : & dyn ArrayChildren ,
4848 ) -> VortexResult < ArrayRef > ;
4949
50- fn with_children (
51- & self ,
52- array : & dyn Array ,
53- children : & dyn ArrayChildren ,
54- ) -> VortexResult < ArrayRef > ;
55-
5650 /// Encode the canonical array into this encoding implementation.
5751 /// Returns `None` if this encoding does not support the given canonical array, for example
5852 /// if the data type is incompatible.
You can’t perform that action at this time.
0 commit comments