This is an automated email from the ASF dual-hosted git repository.

tustvold pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/arrow-rs.git


The following commit(s) were added to refs/heads/master by this push:
     new 526a2b837 Fix bug in page skipping (#2504)
526a2b837 is described below

commit 526a2b837f59007ee335f1082f5e1f3ffa7f6ce0
Author: Dan Harris <[email protected]>
AuthorDate: Thu Aug 18 15:15:13 2022 -0400

    Fix bug in page skipping (#2504)
---
 parquet/src/file/serialized_reader.rs | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/parquet/src/file/serialized_reader.rs 
b/parquet/src/file/serialized_reader.rs
index 4c8951332..f3beb57c0 100644
--- a/parquet/src/file/serialized_reader.rs
+++ b/parquet/src/file/serialized_reader.rs
@@ -730,6 +730,7 @@ impl<R: ChunkReader> PageReader for SerializedPageReader<R> 
{
                 if let Some(buffered_header) = next_page_header.take() {
                     // The next page header has already been peeked, so just 
advance the offset
                     *offset += buffered_header.compressed_page_size as usize;
+                    *remaining_bytes -= buffered_header.compressed_page_size 
as usize;
                 } else {
                     let mut read =
                         self.reader.get_read(*offset as u64, 
*remaining_bytes)?;
@@ -1556,6 +1557,7 @@ mod tests {
             if i % 2 == 0 {
                 vec.push(column_page_reader.get_next_page().unwrap().unwrap());
             } else {
+                column_page_reader.peek_next_page().unwrap().unwrap();
                 column_page_reader.skip_next_page().unwrap();
             }
         }

Reply via email to