datafusion_proto_common/generated/
prost.rs

1// This file is @generated by prost-build.
2#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3pub struct ColumnRelation {
4    #[prost(string, tag = "1")]
5    pub relation: ::prost::alloc::string::String,
6}
7#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
8pub struct Column {
9    #[prost(string, tag = "1")]
10    pub name: ::prost::alloc::string::String,
11    #[prost(message, optional, tag = "2")]
12    pub relation: ::core::option::Option<ColumnRelation>,
13}
14#[derive(Clone, PartialEq, ::prost::Message)]
15pub struct DfField {
16    #[prost(message, optional, tag = "1")]
17    pub field: ::core::option::Option<Field>,
18    #[prost(message, optional, tag = "2")]
19    pub qualifier: ::core::option::Option<ColumnRelation>,
20}
21#[derive(Clone, PartialEq, ::prost::Message)]
22pub struct DfSchema {
23    #[prost(message, repeated, tag = "1")]
24    pub columns: ::prost::alloc::vec::Vec<DfField>,
25    #[prost(map = "string, string", tag = "2")]
26    pub metadata: ::std::collections::HashMap<
27        ::prost::alloc::string::String,
28        ::prost::alloc::string::String,
29    >,
30}
31#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
32pub struct CsvFormat {
33    #[prost(message, optional, tag = "5")]
34    pub options: ::core::option::Option<CsvOptions>,
35}
36#[derive(Clone, PartialEq, ::prost::Message)]
37pub struct ParquetFormat {
38    #[prost(message, optional, tag = "2")]
39    pub options: ::core::option::Option<TableParquetOptions>,
40}
41#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
42pub struct AvroFormat {}
43#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
44pub struct NdJsonFormat {
45    #[prost(message, optional, tag = "1")]
46    pub options: ::core::option::Option<JsonOptions>,
47}
48#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
49pub struct ArrowFormat {}
50#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
51pub struct PrimaryKeyConstraint {
52    #[prost(uint64, repeated, tag = "1")]
53    pub indices: ::prost::alloc::vec::Vec<u64>,
54}
55#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
56pub struct UniqueConstraint {
57    #[prost(uint64, repeated, tag = "1")]
58    pub indices: ::prost::alloc::vec::Vec<u64>,
59}
60#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
61pub struct Constraint {
62    #[prost(oneof = "constraint::ConstraintMode", tags = "1, 2")]
63    pub constraint_mode: ::core::option::Option<constraint::ConstraintMode>,
64}
65/// Nested message and enum types in `Constraint`.
66pub mod constraint {
67    #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
68    pub enum ConstraintMode {
69        #[prost(message, tag = "1")]
70        PrimaryKey(super::PrimaryKeyConstraint),
71        #[prost(message, tag = "2")]
72        Unique(super::UniqueConstraint),
73    }
74}
75#[derive(Clone, PartialEq, ::prost::Message)]
76pub struct Constraints {
77    #[prost(message, repeated, tag = "1")]
78    pub constraints: ::prost::alloc::vec::Vec<Constraint>,
79}
80#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
81pub struct AvroOptions {}
82#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
83pub struct ArrowOptions {}
84#[derive(Clone, PartialEq, ::prost::Message)]
85pub struct Schema {
86    #[prost(message, repeated, tag = "1")]
87    pub columns: ::prost::alloc::vec::Vec<Field>,
88    #[prost(map = "string, string", tag = "2")]
89    pub metadata: ::std::collections::HashMap<
90        ::prost::alloc::string::String,
91        ::prost::alloc::string::String,
92    >,
93}
94#[derive(Clone, PartialEq, ::prost::Message)]
95pub struct Field {
96    /// name of the field
97    #[prost(string, tag = "1")]
98    pub name: ::prost::alloc::string::String,
99    #[prost(message, optional, boxed, tag = "2")]
100    pub arrow_type: ::core::option::Option<::prost::alloc::boxed::Box<ArrowType>>,
101    #[prost(bool, tag = "3")]
102    pub nullable: bool,
103    /// for complex data types like structs, unions
104    #[prost(message, repeated, tag = "4")]
105    pub children: ::prost::alloc::vec::Vec<Field>,
106    #[prost(map = "string, string", tag = "5")]
107    pub metadata: ::std::collections::HashMap<
108        ::prost::alloc::string::String,
109        ::prost::alloc::string::String,
110    >,
111}
112#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
113pub struct Timestamp {
114    #[prost(enumeration = "TimeUnit", tag = "1")]
115    pub time_unit: i32,
116    #[prost(string, tag = "2")]
117    pub timezone: ::prost::alloc::string::String,
118}
119#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
120pub struct Decimal32Type {
121    #[prost(uint32, tag = "3")]
122    pub precision: u32,
123    #[prost(int32, tag = "4")]
124    pub scale: i32,
125}
126#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
127pub struct Decimal64Type {
128    #[prost(uint32, tag = "3")]
129    pub precision: u32,
130    #[prost(int32, tag = "4")]
131    pub scale: i32,
132}
133#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
134pub struct Decimal128Type {
135    #[prost(uint32, tag = "3")]
136    pub precision: u32,
137    #[prost(int32, tag = "4")]
138    pub scale: i32,
139}
140#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
141pub struct Decimal256Type {
142    #[prost(uint32, tag = "3")]
143    pub precision: u32,
144    #[prost(int32, tag = "4")]
145    pub scale: i32,
146}
147#[derive(Clone, PartialEq, ::prost::Message)]
148pub struct List {
149    #[prost(message, optional, boxed, tag = "1")]
150    pub field_type: ::core::option::Option<::prost::alloc::boxed::Box<Field>>,
151}
152#[derive(Clone, PartialEq, ::prost::Message)]
153pub struct FixedSizeList {
154    #[prost(message, optional, boxed, tag = "1")]
155    pub field_type: ::core::option::Option<::prost::alloc::boxed::Box<Field>>,
156    #[prost(int32, tag = "2")]
157    pub list_size: i32,
158}
159#[derive(Clone, PartialEq, ::prost::Message)]
160pub struct Dictionary {
161    #[prost(message, optional, boxed, tag = "1")]
162    pub key: ::core::option::Option<::prost::alloc::boxed::Box<ArrowType>>,
163    #[prost(message, optional, boxed, tag = "2")]
164    pub value: ::core::option::Option<::prost::alloc::boxed::Box<ArrowType>>,
165}
166#[derive(Clone, PartialEq, ::prost::Message)]
167pub struct Struct {
168    #[prost(message, repeated, tag = "1")]
169    pub sub_field_types: ::prost::alloc::vec::Vec<Field>,
170}
171#[derive(Clone, PartialEq, ::prost::Message)]
172pub struct Map {
173    #[prost(message, optional, boxed, tag = "1")]
174    pub field_type: ::core::option::Option<::prost::alloc::boxed::Box<Field>>,
175    #[prost(bool, tag = "2")]
176    pub keys_sorted: bool,
177}
178#[derive(Clone, PartialEq, ::prost::Message)]
179pub struct Union {
180    #[prost(message, repeated, tag = "1")]
181    pub union_types: ::prost::alloc::vec::Vec<Field>,
182    #[prost(enumeration = "UnionMode", tag = "2")]
183    pub union_mode: i32,
184    #[prost(int32, repeated, tag = "3")]
185    pub type_ids: ::prost::alloc::vec::Vec<i32>,
186}
187/// Used for List/FixedSizeList/LargeList/Struct/Map
188#[derive(Clone, PartialEq, ::prost::Message)]
189pub struct ScalarNestedValue {
190    #[prost(bytes = "vec", tag = "1")]
191    pub ipc_message: ::prost::alloc::vec::Vec<u8>,
192    #[prost(bytes = "vec", tag = "2")]
193    pub arrow_data: ::prost::alloc::vec::Vec<u8>,
194    #[prost(message, optional, tag = "3")]
195    pub schema: ::core::option::Option<Schema>,
196    #[prost(message, repeated, tag = "4")]
197    pub dictionaries: ::prost::alloc::vec::Vec<scalar_nested_value::Dictionary>,
198}
199/// Nested message and enum types in `ScalarNestedValue`.
200pub mod scalar_nested_value {
201    #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
202    pub struct Dictionary {
203        #[prost(bytes = "vec", tag = "1")]
204        pub ipc_message: ::prost::alloc::vec::Vec<u8>,
205        #[prost(bytes = "vec", tag = "2")]
206        pub arrow_data: ::prost::alloc::vec::Vec<u8>,
207    }
208}
209#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
210pub struct ScalarTime32Value {
211    #[prost(oneof = "scalar_time32_value::Value", tags = "1, 2")]
212    pub value: ::core::option::Option<scalar_time32_value::Value>,
213}
214/// Nested message and enum types in `ScalarTime32Value`.
215pub mod scalar_time32_value {
216    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
217    pub enum Value {
218        #[prost(int32, tag = "1")]
219        Time32SecondValue(i32),
220        #[prost(int32, tag = "2")]
221        Time32MillisecondValue(i32),
222    }
223}
224#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
225pub struct ScalarTime64Value {
226    #[prost(oneof = "scalar_time64_value::Value", tags = "1, 2")]
227    pub value: ::core::option::Option<scalar_time64_value::Value>,
228}
229/// Nested message and enum types in `ScalarTime64Value`.
230pub mod scalar_time64_value {
231    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
232    pub enum Value {
233        #[prost(int64, tag = "1")]
234        Time64MicrosecondValue(i64),
235        #[prost(int64, tag = "2")]
236        Time64NanosecondValue(i64),
237    }
238}
239#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
240pub struct ScalarTimestampValue {
241    #[prost(string, tag = "5")]
242    pub timezone: ::prost::alloc::string::String,
243    #[prost(oneof = "scalar_timestamp_value::Value", tags = "1, 2, 3, 4")]
244    pub value: ::core::option::Option<scalar_timestamp_value::Value>,
245}
246/// Nested message and enum types in `ScalarTimestampValue`.
247pub mod scalar_timestamp_value {
248    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
249    pub enum Value {
250        #[prost(int64, tag = "1")]
251        TimeMicrosecondValue(i64),
252        #[prost(int64, tag = "2")]
253        TimeNanosecondValue(i64),
254        #[prost(int64, tag = "3")]
255        TimeSecondValue(i64),
256        #[prost(int64, tag = "4")]
257        TimeMillisecondValue(i64),
258    }
259}
260#[derive(Clone, PartialEq, ::prost::Message)]
261pub struct ScalarDictionaryValue {
262    #[prost(message, optional, tag = "1")]
263    pub index_type: ::core::option::Option<ArrowType>,
264    #[prost(message, optional, boxed, tag = "2")]
265    pub value: ::core::option::Option<::prost::alloc::boxed::Box<ScalarValue>>,
266}
267#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
268pub struct IntervalDayTimeValue {
269    #[prost(int32, tag = "1")]
270    pub days: i32,
271    #[prost(int32, tag = "2")]
272    pub milliseconds: i32,
273}
274#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
275pub struct IntervalMonthDayNanoValue {
276    #[prost(int32, tag = "1")]
277    pub months: i32,
278    #[prost(int32, tag = "2")]
279    pub days: i32,
280    #[prost(int64, tag = "3")]
281    pub nanos: i64,
282}
283#[derive(Clone, PartialEq, ::prost::Message)]
284pub struct UnionField {
285    #[prost(int32, tag = "1")]
286    pub field_id: i32,
287    #[prost(message, optional, tag = "2")]
288    pub field: ::core::option::Option<Field>,
289}
290#[derive(Clone, PartialEq, ::prost::Message)]
291pub struct UnionValue {
292    /// Note that a null union value must have one or more fields, so we
293    /// encode a null UnionValue as one with value_id == 128
294    #[prost(int32, tag = "1")]
295    pub value_id: i32,
296    #[prost(message, optional, boxed, tag = "2")]
297    pub value: ::core::option::Option<::prost::alloc::boxed::Box<ScalarValue>>,
298    #[prost(message, repeated, tag = "3")]
299    pub fields: ::prost::alloc::vec::Vec<UnionField>,
300    #[prost(enumeration = "UnionMode", tag = "4")]
301    pub mode: i32,
302}
303#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
304pub struct ScalarFixedSizeBinary {
305    #[prost(bytes = "vec", tag = "1")]
306    pub values: ::prost::alloc::vec::Vec<u8>,
307    #[prost(int32, tag = "2")]
308    pub length: i32,
309}
310#[derive(Clone, PartialEq, ::prost::Message)]
311pub struct ScalarValue {
312    #[prost(
313        oneof = "scalar_value::Value",
314        tags = "33, 1, 2, 3, 23, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 32, 41, 43, 44, 20, 39, 21, 24, 35, 36, 37, 38, 26, 27, 28, 29, 22, 30, 25, 31, 34, 42"
315    )]
316    pub value: ::core::option::Option<scalar_value::Value>,
317}
318/// Nested message and enum types in `ScalarValue`.
319pub mod scalar_value {
320    #[derive(Clone, PartialEq, ::prost::Oneof)]
321    pub enum Value {
322        /// was PrimitiveScalarType null_value = 19;
323        /// Null value of any type
324        #[prost(message, tag = "33")]
325        NullValue(super::ArrowType),
326        #[prost(bool, tag = "1")]
327        BoolValue(bool),
328        #[prost(string, tag = "2")]
329        Utf8Value(::prost::alloc::string::String),
330        #[prost(string, tag = "3")]
331        LargeUtf8Value(::prost::alloc::string::String),
332        #[prost(string, tag = "23")]
333        Utf8ViewValue(::prost::alloc::string::String),
334        #[prost(int32, tag = "4")]
335        Int8Value(i32),
336        #[prost(int32, tag = "5")]
337        Int16Value(i32),
338        #[prost(int32, tag = "6")]
339        Int32Value(i32),
340        #[prost(int64, tag = "7")]
341        Int64Value(i64),
342        #[prost(uint32, tag = "8")]
343        Uint8Value(u32),
344        #[prost(uint32, tag = "9")]
345        Uint16Value(u32),
346        #[prost(uint32, tag = "10")]
347        Uint32Value(u32),
348        #[prost(uint64, tag = "11")]
349        Uint64Value(u64),
350        #[prost(float, tag = "12")]
351        Float32Value(f32),
352        #[prost(double, tag = "13")]
353        Float64Value(f64),
354        /// Literal Date32 value always has a unit of day
355        #[prost(int32, tag = "14")]
356        Date32Value(i32),
357        #[prost(message, tag = "15")]
358        Time32Value(super::ScalarTime32Value),
359        #[prost(message, tag = "16")]
360        LargeListValue(super::ScalarNestedValue),
361        #[prost(message, tag = "17")]
362        ListValue(super::ScalarNestedValue),
363        #[prost(message, tag = "18")]
364        FixedSizeListValue(super::ScalarNestedValue),
365        #[prost(message, tag = "32")]
366        StructValue(super::ScalarNestedValue),
367        #[prost(message, tag = "41")]
368        MapValue(super::ScalarNestedValue),
369        #[prost(message, tag = "43")]
370        Decimal32Value(super::Decimal32),
371        #[prost(message, tag = "44")]
372        Decimal64Value(super::Decimal64),
373        #[prost(message, tag = "20")]
374        Decimal128Value(super::Decimal128),
375        #[prost(message, tag = "39")]
376        Decimal256Value(super::Decimal256),
377        #[prost(int64, tag = "21")]
378        Date64Value(i64),
379        #[prost(int32, tag = "24")]
380        IntervalYearmonthValue(i32),
381        #[prost(int64, tag = "35")]
382        DurationSecondValue(i64),
383        #[prost(int64, tag = "36")]
384        DurationMillisecondValue(i64),
385        #[prost(int64, tag = "37")]
386        DurationMicrosecondValue(i64),
387        #[prost(int64, tag = "38")]
388        DurationNanosecondValue(i64),
389        #[prost(message, tag = "26")]
390        TimestampValue(super::ScalarTimestampValue),
391        #[prost(message, tag = "27")]
392        DictionaryValue(::prost::alloc::boxed::Box<super::ScalarDictionaryValue>),
393        #[prost(bytes, tag = "28")]
394        BinaryValue(::prost::alloc::vec::Vec<u8>),
395        #[prost(bytes, tag = "29")]
396        LargeBinaryValue(::prost::alloc::vec::Vec<u8>),
397        #[prost(bytes, tag = "22")]
398        BinaryViewValue(::prost::alloc::vec::Vec<u8>),
399        #[prost(message, tag = "30")]
400        Time64Value(super::ScalarTime64Value),
401        #[prost(message, tag = "25")]
402        IntervalDaytimeValue(super::IntervalDayTimeValue),
403        #[prost(message, tag = "31")]
404        IntervalMonthDayNano(super::IntervalMonthDayNanoValue),
405        #[prost(message, tag = "34")]
406        FixedSizeBinaryValue(super::ScalarFixedSizeBinary),
407        #[prost(message, tag = "42")]
408        UnionValue(::prost::alloc::boxed::Box<super::UnionValue>),
409    }
410}
411#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
412pub struct Decimal32 {
413    #[prost(bytes = "vec", tag = "1")]
414    pub value: ::prost::alloc::vec::Vec<u8>,
415    #[prost(int64, tag = "2")]
416    pub p: i64,
417    #[prost(int64, tag = "3")]
418    pub s: i64,
419}
420#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
421pub struct Decimal64 {
422    #[prost(bytes = "vec", tag = "1")]
423    pub value: ::prost::alloc::vec::Vec<u8>,
424    #[prost(int64, tag = "2")]
425    pub p: i64,
426    #[prost(int64, tag = "3")]
427    pub s: i64,
428}
429#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
430pub struct Decimal128 {
431    #[prost(bytes = "vec", tag = "1")]
432    pub value: ::prost::alloc::vec::Vec<u8>,
433    #[prost(int64, tag = "2")]
434    pub p: i64,
435    #[prost(int64, tag = "3")]
436    pub s: i64,
437}
438#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
439pub struct Decimal256 {
440    #[prost(bytes = "vec", tag = "1")]
441    pub value: ::prost::alloc::vec::Vec<u8>,
442    #[prost(int64, tag = "2")]
443    pub p: i64,
444    #[prost(int64, tag = "3")]
445    pub s: i64,
446}
447/// Serialized data type
448#[derive(Clone, PartialEq, ::prost::Message)]
449pub struct ArrowType {
450    #[prost(
451        oneof = "arrow_type::ArrowTypeEnum",
452        tags = "1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 35, 32, 15, 34, 16, 31, 17, 18, 19, 20, 21, 22, 23, 40, 41, 24, 36, 25, 26, 27, 28, 29, 30, 33"
453    )]
454    pub arrow_type_enum: ::core::option::Option<arrow_type::ArrowTypeEnum>,
455}
456/// Nested message and enum types in `ArrowType`.
457pub mod arrow_type {
458    #[derive(Clone, PartialEq, ::prost::Oneof)]
459    pub enum ArrowTypeEnum {
460        /// arrow::Type::NA
461        #[prost(message, tag = "1")]
462        None(super::EmptyMessage),
463        /// arrow::Type::BOOL
464        #[prost(message, tag = "2")]
465        Bool(super::EmptyMessage),
466        /// arrow::Type::UINT8
467        #[prost(message, tag = "3")]
468        Uint8(super::EmptyMessage),
469        /// arrow::Type::INT8
470        #[prost(message, tag = "4")]
471        Int8(super::EmptyMessage),
472        /// represents arrow::Type fields in src/arrow/type.h
473        #[prost(message, tag = "5")]
474        Uint16(super::EmptyMessage),
475        #[prost(message, tag = "6")]
476        Int16(super::EmptyMessage),
477        #[prost(message, tag = "7")]
478        Uint32(super::EmptyMessage),
479        #[prost(message, tag = "8")]
480        Int32(super::EmptyMessage),
481        #[prost(message, tag = "9")]
482        Uint64(super::EmptyMessage),
483        #[prost(message, tag = "10")]
484        Int64(super::EmptyMessage),
485        #[prost(message, tag = "11")]
486        Float16(super::EmptyMessage),
487        #[prost(message, tag = "12")]
488        Float32(super::EmptyMessage),
489        #[prost(message, tag = "13")]
490        Float64(super::EmptyMessage),
491        #[prost(message, tag = "14")]
492        Utf8(super::EmptyMessage),
493        #[prost(message, tag = "35")]
494        Utf8View(super::EmptyMessage),
495        #[prost(message, tag = "32")]
496        LargeUtf8(super::EmptyMessage),
497        #[prost(message, tag = "15")]
498        Binary(super::EmptyMessage),
499        #[prost(message, tag = "34")]
500        BinaryView(super::EmptyMessage),
501        #[prost(int32, tag = "16")]
502        FixedSizeBinary(i32),
503        #[prost(message, tag = "31")]
504        LargeBinary(super::EmptyMessage),
505        #[prost(message, tag = "17")]
506        Date32(super::EmptyMessage),
507        #[prost(message, tag = "18")]
508        Date64(super::EmptyMessage),
509        #[prost(enumeration = "super::TimeUnit", tag = "19")]
510        Duration(i32),
511        #[prost(message, tag = "20")]
512        Timestamp(super::Timestamp),
513        #[prost(enumeration = "super::TimeUnit", tag = "21")]
514        Time32(i32),
515        #[prost(enumeration = "super::TimeUnit", tag = "22")]
516        Time64(i32),
517        #[prost(enumeration = "super::IntervalUnit", tag = "23")]
518        Interval(i32),
519        #[prost(message, tag = "40")]
520        Decimal32(super::Decimal32Type),
521        #[prost(message, tag = "41")]
522        Decimal64(super::Decimal64Type),
523        #[prost(message, tag = "24")]
524        Decimal128(super::Decimal128Type),
525        #[prost(message, tag = "36")]
526        Decimal256(super::Decimal256Type),
527        #[prost(message, tag = "25")]
528        List(::prost::alloc::boxed::Box<super::List>),
529        #[prost(message, tag = "26")]
530        LargeList(::prost::alloc::boxed::Box<super::List>),
531        #[prost(message, tag = "27")]
532        FixedSizeList(::prost::alloc::boxed::Box<super::FixedSizeList>),
533        #[prost(message, tag = "28")]
534        Struct(super::Struct),
535        #[prost(message, tag = "29")]
536        Union(super::Union),
537        #[prost(message, tag = "30")]
538        Dictionary(::prost::alloc::boxed::Box<super::Dictionary>),
539        #[prost(message, tag = "33")]
540        Map(::prost::alloc::boxed::Box<super::Map>),
541    }
542}
543/// Useful for representing an empty enum variant in rust
544/// E.G. enum example{One, Two(i32)}
545/// maps to
546/// message example{
547///     oneof{
548///         EmptyMessage One = 1;
549///         i32 Two = 2;
550///    }
551/// }
552#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
553pub struct EmptyMessage {}
554#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
555pub struct JsonWriterOptions {
556    #[prost(enumeration = "CompressionTypeVariant", tag = "1")]
557    pub compression: i32,
558}
559#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
560pub struct CsvWriterOptions {
561    /// Compression type
562    #[prost(enumeration = "CompressionTypeVariant", tag = "1")]
563    pub compression: i32,
564    /// Optional column delimiter. Defaults to `b','`
565    #[prost(string, tag = "2")]
566    pub delimiter: ::prost::alloc::string::String,
567    /// Whether to write column names as file headers. Defaults to `true`
568    #[prost(bool, tag = "3")]
569    pub has_header: bool,
570    /// Optional date format for date arrays
571    #[prost(string, tag = "4")]
572    pub date_format: ::prost::alloc::string::String,
573    /// Optional datetime format for datetime arrays
574    #[prost(string, tag = "5")]
575    pub datetime_format: ::prost::alloc::string::String,
576    /// Optional timestamp format for timestamp arrays
577    #[prost(string, tag = "6")]
578    pub timestamp_format: ::prost::alloc::string::String,
579    /// Optional time format for time arrays
580    #[prost(string, tag = "7")]
581    pub time_format: ::prost::alloc::string::String,
582    /// Optional value to represent null
583    #[prost(string, tag = "8")]
584    pub null_value: ::prost::alloc::string::String,
585    /// Optional quote. Defaults to `b'"'`
586    #[prost(string, tag = "9")]
587    pub quote: ::prost::alloc::string::String,
588    /// Optional escape. Defaults to `'\\'`
589    #[prost(string, tag = "10")]
590    pub escape: ::prost::alloc::string::String,
591    /// Optional flag whether to double quotes, instead of escaping. Defaults to `true`
592    #[prost(bool, tag = "11")]
593    pub double_quote: bool,
594}
595/// Options controlling CSV format
596#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
597pub struct CsvOptions {
598    /// Indicates if the CSV has a header row
599    #[prost(bytes = "vec", tag = "1")]
600    pub has_header: ::prost::alloc::vec::Vec<u8>,
601    /// Delimiter character as a byte
602    #[prost(bytes = "vec", tag = "2")]
603    pub delimiter: ::prost::alloc::vec::Vec<u8>,
604    /// Quote character as a byte
605    #[prost(bytes = "vec", tag = "3")]
606    pub quote: ::prost::alloc::vec::Vec<u8>,
607    /// Optional escape character as a byte
608    #[prost(bytes = "vec", tag = "4")]
609    pub escape: ::prost::alloc::vec::Vec<u8>,
610    /// Compression type
611    #[prost(enumeration = "CompressionTypeVariant", tag = "5")]
612    pub compression: i32,
613    /// Optional max records for schema inference
614    #[prost(uint64, optional, tag = "6")]
615    pub schema_infer_max_rec: ::core::option::Option<u64>,
616    /// Optional date format
617    #[prost(string, tag = "7")]
618    pub date_format: ::prost::alloc::string::String,
619    /// Optional datetime format
620    #[prost(string, tag = "8")]
621    pub datetime_format: ::prost::alloc::string::String,
622    /// Optional timestamp format
623    #[prost(string, tag = "9")]
624    pub timestamp_format: ::prost::alloc::string::String,
625    /// Optional timestamp with timezone format
626    #[prost(string, tag = "10")]
627    pub timestamp_tz_format: ::prost::alloc::string::String,
628    /// Optional time format
629    #[prost(string, tag = "11")]
630    pub time_format: ::prost::alloc::string::String,
631    /// Optional representation of null value
632    #[prost(string, tag = "12")]
633    pub null_value: ::prost::alloc::string::String,
634    /// Optional representation of null loading regex
635    #[prost(string, tag = "13")]
636    pub null_regex: ::prost::alloc::string::String,
637    /// Optional comment character as a byte
638    #[prost(bytes = "vec", tag = "14")]
639    pub comment: ::prost::alloc::vec::Vec<u8>,
640    /// Indicates if quotes are doubled
641    #[prost(bytes = "vec", tag = "15")]
642    pub double_quote: ::prost::alloc::vec::Vec<u8>,
643    /// Indicates if newlines are supported in values
644    #[prost(bytes = "vec", tag = "16")]
645    pub newlines_in_values: ::prost::alloc::vec::Vec<u8>,
646    /// Optional terminator character as a byte
647    #[prost(bytes = "vec", tag = "17")]
648    pub terminator: ::prost::alloc::vec::Vec<u8>,
649    /// Indicates if truncated rows are allowed
650    #[prost(bytes = "vec", tag = "18")]
651    pub truncated_rows: ::prost::alloc::vec::Vec<u8>,
652}
653/// Options controlling CSV format
654#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
655pub struct JsonOptions {
656    /// Compression type
657    #[prost(enumeration = "CompressionTypeVariant", tag = "1")]
658    pub compression: i32,
659    /// Optional max records for schema inference
660    #[prost(uint64, optional, tag = "2")]
661    pub schema_infer_max_rec: ::core::option::Option<u64>,
662}
663#[derive(Clone, PartialEq, ::prost::Message)]
664pub struct TableParquetOptions {
665    #[prost(message, optional, tag = "1")]
666    pub global: ::core::option::Option<ParquetOptions>,
667    #[prost(message, repeated, tag = "2")]
668    pub column_specific_options: ::prost::alloc::vec::Vec<ParquetColumnSpecificOptions>,
669    #[prost(map = "string, string", tag = "3")]
670    pub key_value_metadata: ::std::collections::HashMap<
671        ::prost::alloc::string::String,
672        ::prost::alloc::string::String,
673    >,
674}
675#[derive(Clone, PartialEq, ::prost::Message)]
676pub struct ParquetColumnSpecificOptions {
677    #[prost(string, tag = "1")]
678    pub column_name: ::prost::alloc::string::String,
679    #[prost(message, optional, tag = "2")]
680    pub options: ::core::option::Option<ParquetColumnOptions>,
681}
682#[derive(Clone, PartialEq, ::prost::Message)]
683pub struct ParquetColumnOptions {
684    #[prost(oneof = "parquet_column_options::BloomFilterEnabledOpt", tags = "1")]
685    pub bloom_filter_enabled_opt: ::core::option::Option<
686        parquet_column_options::BloomFilterEnabledOpt,
687    >,
688    #[prost(oneof = "parquet_column_options::EncodingOpt", tags = "2")]
689    pub encoding_opt: ::core::option::Option<parquet_column_options::EncodingOpt>,
690    #[prost(oneof = "parquet_column_options::DictionaryEnabledOpt", tags = "3")]
691    pub dictionary_enabled_opt: ::core::option::Option<
692        parquet_column_options::DictionaryEnabledOpt,
693    >,
694    #[prost(oneof = "parquet_column_options::CompressionOpt", tags = "4")]
695    pub compression_opt: ::core::option::Option<parquet_column_options::CompressionOpt>,
696    #[prost(oneof = "parquet_column_options::StatisticsEnabledOpt", tags = "5")]
697    pub statistics_enabled_opt: ::core::option::Option<
698        parquet_column_options::StatisticsEnabledOpt,
699    >,
700    #[prost(oneof = "parquet_column_options::BloomFilterFppOpt", tags = "6")]
701    pub bloom_filter_fpp_opt: ::core::option::Option<
702        parquet_column_options::BloomFilterFppOpt,
703    >,
704    #[prost(oneof = "parquet_column_options::BloomFilterNdvOpt", tags = "7")]
705    pub bloom_filter_ndv_opt: ::core::option::Option<
706        parquet_column_options::BloomFilterNdvOpt,
707    >,
708}
709/// Nested message and enum types in `ParquetColumnOptions`.
710pub mod parquet_column_options {
711    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
712    pub enum BloomFilterEnabledOpt {
713        #[prost(bool, tag = "1")]
714        BloomFilterEnabled(bool),
715    }
716    #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
717    pub enum EncodingOpt {
718        #[prost(string, tag = "2")]
719        Encoding(::prost::alloc::string::String),
720    }
721    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
722    pub enum DictionaryEnabledOpt {
723        #[prost(bool, tag = "3")]
724        DictionaryEnabled(bool),
725    }
726    #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
727    pub enum CompressionOpt {
728        #[prost(string, tag = "4")]
729        Compression(::prost::alloc::string::String),
730    }
731    #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
732    pub enum StatisticsEnabledOpt {
733        #[prost(string, tag = "5")]
734        StatisticsEnabled(::prost::alloc::string::String),
735    }
736    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
737    pub enum BloomFilterFppOpt {
738        #[prost(double, tag = "6")]
739        BloomFilterFpp(f64),
740    }
741    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
742    pub enum BloomFilterNdvOpt {
743        #[prost(uint64, tag = "7")]
744        BloomFilterNdv(u64),
745    }
746}
747#[derive(Clone, PartialEq, ::prost::Message)]
748pub struct ParquetOptions {
749    /// Regular fields
750    ///
751    /// default = true
752    #[prost(bool, tag = "1")]
753    pub enable_page_index: bool,
754    /// default = true
755    #[prost(bool, tag = "2")]
756    pub pruning: bool,
757    /// default = true
758    #[prost(bool, tag = "3")]
759    pub skip_metadata: bool,
760    /// default = false
761    #[prost(bool, tag = "5")]
762    pub pushdown_filters: bool,
763    /// default = false
764    #[prost(bool, tag = "6")]
765    pub reorder_filters: bool,
766    /// default = 1024 * 1024
767    #[prost(uint64, tag = "7")]
768    pub data_pagesize_limit: u64,
769    /// default = 1024
770    #[prost(uint64, tag = "8")]
771    pub write_batch_size: u64,
772    /// default = "1.0"
773    #[prost(string, tag = "9")]
774    pub writer_version: ::prost::alloc::string::String,
775    /// bool bloom_filter_enabled = 20; // default = false
776    ///
777    /// default = true
778    #[prost(bool, tag = "23")]
779    pub allow_single_file_parallelism: bool,
780    /// default = 1
781    #[prost(uint64, tag = "24")]
782    pub maximum_parallel_row_group_writers: u64,
783    /// default = 2
784    #[prost(uint64, tag = "25")]
785    pub maximum_buffered_record_batches_per_stream: u64,
786    /// default = true
787    #[prost(bool, tag = "26")]
788    pub bloom_filter_on_read: bool,
789    /// default = false
790    #[prost(bool, tag = "27")]
791    pub bloom_filter_on_write: bool,
792    /// default = false
793    #[prost(bool, tag = "28")]
794    pub schema_force_view_types: bool,
795    /// default = false
796    #[prost(bool, tag = "29")]
797    pub binary_as_string: bool,
798    /// default = false
799    #[prost(bool, tag = "30")]
800    pub skip_arrow_metadata: bool,
801    #[prost(uint64, tag = "12")]
802    pub dictionary_page_size_limit: u64,
803    #[prost(uint64, tag = "18")]
804    pub data_page_row_count_limit: u64,
805    #[prost(uint64, tag = "15")]
806    pub max_row_group_size: u64,
807    #[prost(string, tag = "16")]
808    pub created_by: ::prost::alloc::string::String,
809    #[prost(oneof = "parquet_options::MetadataSizeHintOpt", tags = "4")]
810    pub metadata_size_hint_opt: ::core::option::Option<
811        parquet_options::MetadataSizeHintOpt,
812    >,
813    #[prost(oneof = "parquet_options::CompressionOpt", tags = "10")]
814    pub compression_opt: ::core::option::Option<parquet_options::CompressionOpt>,
815    #[prost(oneof = "parquet_options::DictionaryEnabledOpt", tags = "11")]
816    pub dictionary_enabled_opt: ::core::option::Option<
817        parquet_options::DictionaryEnabledOpt,
818    >,
819    #[prost(oneof = "parquet_options::StatisticsEnabledOpt", tags = "13")]
820    pub statistics_enabled_opt: ::core::option::Option<
821        parquet_options::StatisticsEnabledOpt,
822    >,
823    #[prost(oneof = "parquet_options::ColumnIndexTruncateLengthOpt", tags = "17")]
824    pub column_index_truncate_length_opt: ::core::option::Option<
825        parquet_options::ColumnIndexTruncateLengthOpt,
826    >,
827    #[prost(oneof = "parquet_options::StatisticsTruncateLengthOpt", tags = "31")]
828    pub statistics_truncate_length_opt: ::core::option::Option<
829        parquet_options::StatisticsTruncateLengthOpt,
830    >,
831    #[prost(oneof = "parquet_options::EncodingOpt", tags = "19")]
832    pub encoding_opt: ::core::option::Option<parquet_options::EncodingOpt>,
833    #[prost(oneof = "parquet_options::BloomFilterFppOpt", tags = "21")]
834    pub bloom_filter_fpp_opt: ::core::option::Option<parquet_options::BloomFilterFppOpt>,
835    #[prost(oneof = "parquet_options::BloomFilterNdvOpt", tags = "22")]
836    pub bloom_filter_ndv_opt: ::core::option::Option<parquet_options::BloomFilterNdvOpt>,
837    #[prost(oneof = "parquet_options::CoerceInt96Opt", tags = "32")]
838    pub coerce_int96_opt: ::core::option::Option<parquet_options::CoerceInt96Opt>,
839    #[prost(oneof = "parquet_options::MaxPredicateCacheSizeOpt", tags = "33")]
840    pub max_predicate_cache_size_opt: ::core::option::Option<
841        parquet_options::MaxPredicateCacheSizeOpt,
842    >,
843}
844/// Nested message and enum types in `ParquetOptions`.
845pub mod parquet_options {
846    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
847    pub enum MetadataSizeHintOpt {
848        #[prost(uint64, tag = "4")]
849        MetadataSizeHint(u64),
850    }
851    #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
852    pub enum CompressionOpt {
853        #[prost(string, tag = "10")]
854        Compression(::prost::alloc::string::String),
855    }
856    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
857    pub enum DictionaryEnabledOpt {
858        #[prost(bool, tag = "11")]
859        DictionaryEnabled(bool),
860    }
861    #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
862    pub enum StatisticsEnabledOpt {
863        #[prost(string, tag = "13")]
864        StatisticsEnabled(::prost::alloc::string::String),
865    }
866    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
867    pub enum ColumnIndexTruncateLengthOpt {
868        #[prost(uint64, tag = "17")]
869        ColumnIndexTruncateLength(u64),
870    }
871    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
872    pub enum StatisticsTruncateLengthOpt {
873        #[prost(uint64, tag = "31")]
874        StatisticsTruncateLength(u64),
875    }
876    #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
877    pub enum EncodingOpt {
878        #[prost(string, tag = "19")]
879        Encoding(::prost::alloc::string::String),
880    }
881    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
882    pub enum BloomFilterFppOpt {
883        #[prost(double, tag = "21")]
884        BloomFilterFpp(f64),
885    }
886    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
887    pub enum BloomFilterNdvOpt {
888        #[prost(uint64, tag = "22")]
889        BloomFilterNdv(u64),
890    }
891    #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
892    pub enum CoerceInt96Opt {
893        #[prost(string, tag = "32")]
894        CoerceInt96(::prost::alloc::string::String),
895    }
896    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
897    pub enum MaxPredicateCacheSizeOpt {
898        #[prost(uint64, tag = "33")]
899        MaxPredicateCacheSize(u64),
900    }
901}
902#[derive(Clone, PartialEq, ::prost::Message)]
903pub struct Precision {
904    #[prost(enumeration = "PrecisionInfo", tag = "1")]
905    pub precision_info: i32,
906    #[prost(message, optional, tag = "2")]
907    pub val: ::core::option::Option<ScalarValue>,
908}
909#[derive(Clone, PartialEq, ::prost::Message)]
910pub struct Statistics {
911    #[prost(message, optional, tag = "1")]
912    pub num_rows: ::core::option::Option<Precision>,
913    #[prost(message, optional, tag = "2")]
914    pub total_byte_size: ::core::option::Option<Precision>,
915    #[prost(message, repeated, tag = "3")]
916    pub column_stats: ::prost::alloc::vec::Vec<ColumnStats>,
917}
918#[derive(Clone, PartialEq, ::prost::Message)]
919pub struct ColumnStats {
920    #[prost(message, optional, tag = "1")]
921    pub min_value: ::core::option::Option<Precision>,
922    #[prost(message, optional, tag = "2")]
923    pub max_value: ::core::option::Option<Precision>,
924    #[prost(message, optional, tag = "5")]
925    pub sum_value: ::core::option::Option<Precision>,
926    #[prost(message, optional, tag = "3")]
927    pub null_count: ::core::option::Option<Precision>,
928    #[prost(message, optional, tag = "4")]
929    pub distinct_count: ::core::option::Option<Precision>,
930}
931#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
932#[repr(i32)]
933pub enum JoinType {
934    Inner = 0,
935    Left = 1,
936    Right = 2,
937    Full = 3,
938    Leftsemi = 4,
939    Leftanti = 5,
940    Rightsemi = 6,
941    Rightanti = 7,
942    Leftmark = 8,
943    Rightmark = 9,
944}
945impl JoinType {
946    /// String value of the enum field names used in the ProtoBuf definition.
947    ///
948    /// The values are not transformed in any way and thus are considered stable
949    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
950    pub fn as_str_name(&self) -> &'static str {
951        match self {
952            Self::Inner => "INNER",
953            Self::Left => "LEFT",
954            Self::Right => "RIGHT",
955            Self::Full => "FULL",
956            Self::Leftsemi => "LEFTSEMI",
957            Self::Leftanti => "LEFTANTI",
958            Self::Rightsemi => "RIGHTSEMI",
959            Self::Rightanti => "RIGHTANTI",
960            Self::Leftmark => "LEFTMARK",
961            Self::Rightmark => "RIGHTMARK",
962        }
963    }
964    /// Creates an enum from field names used in the ProtoBuf definition.
965    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
966        match value {
967            "INNER" => Some(Self::Inner),
968            "LEFT" => Some(Self::Left),
969            "RIGHT" => Some(Self::Right),
970            "FULL" => Some(Self::Full),
971            "LEFTSEMI" => Some(Self::Leftsemi),
972            "LEFTANTI" => Some(Self::Leftanti),
973            "RIGHTSEMI" => Some(Self::Rightsemi),
974            "RIGHTANTI" => Some(Self::Rightanti),
975            "LEFTMARK" => Some(Self::Leftmark),
976            "RIGHTMARK" => Some(Self::Rightmark),
977            _ => None,
978        }
979    }
980}
981#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
982#[repr(i32)]
983pub enum JoinConstraint {
984    On = 0,
985    Using = 1,
986}
987impl JoinConstraint {
988    /// String value of the enum field names used in the ProtoBuf definition.
989    ///
990    /// The values are not transformed in any way and thus are considered stable
991    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
992    pub fn as_str_name(&self) -> &'static str {
993        match self {
994            Self::On => "ON",
995            Self::Using => "USING",
996        }
997    }
998    /// Creates an enum from field names used in the ProtoBuf definition.
999    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1000        match value {
1001            "ON" => Some(Self::On),
1002            "USING" => Some(Self::Using),
1003            _ => None,
1004        }
1005    }
1006}
1007#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1008#[repr(i32)]
1009pub enum NullEquality {
1010    NullEqualsNothing = 0,
1011    NullEqualsNull = 1,
1012}
1013impl NullEquality {
1014    /// String value of the enum field names used in the ProtoBuf definition.
1015    ///
1016    /// The values are not transformed in any way and thus are considered stable
1017    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1018    pub fn as_str_name(&self) -> &'static str {
1019        match self {
1020            Self::NullEqualsNothing => "NULL_EQUALS_NOTHING",
1021            Self::NullEqualsNull => "NULL_EQUALS_NULL",
1022        }
1023    }
1024    /// Creates an enum from field names used in the ProtoBuf definition.
1025    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1026        match value {
1027            "NULL_EQUALS_NOTHING" => Some(Self::NullEqualsNothing),
1028            "NULL_EQUALS_NULL" => Some(Self::NullEqualsNull),
1029            _ => None,
1030        }
1031    }
1032}
1033#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1034#[repr(i32)]
1035pub enum TimeUnit {
1036    Second = 0,
1037    Millisecond = 1,
1038    Microsecond = 2,
1039    Nanosecond = 3,
1040}
1041impl TimeUnit {
1042    /// String value of the enum field names used in the ProtoBuf definition.
1043    ///
1044    /// The values are not transformed in any way and thus are considered stable
1045    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1046    pub fn as_str_name(&self) -> &'static str {
1047        match self {
1048            Self::Second => "Second",
1049            Self::Millisecond => "Millisecond",
1050            Self::Microsecond => "Microsecond",
1051            Self::Nanosecond => "Nanosecond",
1052        }
1053    }
1054    /// Creates an enum from field names used in the ProtoBuf definition.
1055    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1056        match value {
1057            "Second" => Some(Self::Second),
1058            "Millisecond" => Some(Self::Millisecond),
1059            "Microsecond" => Some(Self::Microsecond),
1060            "Nanosecond" => Some(Self::Nanosecond),
1061            _ => None,
1062        }
1063    }
1064}
1065#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1066#[repr(i32)]
1067pub enum IntervalUnit {
1068    YearMonth = 0,
1069    DayTime = 1,
1070    MonthDayNano = 2,
1071}
1072impl IntervalUnit {
1073    /// String value of the enum field names used in the ProtoBuf definition.
1074    ///
1075    /// The values are not transformed in any way and thus are considered stable
1076    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1077    pub fn as_str_name(&self) -> &'static str {
1078        match self {
1079            Self::YearMonth => "YearMonth",
1080            Self::DayTime => "DayTime",
1081            Self::MonthDayNano => "MonthDayNano",
1082        }
1083    }
1084    /// Creates an enum from field names used in the ProtoBuf definition.
1085    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1086        match value {
1087            "YearMonth" => Some(Self::YearMonth),
1088            "DayTime" => Some(Self::DayTime),
1089            "MonthDayNano" => Some(Self::MonthDayNano),
1090            _ => None,
1091        }
1092    }
1093}
1094#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1095#[repr(i32)]
1096pub enum UnionMode {
1097    Sparse = 0,
1098    Dense = 1,
1099}
1100impl UnionMode {
1101    /// String value of the enum field names used in the ProtoBuf definition.
1102    ///
1103    /// The values are not transformed in any way and thus are considered stable
1104    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1105    pub fn as_str_name(&self) -> &'static str {
1106        match self {
1107            Self::Sparse => "sparse",
1108            Self::Dense => "dense",
1109        }
1110    }
1111    /// Creates an enum from field names used in the ProtoBuf definition.
1112    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1113        match value {
1114            "sparse" => Some(Self::Sparse),
1115            "dense" => Some(Self::Dense),
1116            _ => None,
1117        }
1118    }
1119}
1120#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1121#[repr(i32)]
1122pub enum CompressionTypeVariant {
1123    Gzip = 0,
1124    Bzip2 = 1,
1125    Xz = 2,
1126    Zstd = 3,
1127    Uncompressed = 4,
1128}
1129impl CompressionTypeVariant {
1130    /// String value of the enum field names used in the ProtoBuf definition.
1131    ///
1132    /// The values are not transformed in any way and thus are considered stable
1133    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1134    pub fn as_str_name(&self) -> &'static str {
1135        match self {
1136            Self::Gzip => "GZIP",
1137            Self::Bzip2 => "BZIP2",
1138            Self::Xz => "XZ",
1139            Self::Zstd => "ZSTD",
1140            Self::Uncompressed => "UNCOMPRESSED",
1141        }
1142    }
1143    /// Creates an enum from field names used in the ProtoBuf definition.
1144    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1145        match value {
1146            "GZIP" => Some(Self::Gzip),
1147            "BZIP2" => Some(Self::Bzip2),
1148            "XZ" => Some(Self::Xz),
1149            "ZSTD" => Some(Self::Zstd),
1150            "UNCOMPRESSED" => Some(Self::Uncompressed),
1151            _ => None,
1152        }
1153    }
1154}
1155#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1156#[repr(i32)]
1157pub enum JoinSide {
1158    LeftSide = 0,
1159    RightSide = 1,
1160    None = 2,
1161}
1162impl JoinSide {
1163    /// String value of the enum field names used in the ProtoBuf definition.
1164    ///
1165    /// The values are not transformed in any way and thus are considered stable
1166    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1167    pub fn as_str_name(&self) -> &'static str {
1168        match self {
1169            Self::LeftSide => "LEFT_SIDE",
1170            Self::RightSide => "RIGHT_SIDE",
1171            Self::None => "NONE",
1172        }
1173    }
1174    /// Creates an enum from field names used in the ProtoBuf definition.
1175    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1176        match value {
1177            "LEFT_SIDE" => Some(Self::LeftSide),
1178            "RIGHT_SIDE" => Some(Self::RightSide),
1179            "NONE" => Some(Self::None),
1180            _ => None,
1181        }
1182    }
1183}
1184#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1185#[repr(i32)]
1186pub enum PrecisionInfo {
1187    Exact = 0,
1188    Inexact = 1,
1189    Absent = 2,
1190}
1191impl PrecisionInfo {
1192    /// String value of the enum field names used in the ProtoBuf definition.
1193    ///
1194    /// The values are not transformed in any way and thus are considered stable
1195    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1196    pub fn as_str_name(&self) -> &'static str {
1197        match self {
1198            Self::Exact => "EXACT",
1199            Self::Inexact => "INEXACT",
1200            Self::Absent => "ABSENT",
1201        }
1202    }
1203    /// Creates an enum from field names used in the ProtoBuf definition.
1204    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1205        match value {
1206            "EXACT" => Some(Self::Exact),
1207            "INEXACT" => Some(Self::Inexact),
1208            "ABSENT" => Some(Self::Absent),
1209            _ => None,
1210        }
1211    }
1212}