#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FileDescriptor {
#[prost(message, optional, tag = "1")]
pub schema: ::core::option::Option<Schema>,
#[prost(uint64, tag = "2")]
pub length: u64,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Schema {
#[prost(message, repeated, tag = "1")]
pub fields: ::prost::alloc::vec::Vec<Field>,
#[prost(map = "string, bytes", tag = "5")]
pub metadata: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::vec::Vec<u8>,
>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Metadata {
#[prost(uint64, tag = "1")]
pub manifest_position: u64,
#[prost(int32, repeated, tag = "2")]
pub batch_offsets: ::prost::alloc::vec::Vec<i32>,
#[prost(uint64, tag = "3")]
pub page_table_position: u64,
#[prost(message, optional, tag = "5")]
pub statistics: ::core::option::Option<metadata::StatisticsMetadata>,
}
pub mod metadata {
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StatisticsMetadata {
#[prost(message, repeated, tag = "1")]
pub schema: ::prost::alloc::vec::Vec<super::Field>,
#[prost(int32, repeated, tag = "2")]
pub fields: ::prost::alloc::vec::Vec<i32>,
#[prost(uint64, tag = "3")]
pub page_table_position: u64,
}
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dictionary {
#[prost(int64, tag = "1")]
pub offset: i64,
#[prost(int64, tag = "2")]
pub length: i64,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Field {
#[prost(enumeration = "field::Type", tag = "1")]
pub r#type: i32,
#[prost(string, tag = "2")]
pub name: ::prost::alloc::string::String,
#[prost(int32, tag = "3")]
pub id: i32,
#[prost(int32, tag = "4")]
pub parent_id: i32,
#[prost(string, tag = "5")]
pub logical_type: ::prost::alloc::string::String,
#[prost(bool, tag = "6")]
pub nullable: bool,
#[prost(map = "string, bytes", tag = "10")]
pub metadata: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::vec::Vec<u8>,
>,
#[prost(bool, tag = "12")]
pub unenforced_primary_key: bool,
#[prost(uint32, tag = "13")]
pub unenforced_primary_key_position: u32,
#[prost(bool, tag = "14")]
pub unenforced_clustering_key: bool,
#[prost(uint32, tag = "15")]
pub unenforced_clustering_key_position: u32,
#[prost(enumeration = "Encoding", tag = "7")]
pub encoding: i32,
#[prost(message, optional, tag = "8")]
pub dictionary: ::core::option::Option<Dictionary>,
#[prost(string, tag = "9")]
pub extension_name: ::prost::alloc::string::String,
}
pub mod field {
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum Type {
Parent = 0,
Repeated = 1,
Leaf = 2,
}
impl Type {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Parent => "PARENT",
Self::Repeated => "REPEATED",
Self::Leaf => "LEAF",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"PARENT" => Some(Self::Parent),
"REPEATED" => Some(Self::Repeated),
"LEAF" => Some(Self::Leaf),
_ => None,
}
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Encoding {
None = 0,
Plain = 1,
VarBinary = 2,
Dictionary = 3,
Rle = 4,
}
impl Encoding {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::None => "NONE",
Self::Plain => "PLAIN",
Self::VarBinary => "VAR_BINARY",
Self::Dictionary => "DICTIONARY",
Self::Rle => "RLE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"NONE" => Some(Self::None),
"PLAIN" => Some(Self::Plain),
"VAR_BINARY" => Some(Self::VarBinary),
"DICTIONARY" => Some(Self::Dictionary),
"RLE" => Some(Self::Rle),
_ => None,
}
}
}