diff --git a/crates/iceberg/src/spec/manifest/_serde.rs b/crates/iceberg/src/spec/manifest/_serde.rs index 0f15479d95..40e707f62b 100644 --- a/crates/iceberg/src/spec/manifest/_serde.rs +++ b/crates/iceberg/src/spec/manifest/_serde.rs @@ -97,7 +97,7 @@ impl ManifestEntryV1 { } #[serde_as] -#[derive(Serialize, Deserialize)] +#[derive(Serialize, Deserialize, Clone)] /// Data file pub struct DataFileSerde { #[serde(default)] diff --git a/crates/iceberg/src/transaction/mod.rs b/crates/iceberg/src/transaction/mod.rs index d79747a8c6..245898a582 100644 --- a/crates/iceberg/src/transaction/mod.rs +++ b/crates/iceberg/src/transaction/mod.rs @@ -131,7 +131,8 @@ impl<'a> Transaction<'a> { Ok(self) } - fn generate_unique_snapshot_id(&self) -> i64 { + /// Generate a new `snapshot_id`. + pub fn generate_unique_snapshot_id(&self) -> i64 { let generate_random_id = || -> i64 { let (lhs, rhs) = Uuid::new_v4().as_u64_pair(); let snapshot_id = (lhs ^ rhs) as i64;