1717
1818use std:: sync:: Arc ;
1919
20- use arrow:: error:: ArrowError ;
2120use datafusion:: arrow:: datatypes:: SchemaRef ;
22- use datafusion:: datasource:: physical_plan:: { FileMeta , FileOpenFuture , FileOpener , FileScanConfig } ;
21+ use datafusion:: arrow:: error:: ArrowError ;
22+ use datafusion:: datasource:: physical_plan:: { FileOpenFuture , FileOpener , FileScanConfig } ;
2323use datafusion:: error:: Result ;
2424use datafusion_datasource:: PartitionedFile ;
2525use orc_rust:: projection:: ProjectionMask ;
@@ -45,21 +45,21 @@ impl OrcOpener {
4545 ) -> Self {
4646 let projection = config
4747 . file_column_projection_indices ( )
48- . unwrap_or_else ( || ( 0 ..config. file_schema . fields ( ) . len ( ) ) . collect ( ) ) ;
48+ . unwrap_or_else ( || ( 0 ..config. file_schema ( ) . fields ( ) . len ( ) ) . collect ( ) ) ;
4949
5050 Self {
5151 projection,
5252 batch_size : config. batch_size . unwrap_or ( batch_size) ,
53- table_schema : config. file_schema . clone ( ) ,
53+ table_schema : config. file_schema ( ) . clone ( ) ,
5454 object_store,
5555 }
5656 }
5757}
5858
5959impl FileOpener for OrcOpener {
60- fn open ( & self , file_meta : FileMeta , _ : PartitionedFile ) -> Result < FileOpenFuture > {
61- let reader =
62- ObjectStoreReader :: new ( self . object_store . clone ( ) , file_meta . object_meta . clone ( ) ) ;
60+ fn open ( & self , file : PartitionedFile ) -> Result < FileOpenFuture > {
61+ let object_meta = & file . object_meta ;
62+ let reader = ObjectStoreReader :: new ( self . object_store . clone ( ) , object_meta. clone ( ) ) ;
6363 let batch_size = self . batch_size ;
6464 let projected_schema = SchemaRef :: from ( self . table_schema . project ( & self . projection ) ?) ;
6565
@@ -78,7 +78,7 @@ impl FileOpener for OrcOpener {
7878 }
7979 let projection_mask =
8080 ProjectionMask :: roots ( builder. file_metadata ( ) . root_data_type ( ) , projection) ;
81- if let Some ( range) = file_meta . range . clone ( ) {
81+ if let Some ( range) = file . range . clone ( ) {
8282 let range = range. start as usize ..range. end as usize ;
8383 builder = builder. with_file_byte_range ( range) ;
8484 }
0 commit comments