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