1#[derive(Clone, PartialEq, ::prost::Message)]
2pub struct IntegerStatistics {
3 #[prost(sint64, optional, tag = "1")]
4 pub minimum: ::core::option::Option<i64>,
5 #[prost(sint64, optional, tag = "2")]
6 pub maximum: ::core::option::Option<i64>,
7 #[prost(sint64, optional, tag = "3")]
8 pub sum: ::core::option::Option<i64>,
9}
10#[derive(Clone, PartialEq, ::prost::Message)]
11pub struct DoubleStatistics {
12 #[prost(double, optional, tag = "1")]
13 pub minimum: ::core::option::Option<f64>,
14 #[prost(double, optional, tag = "2")]
15 pub maximum: ::core::option::Option<f64>,
16 #[prost(double, optional, tag = "3")]
17 pub sum: ::core::option::Option<f64>,
18}
19#[derive(Clone, PartialEq, ::prost::Message)]
20pub struct StringStatistics {
21 #[prost(string, optional, tag = "1")]
22 pub minimum: ::core::option::Option<::prost::alloc::string::String>,
23 #[prost(string, optional, tag = "2")]
24 pub maximum: ::core::option::Option<::prost::alloc::string::String>,
25 #[prost(sint64, optional, tag = "3")]
27 pub sum: ::core::option::Option<i64>,
28}
29#[derive(Clone, PartialEq, ::prost::Message)]
30pub struct BucketStatistics {
31 #[prost(uint64, repeated, tag = "1")]
32 pub count: ::prost::alloc::vec::Vec<u64>,
33}
34#[derive(Clone, PartialEq, ::prost::Message)]
35pub struct DecimalStatistics {
36 #[prost(string, optional, tag = "1")]
37 pub minimum: ::core::option::Option<::prost::alloc::string::String>,
38 #[prost(string, optional, tag = "2")]
39 pub maximum: ::core::option::Option<::prost::alloc::string::String>,
40 #[prost(string, optional, tag = "3")]
41 pub sum: ::core::option::Option<::prost::alloc::string::String>,
42}
43#[derive(Clone, PartialEq, ::prost::Message)]
44pub struct DateStatistics {
45 #[prost(sint32, optional, tag = "1")]
47 pub minimum: ::core::option::Option<i32>,
48 #[prost(sint32, optional, tag = "2")]
49 pub maximum: ::core::option::Option<i32>,
50}
51#[derive(Clone, PartialEq, ::prost::Message)]
52pub struct TimestampStatistics {
53 #[prost(sint64, optional, tag = "1")]
55 pub minimum: ::core::option::Option<i64>,
56 #[prost(sint64, optional, tag = "2")]
57 pub maximum: ::core::option::Option<i64>,
58}
59#[derive(Clone, PartialEq, ::prost::Message)]
60pub struct BinaryStatistics {
61 #[prost(sint64, optional, tag = "1")]
63 pub sum: ::core::option::Option<i64>,
64}
65#[derive(Clone, PartialEq, ::prost::Message)]
66pub struct ColumnStatistics {
67 #[prost(uint64, optional, tag = "1")]
68 pub number_of_values: ::core::option::Option<u64>,
69 #[prost(message, optional, tag = "2")]
70 pub int_statistics: ::core::option::Option<IntegerStatistics>,
71 #[prost(message, optional, tag = "3")]
72 pub double_statistics: ::core::option::Option<DoubleStatistics>,
73 #[prost(message, optional, tag = "4")]
74 pub string_statistics: ::core::option::Option<StringStatistics>,
75 #[prost(message, optional, tag = "5")]
76 pub bucket_statistics: ::core::option::Option<BucketStatistics>,
77 #[prost(message, optional, tag = "6")]
78 pub decimal_statistics: ::core::option::Option<DecimalStatistics>,
79 #[prost(message, optional, tag = "7")]
80 pub date_statistics: ::core::option::Option<DateStatistics>,
81 #[prost(message, optional, tag = "8")]
82 pub binary_statistics: ::core::option::Option<BinaryStatistics>,
83 #[prost(message, optional, tag = "9")]
84 pub timestamp_statistics: ::core::option::Option<TimestampStatistics>,
85 #[prost(bool, optional, tag = "10")]
86 pub has_null: ::core::option::Option<bool>,
87}
88#[derive(Clone, PartialEq, ::prost::Message)]
89pub struct RowIndexEntry {
90 #[prost(uint64, repeated, tag = "1")]
91 pub positions: ::prost::alloc::vec::Vec<u64>,
92 #[prost(message, optional, tag = "2")]
93 pub statistics: ::core::option::Option<ColumnStatistics>,
94}
95#[derive(Clone, PartialEq, ::prost::Message)]
96pub struct RowIndex {
97 #[prost(message, repeated, tag = "1")]
98 pub entry: ::prost::alloc::vec::Vec<RowIndexEntry>,
99}
100#[derive(Clone, PartialEq, ::prost::Message)]
101pub struct BloomFilter {
102 #[prost(uint32, optional, tag = "1")]
103 pub num_hash_functions: ::core::option::Option<u32>,
104 #[prost(fixed64, repeated, packed = "false", tag = "2")]
105 pub bitset: ::prost::alloc::vec::Vec<u64>,
106}
107#[derive(Clone, PartialEq, ::prost::Message)]
108pub struct BloomFilterIndex {
109 #[prost(message, repeated, tag = "1")]
110 pub bloom_filter: ::prost::alloc::vec::Vec<BloomFilter>,
111}
112#[derive(Clone, PartialEq, ::prost::Message)]
113pub struct Stream {
114 #[prost(enumeration = "stream::Kind", optional, tag = "1")]
115 pub kind: ::core::option::Option<i32>,
116 #[prost(uint32, optional, tag = "2")]
117 pub column: ::core::option::Option<u32>,
118 #[prost(uint64, optional, tag = "3")]
119 pub length: ::core::option::Option<u64>,
120}
121pub mod stream {
123 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
126 #[repr(i32)]
127 pub enum Kind {
128 Present = 0,
129 Data = 1,
130 Length = 2,
131 DictionaryData = 3,
132 DictionaryCount = 4,
133 Secondary = 5,
134 RowIndex = 6,
135 BloomFilter = 7,
136 }
137}
138#[derive(Clone, PartialEq, ::prost::Message)]
139pub struct ColumnEncoding {
140 #[prost(enumeration = "column_encoding::Kind", optional, tag = "1")]
141 pub kind: ::core::option::Option<i32>,
142 #[prost(uint32, optional, tag = "2")]
143 pub dictionary_size: ::core::option::Option<u32>,
144}
145pub mod column_encoding {
147 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
148 #[repr(i32)]
149 pub enum Kind {
150 Direct = 0,
151 Dictionary = 1,
152 DirectV2 = 2,
153 DictionaryV2 = 3,
154 }
155}
156#[derive(Clone, PartialEq, ::prost::Message)]
157pub struct StripeFooter {
158 #[prost(message, repeated, tag = "1")]
159 pub streams: ::prost::alloc::vec::Vec<Stream>,
160 #[prost(message, repeated, tag = "2")]
161 pub columns: ::prost::alloc::vec::Vec<ColumnEncoding>,
162 #[prost(string, optional, tag = "3")]
163 pub writer_timezone: ::core::option::Option<::prost::alloc::string::String>,
164}
165#[derive(Clone, PartialEq, ::prost::Message)]
166pub struct Type {
167 #[prost(enumeration = "r#type::Kind", optional, tag = "1")]
168 pub kind: ::core::option::Option<i32>,
169 #[prost(uint32, repeated, tag = "2")]
170 pub subtypes: ::prost::alloc::vec::Vec<u32>,
171 #[prost(string, repeated, tag = "3")]
172 pub field_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
173 #[prost(uint32, optional, tag = "4")]
174 pub maximum_length: ::core::option::Option<u32>,
175 #[prost(uint32, optional, tag = "5")]
176 pub precision: ::core::option::Option<u32>,
177 #[prost(uint32, optional, tag = "6")]
178 pub scale: ::core::option::Option<u32>,
179}
180pub mod r#type {
182 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
183 #[repr(i32)]
184 pub enum Kind {
185 Boolean = 0,
186 Byte = 1,
187 Short = 2,
188 Int = 3,
189 Long = 4,
190 Float = 5,
191 Double = 6,
192 String = 7,
193 Binary = 8,
194 Timestamp = 9,
195 List = 10,
196 Map = 11,
197 Struct = 12,
198 Union = 13,
199 Decimal = 14,
200 Date = 15,
201 Varchar = 16,
202 Char = 17,
203 }
204}
205#[derive(Clone, PartialEq, ::prost::Message)]
206pub struct StripeInformation {
207 #[prost(uint64, optional, tag = "1")]
208 pub offset: ::core::option::Option<u64>,
209 #[prost(uint64, optional, tag = "2")]
210 pub index_length: ::core::option::Option<u64>,
211 #[prost(uint64, optional, tag = "3")]
212 pub data_length: ::core::option::Option<u64>,
213 #[prost(uint64, optional, tag = "4")]
214 pub footer_length: ::core::option::Option<u64>,
215 #[prost(uint64, optional, tag = "5")]
216 pub number_of_rows: ::core::option::Option<u64>,
217}
218#[derive(Clone, PartialEq, ::prost::Message)]
219pub struct UserMetadataItem {
220 #[prost(string, optional, tag = "1")]
221 pub name: ::core::option::Option<::prost::alloc::string::String>,
222 #[prost(bytes = "vec", optional, tag = "2")]
223 pub value: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
224}
225#[derive(Clone, PartialEq, ::prost::Message)]
226pub struct StripeStatistics {
227 #[prost(message, repeated, tag = "1")]
228 pub col_stats: ::prost::alloc::vec::Vec<ColumnStatistics>,
229}
230#[derive(Clone, PartialEq, ::prost::Message)]
231pub struct Metadata {
232 #[prost(message, repeated, tag = "1")]
233 pub stripe_stats: ::prost::alloc::vec::Vec<StripeStatistics>,
234}
235#[derive(Clone, PartialEq, ::prost::Message)]
236pub struct Footer {
237 #[prost(uint64, optional, tag = "1")]
238 pub header_length: ::core::option::Option<u64>,
239 #[prost(uint64, optional, tag = "2")]
240 pub content_length: ::core::option::Option<u64>,
241 #[prost(message, repeated, tag = "3")]
242 pub stripes: ::prost::alloc::vec::Vec<StripeInformation>,
243 #[prost(message, repeated, tag = "4")]
244 pub types: ::prost::alloc::vec::Vec<Type>,
245 #[prost(message, repeated, tag = "5")]
246 pub metadata: ::prost::alloc::vec::Vec<UserMetadataItem>,
247 #[prost(uint64, optional, tag = "6")]
248 pub number_of_rows: ::core::option::Option<u64>,
249 #[prost(message, repeated, tag = "7")]
250 pub statistics: ::prost::alloc::vec::Vec<ColumnStatistics>,
251 #[prost(uint32, optional, tag = "8")]
252 pub row_index_stride: ::core::option::Option<u32>,
253}
254#[derive(Clone, PartialEq, ::prost::Message)]
256pub struct PostScript {
257 #[prost(uint64, optional, tag = "1")]
258 pub footer_length: ::core::option::Option<u64>,
259 #[prost(enumeration = "CompressionKind", optional, tag = "2")]
260 pub compression: ::core::option::Option<i32>,
261 #[prost(uint64, optional, tag = "3")]
262 pub compression_block_size: ::core::option::Option<u64>,
263 #[prost(uint32, repeated, tag = "4")]
267 pub version: ::prost::alloc::vec::Vec<u32>,
268 #[prost(uint64, optional, tag = "5")]
269 pub metadata_length: ::core::option::Option<u64>,
270 #[prost(uint32, optional, tag = "6")]
274 pub writer_version: ::core::option::Option<u32>,
275 #[prost(string, optional, tag = "8000")]
277 pub magic: ::core::option::Option<::prost::alloc::string::String>,
278}
279#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
280#[repr(i32)]
281pub enum CompressionKind {
282 None = 0,
283 Zlib = 1,
284 Snappy = 2,
285 Lzo = 3,
286}