Skip to content

Commit

Permalink
Add expired_metadata_logs to TableMetadataBuildResult
Browse files Browse the repository at this point in the history
  • Loading branch information
c-thiel committed Aug 30, 2024
1 parent c88a6ef commit fe42e2a
Showing 1 changed file with 8 additions and 3 deletions.
11 changes: 8 additions & 3 deletions crates/iceberg/src/spec/table_metadata_builder.rs
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ pub struct TableMetadataBuilder {
pub struct TableMetadataBuildResult {
pub metadata: TableMetadata,
pub changes: Vec<TableUpdate>,
pub expired_metadata_logs: Vec<MetadataLog>,
}

impl TableMetadataBuilder {
Expand Down Expand Up @@ -839,7 +840,7 @@ impl TableMetadataBuilder {
.with_fields(sort_order.fields)
.build(schema)?;

self.expire_metadata_log();
let expired_metadata_logs = self.expire_metadata_log();
self.update_snapshot_log()?;
self.metadata.try_normalize()?;

Expand All @@ -850,10 +851,11 @@ impl TableMetadataBuilder {
Ok(TableMetadataBuildResult {
metadata: self.metadata,
changes: self.changes,
expired_metadata_logs,
})
}

fn expire_metadata_log(&mut self) {
fn expire_metadata_log(&mut self) -> Vec<MetadataLog> {
let max_size = self
.metadata
.properties
Expand All @@ -865,7 +867,10 @@ impl TableMetadataBuilder {
if self.metadata.metadata_log.len() > max_size {
self.metadata
.metadata_log
.drain(0..self.metadata.metadata_log.len() - max_size);
.drain(0..self.metadata.metadata_log.len() - max_size)
.collect()
} else {
Vec::new()
}
}

Expand Down

0 comments on commit fe42e2a

Please sign in to comment.