From 3d18dc7283bc415c4b4402d86cc784f58c21aa5e Mon Sep 17 00:00:00 2001 From: "Jorge C. Leitao" Date: Sun, 24 Oct 2021 05:36:19 +0000 Subject: [PATCH] Fixed error in reading fixed_len from parquet --- src/io/parquet/read/fixed_size_binary.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/io/parquet/read/fixed_size_binary.rs b/src/io/parquet/read/fixed_size_binary.rs index 9552b2b1082..029b82e78a7 100644 --- a/src/io/parquet/read/fixed_size_binary.rs +++ b/src/io/parquet/read/fixed_size_binary.rs @@ -78,7 +78,7 @@ pub(crate) fn read_optional( values: &mut MutableBuffer, validity: &mut MutableBitmap, ) { - let length = values.len() * size + additional; + let length = values.len() + additional * size; assert_eq!(values_buffer.len() % size, 0); let mut values_iterator = values_buffer.chunks_exact(size); @@ -89,7 +89,7 @@ pub(crate) fn read_optional( match run { hybrid_rle::HybridEncoded::Bitpacked(packed) => { // the pack may contain more items than needed. - let remaining = length - values.len() * size; + let remaining = length * size - values.len(); let len = std::cmp::min(packed.len() * 8, remaining); for is_valid in BitmapIter::new(packed, 0, len) { validity.push(is_valid);