@@ -69,7 +69,7 @@ impl MemTable {
6969 ctx : & SessionState ,
7070 ) -> Result < Self > {
7171 let schema = t. schema ( ) ;
72- let exec = t. scan ( ctx, & None , & [ ] , None ) . await ?;
72+ let exec = t. scan ( ctx, None , & [ ] , None ) . await ?;
7373 let partition_count = exec. output_partitioning ( ) . partition_count ( ) ;
7474
7575 let tasks = ( 0 ..partition_count)
@@ -136,14 +136,14 @@ impl TableProvider for MemTable {
136136 async fn scan (
137137 & self ,
138138 _ctx : & SessionState ,
139- projection : & Option < Vec < usize > > ,
139+ projection : Option < & Vec < usize > > ,
140140 _filters : & [ Expr ] ,
141141 _limit : Option < usize > ,
142142 ) -> Result < Arc < dyn ExecutionPlan > > {
143143 Ok ( Arc :: new ( MemoryExec :: try_new (
144144 & self . batches . clone ( ) ,
145145 self . schema ( ) ,
146- projection. clone ( ) ,
146+ projection. cloned ( ) ,
147147 ) ?) )
148148 }
149149}
@@ -184,7 +184,7 @@ mod tests {
184184
185185 // scan with projection
186186 let exec = provider
187- . scan ( & session_ctx. state ( ) , & Some ( vec ! [ 2 , 1 ] ) , & [ ] , None )
187+ . scan ( & session_ctx. state ( ) , Some ( & vec ! [ 2 , 1 ] ) , & [ ] , None )
188188 . await ?;
189189
190190 let mut it = exec. execute ( 0 , task_ctx) ?;
@@ -218,9 +218,7 @@ mod tests {
218218
219219 let provider = MemTable :: try_new ( schema, vec ! [ vec![ batch] ] ) ?;
220220
221- let exec = provider
222- . scan ( & session_ctx. state ( ) , & None , & [ ] , None )
223- . await ?;
221+ let exec = provider. scan ( & session_ctx. state ( ) , None , & [ ] , None ) . await ?;
224222 let mut it = exec. execute ( 0 , task_ctx) ?;
225223 let batch1 = it. next ( ) . await . unwrap ( ) ?;
226224 assert_eq ! ( 3 , batch1. schema( ) . fields( ) . len( ) ) ;
@@ -253,7 +251,7 @@ mod tests {
253251 let projection: Vec < usize > = vec ! [ 0 , 4 ] ;
254252
255253 match provider
256- . scan ( & session_ctx. state ( ) , & Some ( projection) , & [ ] , None )
254+ . scan ( & session_ctx. state ( ) , Some ( & projection) , & [ ] , None )
257255 . await
258256 {
259257 Err ( DataFusionError :: ArrowError ( ArrowError :: SchemaError ( e) ) ) => {
@@ -381,9 +379,7 @@ mod tests {
381379 let provider =
382380 MemTable :: try_new ( Arc :: new ( merged_schema) , vec ! [ vec![ batch1, batch2] ] ) ?;
383381
384- let exec = provider
385- . scan ( & session_ctx. state ( ) , & None , & [ ] , None )
386- . await ?;
382+ let exec = provider. scan ( & session_ctx. state ( ) , None , & [ ] , None ) . await ?;
387383 let mut it = exec. execute ( 0 , task_ctx) ?;
388384 let batch1 = it. next ( ) . await . unwrap ( ) ?;
389385 assert_eq ! ( 3 , batch1. schema( ) . fields( ) . len( ) ) ;
0 commit comments