File tree Expand file tree Collapse file tree 4 files changed +10
-6
lines changed
vortex-layout/src/layouts/flat Expand file tree Collapse file tree 4 files changed +10
-6
lines changed Original file line number Diff line number Diff line change @@ -5,7 +5,6 @@ name: PR Benchmarks
55on :
66 pull_request :
77 types : [labeled, synchronize]
8- branches : ["develop"]
98 workflow_dispatch : { }
109
1110permissions :
Original file line number Diff line number Diff line change @@ -5,7 +5,6 @@ name: PR SQL Benchmarks
55on :
66 pull_request :
77 types : [labeled, synchronize]
8- branches : ["develop"]
98 workflow_dispatch : { }
109
1110permissions :
Original file line number Diff line number Diff line change @@ -31,8 +31,10 @@ use vortex_mask::Mask;
3131use crate :: Array ;
3232use crate :: ArrayRef ;
3333use crate :: IntoArray ;
34+ use crate :: VectorExecutor ;
3435use crate :: kernel:: BindCtx ;
3536use crate :: kernel:: KernelRef ;
37+ use crate :: kernel:: kernel;
3638use crate :: serde:: ArrayChildren ;
3739
3840/// The array [`VTable`] encapsulates logic for an Array type within Vortex.
@@ -143,8 +145,12 @@ pub trait VTable: 'static + Sized + Send + Sync + Debug {
143145 /// arrays as needed.
144146 fn bind_kernel ( array : & Self :: Array , ctx : & mut BindCtx ) -> VortexResult < KernelRef > {
145147 // TODO(ngates): convert arrays to canonicalize over vectors.
146- let canonical = Self :: CanonicalVTable :: canonicalize ( array) ;
147- canonical. into_array ( ) . bind_kernel ( ctx)
148+ let array = array. clone ( ) ;
149+ let session = ctx. session ( ) . clone ( ) ;
150+ Ok ( kernel ( move || {
151+ let canonical = Self :: CanonicalVTable :: canonicalize ( & array) ;
152+ canonical. into_array ( ) . execute_vector_optimized ( & session)
153+ } ) )
148154 }
149155
150156 /// Return an array filtered using the given mask.
Original file line number Diff line number Diff line change @@ -152,9 +152,9 @@ impl LayoutReader for FlatReader {
152152 // Apply the expression to the array.
153153 let array = array. apply ( & expr) ?;
154154
155- log:: info !( "Filter Array:\n {}" , array. display_tree( ) ) ;
155+ log:: debug !( "Filter Array:\n {}" , array. display_tree( ) ) ;
156156 let array = optimizer. optimize_array ( & array) ?;
157- log:: warn !( "Optimized Filter Array:\n {}" , array. display_tree( ) ) ;
157+ log:: info !( "Optimized Filter Array:\n {}" , array. display_tree( ) ) ;
158158
159159 // Evaluate the array into a mask.
160160 let array_mask = array. execute_mask ( & session) ?;
You can’t perform that action at this time.
0 commit comments