mbrobbel commented on code in PR #7252:
URL: https://github.com/apache/arrow-rs/pull/7252#discussion_r2013636708


##########
parquet/src/arrow/arrow_reader/selection.rs:
##########
@@ -202,7 +202,7 @@ impl RowSelection {
                 if !(selector.skip || current_page_included) {
                     let start = page.offset as usize;
                     let end = start + page.compressed_page_size as usize;
-                    ranges.push(start..end);
+                    ranges.push(start as u64..end as u64);

Review Comment:
   ```suggestion
                       let start = page.offset as u64;
                       let end = start + page.compressed_page_size as u64;
                       ranges.push(start..end);
   ```



##########
parquet/src/arrow/async_reader/mod.rs:
##########
@@ -145,14 +145,14 @@ impl AsyncFileReader for Box<dyn AsyncFileReader + '_> {
 }
 
 impl<T: AsyncRead + AsyncSeek + Unpin + Send> AsyncFileReader for T {
-    fn get_bytes(&mut self, range: Range<usize>) -> BoxFuture<'_, 
Result<Bytes>> {
+    fn get_bytes(&mut self, range: Range<u64>) -> BoxFuture<'_, Result<Bytes>> 
{
         async move {
-            self.seek(SeekFrom::Start(range.start as u64)).await?;
+            self.seek(SeekFrom::Start(range.start)).await?;
 
             let to_read = range.end - range.start;
-            let mut buffer = Vec::with_capacity(to_read);
-            let read = self.take(to_read as u64).read_to_end(&mut 
buffer).await?;
-            if read != to_read {
+            let mut buffer = Vec::with_capacity(to_read as usize);
+            let read = self.take(to_read).read_to_end(&mut buffer).await?;
+            if read != to_read as usize {

Review Comment:
   ```suggestion
               if read as u64 != to_read {
   ```



##########
parquet/src/arrow/async_reader/metadata.rs:
##########
@@ -66,12 +67,12 @@ pub trait MetadataFetch {
     ///
     /// Note the returned type is a boxed future, often created by
     /// [FutureExt::boxed]. See the trait documentation for an example
-    fn fetch(&mut self, range: Range<usize>) -> BoxFuture<'_, Result<Bytes>>;
+    fn fetch(&mut self, range: Range<u64>) -> BoxFuture<'_, Result<Bytes>>;
 }
 
 impl<T: AsyncFileReader> MetadataFetch for &mut T {
-    fn fetch(&mut self, range: Range<usize>) -> BoxFuture<'_, Result<Bytes>> {
-        self.get_bytes(range)
+    fn fetch(&mut self, range: Range<u64>) -> BoxFuture<'_, Result<Bytes>> {
+        self.get_bytes(range.start..range.end)

Review Comment:
   The trait was updated to also use `Range<u64>`:
   ```suggestion
           self.get_bytes(range)
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscr...@arrow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to