1#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
14pub struct Buffer {
15 #[prost(uint32, tag = "1")]
17 pub buffer_index: u32,
18 #[prost(enumeration = "buffer::BufferType", tag = "2")]
19 pub buffer_type: i32,
20}
21pub mod buffer {
23 #[derive(
25 Clone,
26 Copy,
27 Debug,
28 PartialEq,
29 Eq,
30 Hash,
31 PartialOrd,
32 Ord,
33 ::prost::Enumeration
34 )]
35 #[repr(i32)]
36 pub enum BufferType {
37 Page = 0,
39 Column = 1,
41 File = 2,
43 }
44 impl BufferType {
45 pub fn as_str_name(&self) -> &'static str {
50 match self {
51 Self::Page => "page",
52 Self::Column => "column",
53 Self::File => "file",
54 }
55 }
56 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
58 match value {
59 "page" => Some(Self::Page),
60 "column" => Some(Self::Column),
61 "file" => Some(Self::File),
62 _ => None,
63 }
64 }
65 }
66}
67#[derive(Clone, PartialEq, ::prost::Message)]
71pub struct Nullable {
72 #[prost(oneof = "nullable::Nullability", tags = "1, 2, 3")]
73 pub nullability: ::core::option::Option<nullable::Nullability>,
74}
75pub mod nullable {
77 #[derive(Clone, PartialEq, ::prost::Message)]
78 pub struct NoNull {
79 #[prost(message, optional, boxed, tag = "1")]
80 pub values: ::core::option::Option<
81 ::prost::alloc::boxed::Box<super::ArrayEncoding>,
82 >,
83 }
84 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
85 pub struct AllNull {}
86 #[derive(Clone, PartialEq, ::prost::Message)]
87 pub struct SomeNull {
88 #[prost(message, optional, boxed, tag = "1")]
89 pub validity: ::core::option::Option<
90 ::prost::alloc::boxed::Box<super::ArrayEncoding>,
91 >,
92 #[prost(message, optional, boxed, tag = "2")]
93 pub values: ::core::option::Option<
94 ::prost::alloc::boxed::Box<super::ArrayEncoding>,
95 >,
96 }
97 #[derive(Clone, PartialEq, ::prost::Oneof)]
98 pub enum Nullability {
99 #[prost(message, tag = "1")]
101 NoNulls(::prost::alloc::boxed::Box<NoNull>),
102 #[prost(message, tag = "2")]
104 SomeNulls(::prost::alloc::boxed::Box<SomeNull>),
105 #[prost(message, tag = "3")]
107 AllNulls(AllNull),
108 }
109}
110#[derive(Clone, PartialEq, ::prost::Message)]
112pub struct List {
113 #[prost(message, optional, boxed, tag = "1")]
167 pub offsets: ::core::option::Option<::prost::alloc::boxed::Box<ArrayEncoding>>,
168 #[prost(uint64, tag = "2")]
180 pub null_offset_adjustment: u64,
181 #[prost(uint64, tag = "3")]
184 pub num_items: u64,
185}
186#[derive(Clone, PartialEq, ::prost::Message)]
188pub struct FixedSizeList {
189 #[prost(uint32, tag = "1")]
191 pub dimension: u32,
192 #[prost(bool, tag = "3")]
194 pub has_validity: bool,
195 #[prost(message, optional, boxed, tag = "2")]
197 pub items: ::core::option::Option<::prost::alloc::boxed::Box<ArrayEncoding>>,
198}
199#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
200pub struct Compression {
201 #[prost(string, tag = "1")]
202 pub scheme: ::prost::alloc::string::String,
203 #[prost(int32, optional, tag = "2")]
204 pub level: ::core::option::Option<i32>,
205}
206#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
208pub struct Flat {
209 #[prost(uint64, tag = "1")]
212 pub bits_per_value: u64,
213 #[prost(message, optional, tag = "2")]
215 pub buffer: ::core::option::Option<Buffer>,
216 #[prost(message, optional, tag = "3")]
222 pub compression: ::core::option::Option<Compression>,
223}
224#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
226pub struct Constant {
227 #[prost(bytes = "vec", tag = "1")]
229 pub value: ::prost::alloc::vec::Vec<u8>,
230}
231#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
233pub struct Bitpacked {
234 #[prost(uint64, tag = "1")]
236 pub compressed_bits_per_value: u64,
237 #[prost(uint64, tag = "2")]
239 pub uncompressed_bits_per_value: u64,
240 #[prost(message, optional, tag = "3")]
242 pub buffer: ::core::option::Option<Buffer>,
243 #[prost(bool, tag = "4")]
245 pub signed: bool,
246}
247#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
249pub struct BitpackedForNonNeg {
250 #[prost(uint64, tag = "1")]
252 pub compressed_bits_per_value: u64,
253 #[prost(uint64, tag = "2")]
255 pub uncompressed_bits_per_value: u64,
256 #[prost(message, optional, tag = "3")]
258 pub buffer: ::core::option::Option<Buffer>,
259}
260#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
262pub struct InlineBitpacking {
263 #[prost(uint64, tag = "2")]
265 pub uncompressed_bits_per_value: u64,
266}
267#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
269pub struct OutOfLineBitpacking {
270 #[prost(uint64, tag = "2")]
272 pub uncompressed_bits_per_value: u64,
273 #[prost(uint64, tag = "3")]
275 pub compressed_bits_per_value: u64,
276}
277#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
283pub struct SimpleStruct {}
284#[derive(Clone, PartialEq, ::prost::Message)]
286pub struct Binary {
287 #[prost(message, optional, boxed, tag = "1")]
288 pub indices: ::core::option::Option<::prost::alloc::boxed::Box<ArrayEncoding>>,
289 #[prost(message, optional, boxed, tag = "2")]
290 pub bytes: ::core::option::Option<::prost::alloc::boxed::Box<ArrayEncoding>>,
291 #[prost(uint64, tag = "3")]
292 pub null_adjustment: u64,
293}
294#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
295pub struct Variable {
296 #[prost(uint32, tag = "1")]
297 pub bits_per_offset: u32,
298}
299#[derive(Clone, PartialEq, ::prost::Message)]
300pub struct Fsst {
301 #[prost(message, optional, boxed, tag = "1")]
302 pub binary: ::core::option::Option<::prost::alloc::boxed::Box<ArrayEncoding>>,
303 #[prost(bytes = "vec", tag = "2")]
304 pub symbol_table: ::prost::alloc::vec::Vec<u8>,
305}
306#[derive(Clone, PartialEq, ::prost::Message)]
308pub struct Dictionary {
309 #[prost(message, optional, boxed, tag = "1")]
310 pub indices: ::core::option::Option<::prost::alloc::boxed::Box<ArrayEncoding>>,
311 #[prost(message, optional, boxed, tag = "2")]
312 pub items: ::core::option::Option<::prost::alloc::boxed::Box<ArrayEncoding>>,
313 #[prost(uint32, tag = "3")]
314 pub num_dictionary_items: u32,
315}
316#[derive(Clone, PartialEq, ::prost::Message)]
317pub struct PackedStruct {
318 #[prost(message, repeated, tag = "1")]
319 pub inner: ::prost::alloc::vec::Vec<ArrayEncoding>,
320 #[prost(message, optional, tag = "2")]
321 pub buffer: ::core::option::Option<Buffer>,
322}
323#[derive(Clone, PartialEq, ::prost::Message)]
324pub struct PackedStructFixedWidthMiniBlock {
325 #[prost(message, optional, boxed, tag = "1")]
326 pub flat: ::core::option::Option<::prost::alloc::boxed::Box<ArrayEncoding>>,
327 #[prost(uint32, repeated, tag = "2")]
328 pub bits_per_values: ::prost::alloc::vec::Vec<u32>,
329}
330#[derive(Clone, PartialEq, ::prost::Message)]
331pub struct FixedSizeBinary {
332 #[prost(message, optional, boxed, tag = "1")]
333 pub bytes: ::core::option::Option<::prost::alloc::boxed::Box<ArrayEncoding>>,
334 #[prost(uint32, tag = "2")]
335 pub byte_width: u32,
336}
337#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
338pub struct Block {
339 #[prost(string, tag = "1")]
340 pub scheme: ::prost::alloc::string::String,
341}
342#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
344pub struct Rle {
345 #[prost(uint64, tag = "1")]
347 pub bits_per_value: u64,
348}
349#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
351pub struct ByteStreamSplit {
352 #[prost(uint64, tag = "1")]
354 pub bits_per_value: u64,
355}
356#[derive(Clone, PartialEq, ::prost::Message)]
358pub struct GeneralMiniBlock {
359 #[prost(message, optional, boxed, tag = "1")]
361 pub inner: ::core::option::Option<::prost::alloc::boxed::Box<ArrayEncoding>>,
362 #[prost(message, optional, tag = "2")]
364 pub compression: ::core::option::Option<Compression>,
365}
366#[derive(Clone, PartialEq, ::prost::Message)]
368pub struct ArrayEncoding {
369 #[prost(
370 oneof = "array_encoding::ArrayEncoding",
371 tags = "1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21"
372 )]
373 pub array_encoding: ::core::option::Option<array_encoding::ArrayEncoding>,
374}
375pub mod array_encoding {
377 #[derive(Clone, PartialEq, ::prost::Oneof)]
378 pub enum ArrayEncoding {
379 #[prost(message, tag = "1")]
380 Flat(super::Flat),
381 #[prost(message, tag = "2")]
382 Nullable(::prost::alloc::boxed::Box<super::Nullable>),
383 #[prost(message, tag = "3")]
384 FixedSizeList(::prost::alloc::boxed::Box<super::FixedSizeList>),
385 #[prost(message, tag = "4")]
386 List(::prost::alloc::boxed::Box<super::List>),
387 #[prost(message, tag = "5")]
388 Struct(super::SimpleStruct),
389 #[prost(message, tag = "6")]
390 Binary(::prost::alloc::boxed::Box<super::Binary>),
391 #[prost(message, tag = "7")]
392 Dictionary(::prost::alloc::boxed::Box<super::Dictionary>),
393 #[prost(message, tag = "8")]
394 Fsst(::prost::alloc::boxed::Box<super::Fsst>),
395 #[prost(message, tag = "9")]
396 PackedStruct(super::PackedStruct),
397 #[prost(message, tag = "10")]
398 Bitpacked(super::Bitpacked),
399 #[prost(message, tag = "11")]
400 FixedSizeBinary(::prost::alloc::boxed::Box<super::FixedSizeBinary>),
401 #[prost(message, tag = "12")]
402 BitpackedForNonNeg(super::BitpackedForNonNeg),
403 #[prost(message, tag = "13")]
404 Constant(super::Constant),
405 #[prost(message, tag = "14")]
406 InlineBitpacking(super::InlineBitpacking),
407 #[prost(message, tag = "15")]
408 OutOfLineBitpacking(super::OutOfLineBitpacking),
409 #[prost(message, tag = "16")]
410 Variable(super::Variable),
411 #[prost(message, tag = "17")]
412 PackedStructFixedWidthMiniBlock(
413 ::prost::alloc::boxed::Box<super::PackedStructFixedWidthMiniBlock>,
414 ),
415 #[prost(message, tag = "18")]
416 Block(super::Block),
417 #[prost(message, tag = "19")]
418 Rle(super::Rle),
419 #[prost(message, tag = "20")]
420 GeneralMiniBlock(::prost::alloc::boxed::Box<super::GeneralMiniBlock>),
421 #[prost(message, tag = "21")]
422 ByteStreamSplit(super::ByteStreamSplit),
423 }
424}
425#[derive(Clone, PartialEq, ::prost::Message)]
428pub struct ZoneIndex {
429 #[prost(uint32, tag = "1")]
430 pub rows_per_zone: u32,
431 #[prost(message, optional, tag = "2")]
432 pub zone_map_buffer: ::core::option::Option<Buffer>,
433 #[prost(message, optional, boxed, tag = "3")]
434 pub inner: ::core::option::Option<::prost::alloc::boxed::Box<ColumnEncoding>>,
435}
436#[derive(Clone, PartialEq, ::prost::Message)]
439pub struct Blob {
440 #[prost(message, optional, boxed, tag = "1")]
441 pub inner: ::core::option::Option<::prost::alloc::boxed::Box<ColumnEncoding>>,
442}
443#[derive(Clone, PartialEq, ::prost::Message)]
445pub struct ColumnEncoding {
446 #[prost(oneof = "column_encoding::ColumnEncoding", tags = "1, 2, 3")]
447 pub column_encoding: ::core::option::Option<column_encoding::ColumnEncoding>,
448}
449pub mod column_encoding {
451 #[derive(Clone, PartialEq, ::prost::Oneof)]
452 pub enum ColumnEncoding {
453 #[prost(message, tag = "1")]
455 Values(()),
456 #[prost(message, tag = "2")]
457 ZoneIndex(::prost::alloc::boxed::Box<super::ZoneIndex>),
458 #[prost(message, tag = "3")]
459 Blob(::prost::alloc::boxed::Box<super::Blob>),
460 }
461}