datafusion_proto/generated/
datafusion_proto_common.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    /// Optional compression level
653    #[prost(uint32, optional, tag = "19")]
654    pub compression_level: ::core::option::Option<u32>,
655}
656/// Options controlling CSV format
657#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
658pub struct JsonOptions {
659    /// Compression type
660    #[prost(enumeration = "CompressionTypeVariant", tag = "1")]
661    pub compression: i32,
662    /// Optional max records for schema inference
663    #[prost(uint64, optional, tag = "2")]
664    pub schema_infer_max_rec: ::core::option::Option<u64>,
665    /// Optional compression level
666    #[prost(uint32, optional, tag = "3")]
667    pub compression_level: ::core::option::Option<u32>,
668}
669#[derive(Clone, PartialEq, ::prost::Message)]
670pub struct TableParquetOptions {
671    #[prost(message, optional, tag = "1")]
672    pub global: ::core::option::Option<ParquetOptions>,
673    #[prost(message, repeated, tag = "2")]
674    pub column_specific_options: ::prost::alloc::vec::Vec<ParquetColumnSpecificOptions>,
675    #[prost(map = "string, string", tag = "3")]
676    pub key_value_metadata: ::std::collections::HashMap<
677        ::prost::alloc::string::String,
678        ::prost::alloc::string::String,
679    >,
680}
681#[derive(Clone, PartialEq, ::prost::Message)]
682pub struct ParquetColumnSpecificOptions {
683    #[prost(string, tag = "1")]
684    pub column_name: ::prost::alloc::string::String,
685    #[prost(message, optional, tag = "2")]
686    pub options: ::core::option::Option<ParquetColumnOptions>,
687}
688#[derive(Clone, PartialEq, ::prost::Message)]
689pub struct ParquetColumnOptions {
690    #[prost(oneof = "parquet_column_options::BloomFilterEnabledOpt", tags = "1")]
691    pub bloom_filter_enabled_opt: ::core::option::Option<
692        parquet_column_options::BloomFilterEnabledOpt,
693    >,
694    #[prost(oneof = "parquet_column_options::EncodingOpt", tags = "2")]
695    pub encoding_opt: ::core::option::Option<parquet_column_options::EncodingOpt>,
696    #[prost(oneof = "parquet_column_options::DictionaryEnabledOpt", tags = "3")]
697    pub dictionary_enabled_opt: ::core::option::Option<
698        parquet_column_options::DictionaryEnabledOpt,
699    >,
700    #[prost(oneof = "parquet_column_options::CompressionOpt", tags = "4")]
701    pub compression_opt: ::core::option::Option<parquet_column_options::CompressionOpt>,
702    #[prost(oneof = "parquet_column_options::StatisticsEnabledOpt", tags = "5")]
703    pub statistics_enabled_opt: ::core::option::Option<
704        parquet_column_options::StatisticsEnabledOpt,
705    >,
706    #[prost(oneof = "parquet_column_options::BloomFilterFppOpt", tags = "6")]
707    pub bloom_filter_fpp_opt: ::core::option::Option<
708        parquet_column_options::BloomFilterFppOpt,
709    >,
710    #[prost(oneof = "parquet_column_options::BloomFilterNdvOpt", tags = "7")]
711    pub bloom_filter_ndv_opt: ::core::option::Option<
712        parquet_column_options::BloomFilterNdvOpt,
713    >,
714}
715/// Nested message and enum types in `ParquetColumnOptions`.
716pub mod parquet_column_options {
717    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
718    pub enum BloomFilterEnabledOpt {
719        #[prost(bool, tag = "1")]
720        BloomFilterEnabled(bool),
721    }
722    #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
723    pub enum EncodingOpt {
724        #[prost(string, tag = "2")]
725        Encoding(::prost::alloc::string::String),
726    }
727    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
728    pub enum DictionaryEnabledOpt {
729        #[prost(bool, tag = "3")]
730        DictionaryEnabled(bool),
731    }
732    #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
733    pub enum CompressionOpt {
734        #[prost(string, tag = "4")]
735        Compression(::prost::alloc::string::String),
736    }
737    #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
738    pub enum StatisticsEnabledOpt {
739        #[prost(string, tag = "5")]
740        StatisticsEnabled(::prost::alloc::string::String),
741    }
742    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
743    pub enum BloomFilterFppOpt {
744        #[prost(double, tag = "6")]
745        BloomFilterFpp(f64),
746    }
747    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
748    pub enum BloomFilterNdvOpt {
749        #[prost(uint64, tag = "7")]
750        BloomFilterNdv(u64),
751    }
752}
753#[derive(Clone, PartialEq, ::prost::Message)]
754pub struct ParquetOptions {
755    /// Regular fields
756    ///
757    /// default = true
758    #[prost(bool, tag = "1")]
759    pub enable_page_index: bool,
760    /// default = true
761    #[prost(bool, tag = "2")]
762    pub pruning: bool,
763    /// default = true
764    #[prost(bool, tag = "3")]
765    pub skip_metadata: bool,
766    /// default = false
767    #[prost(bool, tag = "5")]
768    pub pushdown_filters: bool,
769    /// default = false
770    #[prost(bool, tag = "6")]
771    pub reorder_filters: bool,
772    /// default = false
773    #[prost(bool, tag = "34")]
774    pub force_filter_selections: bool,
775    /// default = 1024 * 1024
776    #[prost(uint64, tag = "7")]
777    pub data_pagesize_limit: u64,
778    /// default = 1024
779    #[prost(uint64, tag = "8")]
780    pub write_batch_size: u64,
781    /// default = "1.0"
782    #[prost(string, tag = "9")]
783    pub writer_version: ::prost::alloc::string::String,
784    /// bool bloom_filter_enabled = 20; // default = false
785    ///
786    /// default = true
787    #[prost(bool, tag = "23")]
788    pub allow_single_file_parallelism: bool,
789    /// default = 1
790    #[prost(uint64, tag = "24")]
791    pub maximum_parallel_row_group_writers: u64,
792    /// default = 2
793    #[prost(uint64, tag = "25")]
794    pub maximum_buffered_record_batches_per_stream: u64,
795    /// default = true
796    #[prost(bool, tag = "26")]
797    pub bloom_filter_on_read: bool,
798    /// default = false
799    #[prost(bool, tag = "27")]
800    pub bloom_filter_on_write: bool,
801    /// default = false
802    #[prost(bool, tag = "28")]
803    pub schema_force_view_types: bool,
804    /// default = false
805    #[prost(bool, tag = "29")]
806    pub binary_as_string: bool,
807    /// default = false
808    #[prost(bool, tag = "30")]
809    pub skip_arrow_metadata: bool,
810    #[prost(uint64, tag = "12")]
811    pub dictionary_page_size_limit: u64,
812    #[prost(uint64, tag = "18")]
813    pub data_page_row_count_limit: u64,
814    #[prost(uint64, tag = "15")]
815    pub max_row_group_size: u64,
816    #[prost(string, tag = "16")]
817    pub created_by: ::prost::alloc::string::String,
818    #[prost(oneof = "parquet_options::MetadataSizeHintOpt", tags = "4")]
819    pub metadata_size_hint_opt: ::core::option::Option<
820        parquet_options::MetadataSizeHintOpt,
821    >,
822    #[prost(oneof = "parquet_options::CompressionOpt", tags = "10")]
823    pub compression_opt: ::core::option::Option<parquet_options::CompressionOpt>,
824    #[prost(oneof = "parquet_options::DictionaryEnabledOpt", tags = "11")]
825    pub dictionary_enabled_opt: ::core::option::Option<
826        parquet_options::DictionaryEnabledOpt,
827    >,
828    #[prost(oneof = "parquet_options::StatisticsEnabledOpt", tags = "13")]
829    pub statistics_enabled_opt: ::core::option::Option<
830        parquet_options::StatisticsEnabledOpt,
831    >,
832    #[prost(oneof = "parquet_options::ColumnIndexTruncateLengthOpt", tags = "17")]
833    pub column_index_truncate_length_opt: ::core::option::Option<
834        parquet_options::ColumnIndexTruncateLengthOpt,
835    >,
836    #[prost(oneof = "parquet_options::StatisticsTruncateLengthOpt", tags = "31")]
837    pub statistics_truncate_length_opt: ::core::option::Option<
838        parquet_options::StatisticsTruncateLengthOpt,
839    >,
840    #[prost(oneof = "parquet_options::EncodingOpt", tags = "19")]
841    pub encoding_opt: ::core::option::Option<parquet_options::EncodingOpt>,
842    #[prost(oneof = "parquet_options::BloomFilterFppOpt", tags = "21")]
843    pub bloom_filter_fpp_opt: ::core::option::Option<parquet_options::BloomFilterFppOpt>,
844    #[prost(oneof = "parquet_options::BloomFilterNdvOpt", tags = "22")]
845    pub bloom_filter_ndv_opt: ::core::option::Option<parquet_options::BloomFilterNdvOpt>,
846    #[prost(oneof = "parquet_options::CoerceInt96Opt", tags = "32")]
847    pub coerce_int96_opt: ::core::option::Option<parquet_options::CoerceInt96Opt>,
848    #[prost(oneof = "parquet_options::MaxPredicateCacheSizeOpt", tags = "33")]
849    pub max_predicate_cache_size_opt: ::core::option::Option<
850        parquet_options::MaxPredicateCacheSizeOpt,
851    >,
852}
853/// Nested message and enum types in `ParquetOptions`.
854pub mod parquet_options {
855    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
856    pub enum MetadataSizeHintOpt {
857        #[prost(uint64, tag = "4")]
858        MetadataSizeHint(u64),
859    }
860    #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
861    pub enum CompressionOpt {
862        #[prost(string, tag = "10")]
863        Compression(::prost::alloc::string::String),
864    }
865    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
866    pub enum DictionaryEnabledOpt {
867        #[prost(bool, tag = "11")]
868        DictionaryEnabled(bool),
869    }
870    #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
871    pub enum StatisticsEnabledOpt {
872        #[prost(string, tag = "13")]
873        StatisticsEnabled(::prost::alloc::string::String),
874    }
875    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
876    pub enum ColumnIndexTruncateLengthOpt {
877        #[prost(uint64, tag = "17")]
878        ColumnIndexTruncateLength(u64),
879    }
880    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
881    pub enum StatisticsTruncateLengthOpt {
882        #[prost(uint64, tag = "31")]
883        StatisticsTruncateLength(u64),
884    }
885    #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
886    pub enum EncodingOpt {
887        #[prost(string, tag = "19")]
888        Encoding(::prost::alloc::string::String),
889    }
890    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
891    pub enum BloomFilterFppOpt {
892        #[prost(double, tag = "21")]
893        BloomFilterFpp(f64),
894    }
895    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
896    pub enum BloomFilterNdvOpt {
897        #[prost(uint64, tag = "22")]
898        BloomFilterNdv(u64),
899    }
900    #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
901    pub enum CoerceInt96Opt {
902        #[prost(string, tag = "32")]
903        CoerceInt96(::prost::alloc::string::String),
904    }
905    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
906    pub enum MaxPredicateCacheSizeOpt {
907        #[prost(uint64, tag = "33")]
908        MaxPredicateCacheSize(u64),
909    }
910}
911#[derive(Clone, PartialEq, ::prost::Message)]
912pub struct Precision {
913    #[prost(enumeration = "PrecisionInfo", tag = "1")]
914    pub precision_info: i32,
915    #[prost(message, optional, tag = "2")]
916    pub val: ::core::option::Option<ScalarValue>,
917}
918#[derive(Clone, PartialEq, ::prost::Message)]
919pub struct Statistics {
920    #[prost(message, optional, tag = "1")]
921    pub num_rows: ::core::option::Option<Precision>,
922    #[prost(message, optional, tag = "2")]
923    pub total_byte_size: ::core::option::Option<Precision>,
924    #[prost(message, repeated, tag = "3")]
925    pub column_stats: ::prost::alloc::vec::Vec<ColumnStats>,
926}
927#[derive(Clone, PartialEq, ::prost::Message)]
928pub struct ColumnStats {
929    #[prost(message, optional, tag = "1")]
930    pub min_value: ::core::option::Option<Precision>,
931    #[prost(message, optional, tag = "2")]
932    pub max_value: ::core::option::Option<Precision>,
933    #[prost(message, optional, tag = "5")]
934    pub sum_value: ::core::option::Option<Precision>,
935    #[prost(message, optional, tag = "3")]
936    pub null_count: ::core::option::Option<Precision>,
937    #[prost(message, optional, tag = "4")]
938    pub distinct_count: ::core::option::Option<Precision>,
939    #[prost(message, optional, tag = "6")]
940    pub byte_size: ::core::option::Option<Precision>,
941}
942#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
943#[repr(i32)]
944pub enum JoinType {
945    Inner = 0,
946    Left = 1,
947    Right = 2,
948    Full = 3,
949    Leftsemi = 4,
950    Leftanti = 5,
951    Rightsemi = 6,
952    Rightanti = 7,
953    Leftmark = 8,
954    Rightmark = 9,
955}
956impl JoinType {
957    /// String value of the enum field names used in the ProtoBuf definition.
958    ///
959    /// The values are not transformed in any way and thus are considered stable
960    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
961    pub fn as_str_name(&self) -> &'static str {
962        match self {
963            Self::Inner => "INNER",
964            Self::Left => "LEFT",
965            Self::Right => "RIGHT",
966            Self::Full => "FULL",
967            Self::Leftsemi => "LEFTSEMI",
968            Self::Leftanti => "LEFTANTI",
969            Self::Rightsemi => "RIGHTSEMI",
970            Self::Rightanti => "RIGHTANTI",
971            Self::Leftmark => "LEFTMARK",
972            Self::Rightmark => "RIGHTMARK",
973        }
974    }
975    /// Creates an enum from field names used in the ProtoBuf definition.
976    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
977        match value {
978            "INNER" => Some(Self::Inner),
979            "LEFT" => Some(Self::Left),
980            "RIGHT" => Some(Self::Right),
981            "FULL" => Some(Self::Full),
982            "LEFTSEMI" => Some(Self::Leftsemi),
983            "LEFTANTI" => Some(Self::Leftanti),
984            "RIGHTSEMI" => Some(Self::Rightsemi),
985            "RIGHTANTI" => Some(Self::Rightanti),
986            "LEFTMARK" => Some(Self::Leftmark),
987            "RIGHTMARK" => Some(Self::Rightmark),
988            _ => None,
989        }
990    }
991}
992#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
993#[repr(i32)]
994pub enum JoinConstraint {
995    On = 0,
996    Using = 1,
997}
998impl JoinConstraint {
999    /// String value of the enum field names used in the ProtoBuf definition.
1000    ///
1001    /// The values are not transformed in any way and thus are considered stable
1002    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1003    pub fn as_str_name(&self) -> &'static str {
1004        match self {
1005            Self::On => "ON",
1006            Self::Using => "USING",
1007        }
1008    }
1009    /// Creates an enum from field names used in the ProtoBuf definition.
1010    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1011        match value {
1012            "ON" => Some(Self::On),
1013            "USING" => Some(Self::Using),
1014            _ => None,
1015        }
1016    }
1017}
1018#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1019#[repr(i32)]
1020pub enum NullEquality {
1021    NullEqualsNothing = 0,
1022    NullEqualsNull = 1,
1023}
1024impl NullEquality {
1025    /// String value of the enum field names used in the ProtoBuf definition.
1026    ///
1027    /// The values are not transformed in any way and thus are considered stable
1028    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1029    pub fn as_str_name(&self) -> &'static str {
1030        match self {
1031            Self::NullEqualsNothing => "NULL_EQUALS_NOTHING",
1032            Self::NullEqualsNull => "NULL_EQUALS_NULL",
1033        }
1034    }
1035    /// Creates an enum from field names used in the ProtoBuf definition.
1036    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1037        match value {
1038            "NULL_EQUALS_NOTHING" => Some(Self::NullEqualsNothing),
1039            "NULL_EQUALS_NULL" => Some(Self::NullEqualsNull),
1040            _ => None,
1041        }
1042    }
1043}
1044#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1045#[repr(i32)]
1046pub enum TimeUnit {
1047    Second = 0,
1048    Millisecond = 1,
1049    Microsecond = 2,
1050    Nanosecond = 3,
1051}
1052impl TimeUnit {
1053    /// String value of the enum field names used in the ProtoBuf definition.
1054    ///
1055    /// The values are not transformed in any way and thus are considered stable
1056    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1057    pub fn as_str_name(&self) -> &'static str {
1058        match self {
1059            Self::Second => "Second",
1060            Self::Millisecond => "Millisecond",
1061            Self::Microsecond => "Microsecond",
1062            Self::Nanosecond => "Nanosecond",
1063        }
1064    }
1065    /// Creates an enum from field names used in the ProtoBuf definition.
1066    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1067        match value {
1068            "Second" => Some(Self::Second),
1069            "Millisecond" => Some(Self::Millisecond),
1070            "Microsecond" => Some(Self::Microsecond),
1071            "Nanosecond" => Some(Self::Nanosecond),
1072            _ => None,
1073        }
1074    }
1075}
1076#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1077#[repr(i32)]
1078pub enum IntervalUnit {
1079    YearMonth = 0,
1080    DayTime = 1,
1081    MonthDayNano = 2,
1082}
1083impl IntervalUnit {
1084    /// String value of the enum field names used in the ProtoBuf definition.
1085    ///
1086    /// The values are not transformed in any way and thus are considered stable
1087    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1088    pub fn as_str_name(&self) -> &'static str {
1089        match self {
1090            Self::YearMonth => "YearMonth",
1091            Self::DayTime => "DayTime",
1092            Self::MonthDayNano => "MonthDayNano",
1093        }
1094    }
1095    /// Creates an enum from field names used in the ProtoBuf definition.
1096    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1097        match value {
1098            "YearMonth" => Some(Self::YearMonth),
1099            "DayTime" => Some(Self::DayTime),
1100            "MonthDayNano" => Some(Self::MonthDayNano),
1101            _ => None,
1102        }
1103    }
1104}
1105#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1106#[repr(i32)]
1107pub enum UnionMode {
1108    Sparse = 0,
1109    Dense = 1,
1110}
1111impl UnionMode {
1112    /// String value of the enum field names used in the ProtoBuf definition.
1113    ///
1114    /// The values are not transformed in any way and thus are considered stable
1115    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1116    pub fn as_str_name(&self) -> &'static str {
1117        match self {
1118            Self::Sparse => "sparse",
1119            Self::Dense => "dense",
1120        }
1121    }
1122    /// Creates an enum from field names used in the ProtoBuf definition.
1123    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1124        match value {
1125            "sparse" => Some(Self::Sparse),
1126            "dense" => Some(Self::Dense),
1127            _ => None,
1128        }
1129    }
1130}
1131#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1132#[repr(i32)]
1133pub enum CompressionTypeVariant {
1134    Gzip = 0,
1135    Bzip2 = 1,
1136    Xz = 2,
1137    Zstd = 3,
1138    Uncompressed = 4,
1139}
1140impl CompressionTypeVariant {
1141    /// String value of the enum field names used in the ProtoBuf definition.
1142    ///
1143    /// The values are not transformed in any way and thus are considered stable
1144    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1145    pub fn as_str_name(&self) -> &'static str {
1146        match self {
1147            Self::Gzip => "GZIP",
1148            Self::Bzip2 => "BZIP2",
1149            Self::Xz => "XZ",
1150            Self::Zstd => "ZSTD",
1151            Self::Uncompressed => "UNCOMPRESSED",
1152        }
1153    }
1154    /// Creates an enum from field names used in the ProtoBuf definition.
1155    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1156        match value {
1157            "GZIP" => Some(Self::Gzip),
1158            "BZIP2" => Some(Self::Bzip2),
1159            "XZ" => Some(Self::Xz),
1160            "ZSTD" => Some(Self::Zstd),
1161            "UNCOMPRESSED" => Some(Self::Uncompressed),
1162            _ => None,
1163        }
1164    }
1165}
1166#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1167#[repr(i32)]
1168pub enum JoinSide {
1169    LeftSide = 0,
1170    RightSide = 1,
1171    None = 2,
1172}
1173impl JoinSide {
1174    /// String value of the enum field names used in the ProtoBuf definition.
1175    ///
1176    /// The values are not transformed in any way and thus are considered stable
1177    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1178    pub fn as_str_name(&self) -> &'static str {
1179        match self {
1180            Self::LeftSide => "LEFT_SIDE",
1181            Self::RightSide => "RIGHT_SIDE",
1182            Self::None => "NONE",
1183        }
1184    }
1185    /// Creates an enum from field names used in the ProtoBuf definition.
1186    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1187        match value {
1188            "LEFT_SIDE" => Some(Self::LeftSide),
1189            "RIGHT_SIDE" => Some(Self::RightSide),
1190            "NONE" => Some(Self::None),
1191            _ => None,
1192        }
1193    }
1194}
1195#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1196#[repr(i32)]
1197pub enum PrecisionInfo {
1198    Exact = 0,
1199    Inexact = 1,
1200    Absent = 2,
1201}
1202impl PrecisionInfo {
1203    /// String value of the enum field names used in the ProtoBuf definition.
1204    ///
1205    /// The values are not transformed in any way and thus are considered stable
1206    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1207    pub fn as_str_name(&self) -> &'static str {
1208        match self {
1209            Self::Exact => "EXACT",
1210            Self::Inexact => "INEXACT",
1211            Self::Absent => "ABSENT",
1212        }
1213    }
1214    /// Creates an enum from field names used in the ProtoBuf definition.
1215    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1216        match value {
1217            "EXACT" => Some(Self::Exact),
1218            "INEXACT" => Some(Self::Inexact),
1219            "ABSENT" => Some(Self::Absent),
1220            _ => None,
1221        }
1222    }
1223}