datafusion_proto/generated/
datafusion_proto_common.rs

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