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();
}
}