parx-rs 0.1.0

Parx format Rust library
Documentation
// This file is @generated by prost-build.
#[derive(Eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ParxManifest {
    /// Schema version
    #[prost(uint32, tag = "1")]
    pub version: u32,
    /// Optional URI of the source Parquet file
    #[prost(string, tag = "2")]
    pub source_uri: ::prost::alloc::string::String,
    /// Required: Size of the source Parquet file in bytes.
    #[prost(uint64, tag = "3")]
    pub source_size: u64,
    /// Checksum of the original Parquet footer bytes (currently CRC32C, 4 bytes).
    #[prost(bytes = "vec", tag = "4")]
    pub source_footer_checksum: ::prost::alloc::vec::Vec<u8>,
    /// Offset in this .parx file where footer bytes begin
    #[prost(uint64, tag = "10")]
    pub footer_offset: u64,
    /// Length of the cached footer bytes
    #[prost(uint64, tag = "11")]
    pub footer_length: u64,
    /// Checksum of the stored footer bytes (currently CRC32C, 4 bytes).
    #[prost(bytes = "vec", tag = "12")]
    pub footer_checksum: ::prost::alloc::vec::Vec<u8>,
    /// Unix timestamp in milliseconds when this file was created
    #[prost(uint64, tag = "21")]
    pub created_at_ms: u64,
    /// Extension 1: Compression
    /// Uncompressed size of footer (0 if not compressed)
    #[prost(uint64, tag = "40")]
    pub footer_uncompressed_size: u64,
    /// Extension 2: Page Indexes
    /// Offset in this .parx file where page index data begins
    #[prost(uint64, tag = "50")]
    pub page_index_offset: u64,
    /// Length of the page index data section
    #[prost(uint64, tag = "51")]
    pub page_index_length: u64,
    /// Checksum of the page index data (currently CRC32C, 4 bytes).
    #[prost(bytes = "vec", tag = "52")]
    pub page_index_checksum: ::prost::alloc::vec::Vec<u8>,
    /// Uncompressed size of page indexes (0 if not compressed)
    #[prost(uint64, tag = "53")]
    pub page_index_uncompressed_size: u64,
}
/// Extension 3: Bundle format
/// ParxBundle is the manifest for a multi-file bundle (_parx_bundle.parx).
/// It contains metadata for multiple Parquet files in a single file.
#[derive(Eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ParxBundle {
    /// Bundle schema version
    #[prost(uint32, tag = "1")]
    pub version: u32,
    /// Unix timestamp in milliseconds when this bundle was created
    #[prost(uint64, tag = "2")]
    pub created_at_ms: u64,
    /// Index of all entries in this bundle
    #[prost(message, repeated, tag = "10")]
    pub entries: ::prost::alloc::vec::Vec<BundleEntry>,
}
/// BundleEntry describes a single Parquet file's cached metadata within a bundle.
#[derive(Eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BundleEntry {
    /// Relative path to the Parquet file (e.g., "part-00000.parquet")
    #[prost(string, tag = "1")]
    pub parquet_path: ::prost::alloc::string::String,
    /// Source file size for stale detection
    #[prost(uint64, tag = "2")]
    pub source_size: u64,
    /// Footer location within the bundle
    #[prost(uint64, tag = "10")]
    pub footer_offset: u64,
    #[prost(uint64, tag = "11")]
    pub footer_length: u64,
    /// Currently CRC32C (4 bytes)
    #[prost(bytes = "vec", tag = "12")]
    pub footer_checksum: ::prost::alloc::vec::Vec<u8>,
    /// Optional: page index location within the bundle
    #[prost(uint64, tag = "30")]
    pub page_index_offset: u64,
    #[prost(uint64, tag = "31")]
    pub page_index_length: u64,
    /// Currently CRC32C (4 bytes)
    #[prost(bytes = "vec", tag = "32")]
    pub page_index_checksum: ::prost::alloc::vec::Vec<u8>,
}