pub struct BackupManifest {
pub format_version: u16,
pub epoch: u64,
pub created_unix_nanos: u64,
pub database_id: Option<DatabaseId>,
pub catalog_version: u64,
pub snapshot_unix_micros: u64,
pub open_generation: u64,
pub encryption: Option<BackupEncryptionMetadata>,
pub files: Vec<BackupFile>,
}Fields§
§format_version: u16§epoch: u64§created_unix_nanos: u64§database_id: Option<DatabaseId>Database identity (spec 10.7). Derived from the persisted replication
identity (_meta/replication_id, 32 CSPRNG bytes created on first
open): the DatabaseId is its first 16 bytes. The derivation is
deterministic, stable across backups of one database, and travels
with the backup because the marker file is part of the copied file
set. None only when the source directory lacks the marker (a
database never opened by a replication-aware binary); backup never
invents or persists a fresh identity.
catalog_version: u64Catalog command state-machine version at the backup boundary
(S1F). 0 means “unknown”: pre-1G manifests, legacy catalogs, and
encrypted catalogs whose bytes cannot be decoded here without the
database passphrase.
snapshot_unix_micros: u64Snapshot wall clock in HLC physical units (microseconds since the
UNIX epoch), captured at manifest creation right after the commit
boundary was copied. 0 means “unknown” (pre-1G manifests). The
exact boundary nanoseconds remain available to the caller through
BackupReport::boundary_unix_nanos.
open_generation: u64WAL open generation scoping epoch, read from _meta/generation.
Together (epoch, open_generation) is the log continuation position:
the durable commit watermark plus the generation that scopes the WAL
record sequence it refers to. 0 means “unknown” (pre-1G manifests
or a missing sidecar).
encryption: Option<BackupEncryptionMetadata>Encryption metadata; None identifies a plaintext backup.
files: Vec<BackupFile>Implementations§
Source§impl BackupManifest
impl BackupManifest
pub fn total_bytes(&self) -> u64
Trait Implementations§
Source§impl Clone for BackupManifest
impl Clone for BackupManifest
Source§fn clone(&self) -> BackupManifest
fn clone(&self) -> BackupManifest
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for BackupManifest
impl Debug for BackupManifest
Source§impl<'de> Deserialize<'de> for BackupManifest
impl<'de> Deserialize<'de> for BackupManifest
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for BackupManifest
Source§impl PartialEq for BackupManifest
impl PartialEq for BackupManifest
Source§impl Serialize for BackupManifest
impl Serialize for BackupManifest
impl StructuralPartialEq for BackupManifest
Auto Trait Implementations§
impl Freeze for BackupManifest
impl RefUnwindSafe for BackupManifest
impl Send for BackupManifest
impl Sync for BackupManifest
impl Unpin for BackupManifest
impl UnsafeUnpin for BackupManifest
impl UnwindSafe for BackupManifest
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more