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