@@ -46,7 +46,7 @@ use tokio::runtime::Handle;
46
46
/// println!("Found Blob with {}B at {}", meta.size, meta.location);
47
47
///
48
48
/// // Show Parquet metadata
49
- /// let reader = ParquetObjectReader::new(storage_container, meta.location).with_file_size(meta.size);
49
+ /// let reader = ParquetObjectReader::new(storage_container, meta.location).with_file_size(meta.size.try_into().unwrap() );
50
50
/// let builder = ParquetRecordBatchStreamBuilder::new(reader).await.unwrap();
51
51
/// print_parquet_metadata(&mut stdout(), builder.metadata());
52
52
/// # }
@@ -163,7 +163,7 @@ impl ParquetObjectReader {
163
163
impl MetadataSuffixFetch for & mut ParquetObjectReader {
164
164
fn fetch_suffix ( & mut self , suffix : usize ) -> BoxFuture < ' _ , Result < Bytes > > {
165
165
let options = GetOptions {
166
- range : Some ( GetRange :: Suffix ( suffix) ) ,
166
+ range : Some ( GetRange :: Suffix ( suffix as u64 ) ) ,
167
167
..Default :: default ( )
168
168
} ;
169
169
self . spawn ( |store, path| {
@@ -178,13 +178,18 @@ impl MetadataSuffixFetch for &mut ParquetObjectReader {
178
178
179
179
impl AsyncFileReader for ParquetObjectReader {
180
180
fn get_bytes ( & mut self , range : Range < usize > ) -> BoxFuture < ' _ , Result < Bytes > > {
181
+ let range = range. start as u64 ..range. end as u64 ;
181
182
self . spawn ( |store, path| store. get_range ( path, range) )
182
183
}
183
184
184
185
fn get_byte_ranges ( & mut self , ranges : Vec < Range < usize > > ) -> BoxFuture < ' _ , Result < Vec < Bytes > > >
185
186
where
186
187
Self : Send ,
187
188
{
189
+ let ranges = ranges
190
+ . into_iter ( )
191
+ . map ( |range| range. start as u64 ..range. end as u64 )
192
+ . collect :: < Vec < _ > > ( ) ;
188
193
self . spawn ( |store, path| async move { store. get_ranges ( path, & ranges) . await } . boxed ( ) )
189
194
}
190
195
@@ -254,8 +259,8 @@ mod tests {
254
259
#[ tokio:: test]
255
260
async fn test_simple ( ) {
256
261
let ( meta, store) = get_meta_store ( ) . await ;
257
- let object_reader =
258
- ParquetObjectReader :: new ( store , meta . location ) . with_file_size ( meta. size ) ;
262
+ let object_reader = ParquetObjectReader :: new ( store , meta . location )
263
+ . with_file_size ( meta. size . try_into ( ) . unwrap ( ) ) ;
259
264
260
265
let builder = ParquetRecordBatchStreamBuilder :: new ( object_reader)
261
266
. await
@@ -285,8 +290,8 @@ mod tests {
285
290
let ( mut meta, store) = get_meta_store ( ) . await ;
286
291
meta. location = Path :: from ( "I don't exist.parquet" ) ;
287
292
288
- let object_reader =
289
- ParquetObjectReader :: new ( store , meta . location ) . with_file_size ( meta. size ) ;
293
+ let object_reader = ParquetObjectReader :: new ( store , meta . location )
294
+ . with_file_size ( meta. size . try_into ( ) . unwrap ( ) ) ;
290
295
// Cannot use unwrap_err as ParquetRecordBatchStreamBuilder: !Debug
291
296
match ParquetRecordBatchStreamBuilder :: new ( object_reader) . await {
292
297
Ok ( _) => panic ! ( "expected failure" ) ,
@@ -320,7 +325,7 @@ mod tests {
320
325
let initial_actions = num_actions. load ( Ordering :: Relaxed ) ;
321
326
322
327
let reader = ParquetObjectReader :: new ( store, meta. location )
323
- . with_file_size ( meta. size )
328
+ . with_file_size ( meta. size . try_into ( ) . unwrap ( ) )
324
329
. with_runtime ( rt. handle ( ) . clone ( ) ) ;
325
330
326
331
let builder = ParquetRecordBatchStreamBuilder :: new ( reader) . await . unwrap ( ) ;
@@ -348,7 +353,7 @@ mod tests {
348
353
let ( meta, store) = get_meta_store ( ) . await ;
349
354
350
355
let reader = ParquetObjectReader :: new ( store, meta. location )
351
- . with_file_size ( meta. size )
356
+ . with_file_size ( meta. size . try_into ( ) . unwrap ( ) )
352
357
. with_runtime ( rt. handle ( ) . clone ( ) ) ;
353
358
354
359
let current_id = std:: thread:: current ( ) . id ( ) ;
@@ -373,7 +378,7 @@ mod tests {
373
378
let ( meta, store) = get_meta_store ( ) . await ;
374
379
375
380
let mut reader = ParquetObjectReader :: new ( store, meta. location )
376
- . with_file_size ( meta. size )
381
+ . with_file_size ( meta. size . try_into ( ) . unwrap ( ) )
377
382
. with_runtime ( rt. handle ( ) . clone ( ) ) ;
378
383
379
384
rt. shutdown_background ( ) ;
0 commit comments