Skip to content

Commit

Permalink
Made offsets be always written
Browse files Browse the repository at this point in the history
  • Loading branch information
jorgecarleitao committed Apr 12, 2022
1 parent 2fc0a78 commit 286d6c9
Showing 1 changed file with 20 additions and 18 deletions.
38 changes: 20 additions & 18 deletions src/write/file.rs
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ impl<W: Write> FileWriter<W> {
let num_rows = self.row_groups.iter().map(|group| group.num_rows).sum();

if self.options.write_statistics {
// write column indexes
// write column indexes (require page statistics)
self.row_groups
.iter_mut()
.zip(self.page_specs.iter())
Expand All @@ -144,25 +144,27 @@ impl<W: Write> FileWriter<W> {
)?;
Result::Ok(())
})?;

// write offset index
self.row_groups
.iter_mut()
.zip(self.page_specs.iter())
.try_for_each(|(group, pages)| {
group.columns.iter_mut().zip(pages.iter()).try_for_each(
|(column, pages)| {
let offset = self.offset;
column.offset_index_offset = Some(offset as i64);
self.offset += write_offset_index(&mut self.writer, pages)?;
column.offset_index_length = Some((self.offset - offset) as i32);
Result::Ok(())
},
)?;
Result::Ok(())
})?;
};

// write offset index
self.row_groups
.iter_mut()
.zip(self.page_specs.iter())
.try_for_each(|(group, pages)| {
group
.columns
.iter_mut()
.zip(pages.iter())
.try_for_each(|(column, pages)| {
let offset = self.offset;
column.offset_index_offset = Some(offset as i64);
self.offset += write_offset_index(&mut self.writer, pages)?;
column.offset_index_length = Some((self.offset - offset) as i32);
Result::Ok(())
})?;
Result::Ok(())
})?;

let metadata = FileMetaData::new(
self.options.version.into(),
self.schema.into_thrift(),
Expand Down

0 comments on commit 286d6c9

Please sign in to comment.