From 6398333052286b91c3e949291cd0254e0d088dea Mon Sep 17 00:00:00 2001 From: Aron Hansen Berggren Date: Fri, 3 Jun 2022 17:02:32 +0200 Subject: [PATCH] Fixed using lower limit than size of first parquet row group --- src/io/parquet/read/file.rs | 5 +++-- src/io/parquet/read/row_group.rs | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/io/parquet/read/file.rs b/src/io/parquet/read/file.rs index effb5c1c948..2bcf7b3e9ed 100644 --- a/src/io/parquet/read/file.rs +++ b/src/io/parquet/read/file.rs @@ -80,7 +80,7 @@ impl FileReader { metadata: schema_metadata, }; - let row_groups = RowGroupReader::new( + let mut row_groups = RowGroupReader::new( reader, schema, groups_filter, @@ -88,12 +88,13 @@ impl FileReader { chunk_size, limit, ); + let current_row_group = row_groups.next().transpose()?; Ok(Self { row_groups, metadata, remaining_rows: limit.unwrap_or(usize::MAX), - current_row_group: None, + current_row_group, }) } diff --git a/src/io/parquet/read/row_group.rs b/src/io/parquet/read/row_group.rs index b53e60f271f..754b3528bb0 100644 --- a/src/io/parquet/read/row_group.rs +++ b/src/io/parquet/read/row_group.rs @@ -78,10 +78,11 @@ impl Iterator for RowGroupDeserializer { }) .collect::>>() .map(Chunk::new); - self.remaining_rows -= chunk + self.remaining_rows = self.remaining_rows.saturating_sub(chunk .as_ref() .map(|x| x.len()) - .unwrap_or(self.remaining_rows); + .unwrap_or(self.remaining_rows) + ); Some(chunk) }