Skip to content

Commit

Permalink
Fixed nested boolean offset (jorgecarleitao#1404)
Browse files Browse the repository at this point in the history
  • Loading branch information
ritchie46 authored and jgmartin committed Feb 22, 2023
1 parent 867b051 commit 23a3015
Showing 1 changed file with 8 additions and 5 deletions.
13 changes: 8 additions & 5 deletions src/io/parquet/write/boolean/nested.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ use parquet2::{encoding::Encoding, page::DataPage};
use super::super::{nested, utils, WriteOptions};
use super::basic::{build_statistics, encode_plain};
use crate::io::parquet::read::schema::is_nullable;
use crate::io::parquet::write::{slice_nested_leaf, Nested};
use crate::io::parquet::write::Nested;
use crate::{
array::{Array, BooleanArray},
error::Result,
Expand All @@ -18,23 +18,26 @@ pub fn array_to_page(
) -> Result<DataPage> {
let is_optional = is_nullable(&type_.field_info);

<<<<<<< HEAD
let mut nested = nested.to_vec();

=======
>>>>>>> c12b6005 (Fixed nested boolean offset (#1404))
let mut buffer = vec![];
let (repetition_levels_byte_length, definition_levels_byte_length) =
nested::write_rep_and_def(options.version, &nested, &mut buffer)?;
nested::write_rep_and_def(options.version, nested, &mut buffer)?;

encode_plain(&array, is_optional, &mut buffer)?;
encode_plain(array, is_optional, &mut buffer)?;

let statistics = if options.write_statistics {
Some(build_statistics(&array))
Some(build_statistics(array))
} else {
None
};

utils::build_plain_page(
buffer,
nested::num_values(&nested),
nested::num_values(nested),
nested[0].len(),
array.null_count(),
repetition_levels_byte_length,
Expand Down

0 comments on commit 23a3015

Please sign in to comment.