Skip to main content

perspective_client/
proto.rs

1// This file is @generated by prost-build.
2/// Recoverable, user-readable error reporting from the engine.
3#[derive(serde::Serialize)]
4#[allow(clippy::derive_partial_eq_without_eq)]
5#[derive(Clone, PartialEq, ::prost::Message)]
6pub struct ServerError {
7    #[prost(string, tag = "1")]
8    pub message: ::prost::alloc::string::String,
9    #[prost(enumeration = "StatusCode", tag = "2")]
10    pub status_code: i32,
11}
12#[derive(serde::Serialize)]
13#[allow(clippy::derive_partial_eq_without_eq)]
14#[derive(Clone, PartialEq, ::prost::Message)]
15pub struct Schema {
16    #[prost(message, repeated, tag = "1")]
17    pub schema: ::prost::alloc::vec::Vec<schema::KeyTypePair>,
18}
19/// Nested message and enum types in `Schema`.
20pub mod schema {
21    #[derive(serde::Serialize)]
22    #[allow(clippy::derive_partial_eq_without_eq)]
23    #[derive(Clone, PartialEq, ::prost::Message)]
24    pub struct KeyTypePair {
25        #[prost(string, tag = "1")]
26        pub name: ::prost::alloc::string::String,
27        #[prost(enumeration = "super::ColumnType", tag = "2")]
28        pub r#type: i32,
29    }
30}
31/// The data type constructors Perspective supports.
32#[derive(serde::Serialize)]
33#[allow(clippy::derive_partial_eq_without_eq)]
34#[derive(Clone, PartialEq, ::prost::Message)]
35pub struct MakeTableData {
36    #[prost(oneof = "make_table_data::Data", tags = "1, 2, 3, 4, 5, 6, 7")]
37    pub data: ::core::option::Option<make_table_data::Data>,
38}
39/// Nested message and enum types in `MakeTableData`.
40pub mod make_table_data {
41    #[derive(serde::Serialize)]
42    #[allow(clippy::derive_partial_eq_without_eq)]
43    #[derive(Clone, PartialEq, ::prost::Oneof)]
44    pub enum Data {
45        #[prost(message, tag = "1")]
46        FromSchema(super::Schema),
47        #[prost(string, tag = "2")]
48        FromCsv(::prost::alloc::string::String),
49        #[prost(bytes, tag = "3")]
50        #[serde(skip)]
51        FromArrow(::prost::alloc::vec::Vec<u8>),
52        #[prost(string, tag = "4")]
53        FromRows(::prost::alloc::string::String),
54        #[prost(string, tag = "5")]
55        FromCols(::prost::alloc::string::String),
56        #[prost(string, tag = "6")]
57        FromView(::prost::alloc::string::String),
58        #[prost(string, tag = "7")]
59        FromNdjson(::prost::alloc::string::String),
60    }
61}
62/// Filter type scalars - this is _not_ the same as a Columns scalar, as this
63/// value is used in the view config and must be JSON safe!
64#[derive(serde::Serialize)]
65#[allow(clippy::derive_partial_eq_without_eq)]
66#[derive(Clone, PartialEq, ::prost::Message)]
67pub struct Scalar {
68    #[prost(oneof = "scalar::Scalar", tags = "1, 4, 6, 7")]
69    pub scalar: ::core::option::Option<scalar::Scalar>,
70}
71/// Nested message and enum types in `Scalar`.
72pub mod scalar {
73    #[derive(serde::Serialize)]
74    #[allow(clippy::derive_partial_eq_without_eq)]
75    #[derive(Clone, PartialEq, ::prost::Oneof)]
76    pub enum Scalar {
77        #[prost(bool, tag = "1")]
78        Bool(bool),
79        /// int64 date = 2; // TODO these are the wrong type
80        /// int64 datetime = 3;
81        #[prost(double, tag = "4")]
82        Float(f64),
83        /// int32 int = 5;
84        #[prost(string, tag = "6")]
85        String(::prost::alloc::string::String),
86        #[prost(enumeration = "::prost_types::NullValue", tag = "7")]
87        Null(i32),
88    }
89}
90/// Options for requresting a slice of data, starting with the rectangular
91/// viewport.
92#[derive(serde::Serialize)]
93#[derive(serde::Deserialize)]
94#[allow(clippy::derive_partial_eq_without_eq)]
95#[derive(Clone, PartialEq, ::prost::Message)]
96pub struct ViewPort {
97    #[prost(uint32, optional, tag = "1")]
98    pub start_row: ::core::option::Option<u32>,
99    #[prost(uint32, optional, tag = "2")]
100    pub start_col: ::core::option::Option<u32>,
101    #[prost(uint32, optional, tag = "3")]
102    pub end_row: ::core::option::Option<u32>,
103    ///    optional bool id = 5;
104    ///    optional bool index = 3;
105    ///    optional bool formatted = 6;
106    ///    optional bool leaves_only = 7;
107    ///    optional bool compression = 3;
108    #[prost(uint32, optional, tag = "4")]
109    pub end_col: ::core::option::Option<u32>,
110}
111#[derive(serde::Serialize)]
112#[allow(clippy::derive_partial_eq_without_eq)]
113#[derive(Clone, PartialEq, ::prost::Message)]
114pub struct Request {
115    #[prost(uint32, tag = "1")]
116    pub msg_id: u32,
117    #[prost(string, tag = "2")]
118    pub entity_id: ::prost::alloc::string::String,
119    #[prost(
120        oneof = "request::ClientReq",
121        tags = "3, 4, 37, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 36, 27, 28, 29, 30, 31, 32, 33, 34, 35, 38"
122    )]
123    pub client_req: ::core::option::Option<request::ClientReq>,
124}
125/// Nested message and enum types in `Request`.
126pub mod request {
127    #[derive(serde::Serialize)]
128    #[allow(clippy::derive_partial_eq_without_eq)]
129    #[derive(Clone, PartialEq, ::prost::Oneof)]
130    pub enum ClientReq {
131        /// Minimum Virtual API (theoretical).
132        #[prost(message, tag = "3")]
133        GetFeaturesReq(super::GetFeaturesReq),
134        #[prost(message, tag = "4")]
135        GetHostedTablesReq(super::GetHostedTablesReq),
136        #[prost(message, tag = "37")]
137        RemoveHostedTablesUpdateReq(super::RemoveHostedTablesUpdateReq),
138        #[prost(message, tag = "5")]
139        TableMakePortReq(super::TableMakePortReq),
140        #[prost(message, tag = "6")]
141        TableMakeViewReq(super::TableMakeViewReq),
142        #[prost(message, tag = "7")]
143        TableSchemaReq(super::TableSchemaReq),
144        #[prost(message, tag = "8")]
145        TableSizeReq(super::TableSizeReq),
146        #[prost(message, tag = "9")]
147        TableValidateExprReq(super::TableValidateExprReq),
148        #[prost(message, tag = "10")]
149        ViewColumnPathsReq(super::ViewColumnPathsReq),
150        #[prost(message, tag = "11")]
151        ViewDeleteReq(super::ViewDeleteReq),
152        #[prost(message, tag = "12")]
153        ViewDimensionsReq(super::ViewDimensionsReq),
154        #[prost(message, tag = "13")]
155        ViewExpressionSchemaReq(super::ViewExpressionSchemaReq),
156        #[prost(message, tag = "14")]
157        ViewGetConfigReq(super::ViewGetConfigReq),
158        #[prost(message, tag = "15")]
159        ViewSchemaReq(super::ViewSchemaReq),
160        #[prost(message, tag = "16")]
161        ViewToArrowReq(super::ViewToArrowReq),
162        /// Optional (we can enable real-time/autocomplete/etc with these, but
163        /// not required).
164        #[prost(message, tag = "17")]
165        ServerSystemInfoReq(super::ServerSystemInfoReq),
166        #[prost(message, tag = "18")]
167        ViewCollapseReq(super::ViewCollapseReq),
168        #[prost(message, tag = "19")]
169        ViewExpandReq(super::ViewExpandReq),
170        #[prost(message, tag = "20")]
171        ViewGetMinMaxReq(super::ViewGetMinMaxReq),
172        #[prost(message, tag = "21")]
173        ViewOnUpdateReq(super::ViewOnUpdateReq),
174        #[prost(message, tag = "22")]
175        ViewRemoveOnUpdateReq(super::ViewRemoveOnUpdateReq),
176        #[prost(message, tag = "23")]
177        ViewSetDepthReq(super::ViewSetDepthReq),
178        #[prost(message, tag = "24")]
179        ViewToColumnsStringReq(super::ViewToColumnsStringReq),
180        #[prost(message, tag = "25")]
181        ViewToCsvReq(super::ViewToCsvReq),
182        #[prost(message, tag = "26")]
183        ViewToRowsStringReq(super::ViewToRowsStringReq),
184        #[prost(message, tag = "36")]
185        ViewToNdjsonStringReq(super::ViewToNdjsonStringReq),
186        /// External (we don't need these for viewer, but the developer may).
187        #[prost(message, tag = "27")]
188        MakeTableReq(super::MakeTableReq),
189        #[prost(message, tag = "28")]
190        TableDeleteReq(super::TableDeleteReq),
191        #[prost(message, tag = "29")]
192        TableOnDeleteReq(super::TableOnDeleteReq),
193        #[prost(message, tag = "30")]
194        TableRemoveDeleteReq(super::TableRemoveDeleteReq),
195        #[prost(message, tag = "31")]
196        TableRemoveReq(super::TableRemoveReq),
197        #[prost(message, tag = "32")]
198        TableReplaceReq(super::TableReplaceReq),
199        #[prost(message, tag = "33")]
200        TableUpdateReq(super::TableUpdateReq),
201        #[prost(message, tag = "34")]
202        ViewOnDeleteReq(super::ViewOnDeleteReq),
203        #[prost(message, tag = "35")]
204        ViewRemoveDeleteReq(super::ViewRemoveDeleteReq),
205        #[prost(message, tag = "38")]
206        MakeJoinTableReq(super::MakeJoinTableReq),
207    }
208}
209#[derive(serde::Serialize)]
210#[allow(clippy::derive_partial_eq_without_eq)]
211#[derive(Clone, PartialEq, ::prost::Message)]
212pub struct Response {
213    #[prost(uint32, tag = "1")]
214    pub msg_id: u32,
215    #[prost(string, tag = "2")]
216    pub entity_id: ::prost::alloc::string::String,
217    #[prost(
218        oneof = "response::ClientResp",
219        tags = "3, 4, 37, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 36, 27, 28, 29, 30, 31, 32, 33, 34, 35, 38, 50"
220    )]
221    pub client_resp: ::core::option::Option<response::ClientResp>,
222}
223/// Nested message and enum types in `Response`.
224pub mod response {
225    #[derive(serde::Serialize)]
226    #[allow(clippy::derive_partial_eq_without_eq)]
227    #[derive(Clone, PartialEq, ::prost::Oneof)]
228    pub enum ClientResp {
229        #[prost(message, tag = "3")]
230        GetFeaturesResp(super::GetFeaturesResp),
231        #[prost(message, tag = "4")]
232        GetHostedTablesResp(super::GetHostedTablesResp),
233        #[prost(message, tag = "37")]
234        RemoveHostedTablesUpdateResp(super::RemoveHostedTablesUpdateResp),
235        #[prost(message, tag = "5")]
236        TableMakePortResp(super::TableMakePortResp),
237        #[prost(message, tag = "6")]
238        TableMakeViewResp(super::TableMakeViewResp),
239        #[prost(message, tag = "7")]
240        TableSchemaResp(super::TableSchemaResp),
241        #[prost(message, tag = "8")]
242        TableSizeResp(super::TableSizeResp),
243        #[prost(message, tag = "9")]
244        TableValidateExprResp(super::TableValidateExprResp),
245        #[prost(message, tag = "10")]
246        ViewColumnPathsResp(super::ViewColumnPathsResp),
247        #[prost(message, tag = "11")]
248        ViewDeleteResp(super::ViewDeleteResp),
249        #[prost(message, tag = "12")]
250        ViewDimensionsResp(super::ViewDimensionsResp),
251        #[prost(message, tag = "13")]
252        ViewExpressionSchemaResp(super::ViewExpressionSchemaResp),
253        #[prost(message, tag = "14")]
254        ViewGetConfigResp(super::ViewGetConfigResp),
255        #[prost(message, tag = "15")]
256        ViewSchemaResp(super::ViewSchemaResp),
257        #[prost(message, tag = "16")]
258        ViewToArrowResp(super::ViewToArrowResp),
259        #[prost(message, tag = "17")]
260        ServerSystemInfoResp(super::ServerSystemInfoResp),
261        #[prost(message, tag = "18")]
262        ViewCollapseResp(super::ViewCollapseResp),
263        #[prost(message, tag = "19")]
264        ViewExpandResp(super::ViewExpandResp),
265        #[prost(message, tag = "20")]
266        ViewGetMinMaxResp(super::ViewGetMinMaxResp),
267        #[prost(message, tag = "21")]
268        ViewOnUpdateResp(super::ViewOnUpdateResp),
269        #[prost(message, tag = "22")]
270        ViewRemoveOnUpdateResp(super::ViewRemoveOnUpdateResp),
271        #[prost(message, tag = "23")]
272        ViewSetDepthResp(super::ViewSetDepthResp),
273        #[prost(message, tag = "24")]
274        ViewToColumnsStringResp(super::ViewToColumnsStringResp),
275        #[prost(message, tag = "25")]
276        ViewToCsvResp(super::ViewToCsvResp),
277        #[prost(message, tag = "26")]
278        ViewToRowsStringResp(super::ViewToRowsStringResp),
279        #[prost(message, tag = "36")]
280        ViewToNdjsonStringResp(super::ViewToNdjsonStringResp),
281        #[prost(message, tag = "27")]
282        MakeTableResp(super::MakeTableResp),
283        #[prost(message, tag = "28")]
284        TableDeleteResp(super::TableDeleteResp),
285        #[prost(message, tag = "29")]
286        TableOnDeleteResp(super::TableOnDeleteResp),
287        #[prost(message, tag = "30")]
288        TableRemoveDeleteResp(super::TableRemoveDeleteResp),
289        #[prost(message, tag = "31")]
290        TableRemoveResp(super::TableRemoveResp),
291        #[prost(message, tag = "32")]
292        TableReplaceResp(super::TableReplaceResp),
293        #[prost(message, tag = "33")]
294        TableUpdateResp(super::TableUpdateResp),
295        #[prost(message, tag = "34")]
296        ViewOnDeleteResp(super::ViewOnDeleteResp),
297        #[prost(message, tag = "35")]
298        ViewRemoveDeleteResp(super::ViewRemoveDeleteResp),
299        #[prost(message, tag = "38")]
300        MakeJoinTableResp(super::MakeJoinTableResp),
301        #[prost(message, tag = "50")]
302        ServerError(super::ServerError),
303    }
304}
305/// Informs the client of the feature set, e.g. what to expect in the
306/// `ViewConfig` message.
307#[derive(serde::Serialize)]
308#[allow(clippy::derive_partial_eq_without_eq)]
309#[derive(Clone, PartialEq, ::prost::Message)]
310pub struct GetFeaturesReq {}
311#[derive(serde::Serialize)]
312#[allow(clippy::derive_partial_eq_without_eq)]
313#[derive(Clone, PartialEq, ::prost::Message)]
314pub struct GetFeaturesResp {
315    #[prost(bool, tag = "1")]
316    pub group_by: bool,
317    #[prost(bool, tag = "2")]
318    pub split_by: bool,
319    #[prost(bool, tag = "3")]
320    pub expressions: bool,
321    #[prost(bool, tag = "4")]
322    pub on_update: bool,
323    #[prost(bool, tag = "5")]
324    pub sort: bool,
325    #[prost(map = "uint32, message", tag = "6")]
326    pub filter_ops: ::std::collections::HashMap<
327        u32,
328        get_features_resp::ColumnTypeOptions,
329    >,
330    #[prost(map = "uint32, message", tag = "7")]
331    pub aggregates: ::std::collections::HashMap<
332        u32,
333        get_features_resp::AggregateOptions,
334    >,
335    #[prost(enumeration = "GroupRollupMode", repeated, tag = "8")]
336    pub group_rollup_mode: ::prost::alloc::vec::Vec<i32>,
337}
338/// Nested message and enum types in `GetFeaturesResp`.
339pub mod get_features_resp {
340    #[derive(serde::Serialize)]
341    #[allow(clippy::derive_partial_eq_without_eq)]
342    #[derive(Clone, PartialEq, ::prost::Message)]
343    pub struct ColumnTypeOptions {
344        #[prost(string, repeated, tag = "1")]
345        pub options: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
346    }
347    #[derive(serde::Serialize)]
348    #[allow(clippy::derive_partial_eq_without_eq)]
349    #[derive(Clone, PartialEq, ::prost::Message)]
350    pub struct AggregateOptions {
351        #[prost(message, repeated, tag = "1")]
352        pub aggregates: ::prost::alloc::vec::Vec<AggregateArgs>,
353    }
354    #[derive(serde::Serialize)]
355    #[allow(clippy::derive_partial_eq_without_eq)]
356    #[derive(Clone, PartialEq, ::prost::Message)]
357    pub struct AggregateArgs {
358        #[prost(string, tag = "1")]
359        pub name: ::prost::alloc::string::String,
360        #[prost(enumeration = "super::ColumnType", repeated, tag = "2")]
361        pub args: ::prost::alloc::vec::Vec<i32>,
362    }
363}
364/// `Client::get_hosted_tables`
365#[derive(serde::Serialize)]
366#[allow(clippy::derive_partial_eq_without_eq)]
367#[derive(Clone, PartialEq, ::prost::Message)]
368pub struct GetHostedTablesReq {
369    #[prost(bool, tag = "1")]
370    pub subscribe: bool,
371}
372#[derive(serde::Serialize)]
373#[allow(clippy::derive_partial_eq_without_eq)]
374#[derive(Clone, PartialEq, ::prost::Message)]
375pub struct GetHostedTablesResp {
376    #[prost(message, repeated, tag = "1")]
377    pub table_infos: ::prost::alloc::vec::Vec<HostedTable>,
378}
379#[derive(serde::Serialize)]
380#[allow(clippy::derive_partial_eq_without_eq)]
381#[derive(Clone, PartialEq, ::prost::Message)]
382pub struct HostedTable {
383    #[prost(string, tag = "1")]
384    pub entity_id: ::prost::alloc::string::String,
385    #[prost(string, optional, tag = "2")]
386    pub index: ::core::option::Option<::prost::alloc::string::String>,
387    #[prost(uint32, optional, tag = "3")]
388    pub limit: ::core::option::Option<u32>,
389}
390#[derive(serde::Serialize)]
391#[allow(clippy::derive_partial_eq_without_eq)]
392#[derive(Clone, PartialEq, ::prost::Message)]
393pub struct RemoveHostedTablesUpdateReq {
394    #[prost(uint32, tag = "1")]
395    pub id: u32,
396}
397#[derive(serde::Serialize)]
398#[allow(clippy::derive_partial_eq_without_eq)]
399#[derive(Clone, PartialEq, ::prost::Message)]
400pub struct RemoveHostedTablesUpdateResp {}
401/// `Table::size`
402#[derive(serde::Serialize)]
403#[allow(clippy::derive_partial_eq_without_eq)]
404#[derive(Clone, PartialEq, ::prost::Message)]
405pub struct TableSizeReq {}
406#[derive(serde::Serialize)]
407#[allow(clippy::derive_partial_eq_without_eq)]
408#[derive(Clone, PartialEq, ::prost::Message)]
409pub struct TableSizeResp {
410    #[prost(uint32, tag = "2")]
411    pub size: u32,
412}
413/// `Table::schema`
414#[derive(serde::Serialize)]
415#[allow(clippy::derive_partial_eq_without_eq)]
416#[derive(Clone, PartialEq, ::prost::Message)]
417pub struct TableSchemaReq {}
418#[derive(serde::Serialize)]
419#[allow(clippy::derive_partial_eq_without_eq)]
420#[derive(Clone, PartialEq, ::prost::Message)]
421pub struct TableSchemaResp {
422    #[prost(message, optional, tag = "1")]
423    pub schema: ::core::option::Option<Schema>,
424}
425/// `Table::validate_expressions`
426/// TODO: This should be just `validate()`
427#[derive(serde::Serialize)]
428#[allow(clippy::derive_partial_eq_without_eq)]
429#[derive(Clone, PartialEq, ::prost::Message)]
430pub struct TableValidateExprReq {
431    #[prost(map = "string, string", tag = "1")]
432    pub column_to_expr: ::std::collections::HashMap<
433        ::prost::alloc::string::String,
434        ::prost::alloc::string::String,
435    >,
436}
437#[derive(serde::Serialize)]
438#[derive(serde::Deserialize)]
439#[allow(clippy::derive_partial_eq_without_eq)]
440#[derive(Clone, PartialEq, ::prost::Message)]
441pub struct TableValidateExprResp {
442    #[prost(map = "string, enumeration(ColumnType)", tag = "1")]
443    pub expression_schema: ::std::collections::HashMap<
444        ::prost::alloc::string::String,
445        i32,
446    >,
447    #[prost(map = "string, message", tag = "2")]
448    pub errors: ::std::collections::HashMap<
449        ::prost::alloc::string::String,
450        table_validate_expr_resp::ExprValidationError,
451    >,
452    #[prost(map = "string, string", tag = "3")]
453    pub expression_alias: ::std::collections::HashMap<
454        ::prost::alloc::string::String,
455        ::prost::alloc::string::String,
456    >,
457}
458/// Nested message and enum types in `TableValidateExprResp`.
459pub mod table_validate_expr_resp {
460    #[derive(serde::Serialize)]
461    #[derive(serde::Deserialize)]
462    #[allow(clippy::derive_partial_eq_without_eq)]
463    #[derive(Clone, PartialEq, ::prost::Message)]
464    pub struct ExprValidationError {
465        #[prost(string, tag = "1")]
466        pub error_message: ::prost::alloc::string::String,
467        #[prost(uint32, tag = "2")]
468        pub line: u32,
469        #[prost(uint32, tag = "3")]
470        pub column: u32,
471    }
472}
473/// `Table::view`
474#[derive(serde::Serialize)]
475#[allow(clippy::derive_partial_eq_without_eq)]
476#[derive(Clone, PartialEq, ::prost::Message)]
477pub struct TableMakeViewReq {
478    #[prost(string, tag = "1")]
479    pub view_id: ::prost::alloc::string::String,
480    #[prost(message, optional, tag = "2")]
481    pub config: ::core::option::Option<ViewConfig>,
482}
483#[derive(serde::Serialize)]
484#[allow(clippy::derive_partial_eq_without_eq)]
485#[derive(Clone, PartialEq, ::prost::Message)]
486pub struct TableMakeViewResp {
487    #[prost(string, tag = "1")]
488    pub view_id: ::prost::alloc::string::String,
489}
490/// `View::schema`
491#[derive(serde::Serialize)]
492#[allow(clippy::derive_partial_eq_without_eq)]
493#[derive(Clone, PartialEq, ::prost::Message)]
494pub struct ViewSchemaReq {}
495#[derive(serde::Serialize)]
496#[allow(clippy::derive_partial_eq_without_eq)]
497#[derive(Clone, PartialEq, ::prost::Message)]
498pub struct ViewSchemaResp {
499    #[prost(map = "string, enumeration(ColumnType)", tag = "1")]
500    pub schema: ::std::collections::HashMap<::prost::alloc::string::String, i32>,
501}
502/// `View::dimensions`
503#[derive(serde::Serialize)]
504#[allow(clippy::derive_partial_eq_without_eq)]
505#[derive(Clone, PartialEq, ::prost::Message)]
506pub struct ViewDimensionsReq {}
507#[derive(serde::Serialize)]
508#[derive(serde::Deserialize)]
509#[allow(clippy::derive_partial_eq_without_eq)]
510#[derive(Clone, PartialEq, ::prost::Message)]
511pub struct ViewDimensionsResp {
512    #[prost(uint32, tag = "1")]
513    pub num_table_rows: u32,
514    #[prost(uint32, tag = "2")]
515    pub num_table_columns: u32,
516    #[prost(uint32, tag = "3")]
517    pub num_view_rows: u32,
518    #[prost(uint32, tag = "4")]
519    pub num_view_columns: u32,
520}
521/// `View::get_config`
522#[derive(serde::Serialize)]
523#[allow(clippy::derive_partial_eq_without_eq)]
524#[derive(Clone, PartialEq, ::prost::Message)]
525pub struct ViewGetConfigReq {}
526#[derive(serde::Serialize)]
527#[allow(clippy::derive_partial_eq_without_eq)]
528#[derive(Clone, PartialEq, ::prost::Message)]
529pub struct ViewGetConfigResp {
530    #[prost(message, optional, tag = "1")]
531    pub config: ::core::option::Option<ViewConfig>,
532}
533/// `Client::table`.
534#[derive(serde::Serialize)]
535#[allow(clippy::derive_partial_eq_without_eq)]
536#[derive(Clone, PartialEq, ::prost::Message)]
537pub struct MakeTableReq {
538    #[prost(message, optional, tag = "1")]
539    pub data: ::core::option::Option<MakeTableData>,
540    #[prost(message, optional, tag = "2")]
541    pub options: ::core::option::Option<make_table_req::MakeTableOptions>,
542}
543/// Nested message and enum types in `MakeTableReq`.
544pub mod make_table_req {
545    #[derive(serde::Serialize)]
546    #[allow(clippy::derive_partial_eq_without_eq)]
547    #[derive(Clone, PartialEq, ::prost::Message)]
548    pub struct MakeTableOptions {
549        #[prost(oneof = "make_table_options::MakeTableType", tags = "1, 2")]
550        pub make_table_type: ::core::option::Option<make_table_options::MakeTableType>,
551    }
552    /// Nested message and enum types in `MakeTableOptions`.
553    pub mod make_table_options {
554        #[derive(serde::Serialize)]
555        #[allow(clippy::derive_partial_eq_without_eq)]
556        #[derive(Clone, PartialEq, ::prost::Oneof)]
557        pub enum MakeTableType {
558            #[prost(string, tag = "1")]
559            MakeIndexTable(::prost::alloc::string::String),
560            #[prost(uint32, tag = "2")]
561            MakeLimitTable(u32),
562        }
563    }
564}
565#[derive(serde::Serialize)]
566#[allow(clippy::derive_partial_eq_without_eq)]
567#[derive(Clone, PartialEq, ::prost::Message)]
568pub struct MakeTableResp {}
569/// `Client::join` — create a read-only table from a JOIN of two tables.
570#[derive(serde::Serialize)]
571#[allow(clippy::derive_partial_eq_without_eq)]
572#[derive(Clone, PartialEq, ::prost::Message)]
573pub struct MakeJoinTableReq {
574    #[prost(string, tag = "1")]
575    pub left_table_id: ::prost::alloc::string::String,
576    #[prost(string, tag = "2")]
577    pub right_table_id: ::prost::alloc::string::String,
578    #[prost(string, tag = "3")]
579    pub on_column: ::prost::alloc::string::String,
580    #[prost(enumeration = "JoinType", tag = "4")]
581    pub join_type: i32,
582    #[prost(string, tag = "5")]
583    pub right_on_column: ::prost::alloc::string::String,
584}
585#[derive(serde::Serialize)]
586#[allow(clippy::derive_partial_eq_without_eq)]
587#[derive(Clone, PartialEq, ::prost::Message)]
588pub struct MakeJoinTableResp {}
589/// `Table::delete`
590#[derive(serde::Serialize)]
591#[allow(clippy::derive_partial_eq_without_eq)]
592#[derive(Clone, PartialEq, ::prost::Message)]
593pub struct TableDeleteReq {
594    #[prost(bool, tag = "1")]
595    pub is_immediate: bool,
596}
597#[derive(serde::Serialize)]
598#[allow(clippy::derive_partial_eq_without_eq)]
599#[derive(Clone, PartialEq, ::prost::Message)]
600pub struct TableDeleteResp {}
601/// `Table::on_delete`
602#[derive(serde::Serialize)]
603#[allow(clippy::derive_partial_eq_without_eq)]
604#[derive(Clone, PartialEq, ::prost::Message)]
605pub struct TableOnDeleteReq {}
606#[derive(serde::Serialize)]
607#[allow(clippy::derive_partial_eq_without_eq)]
608#[derive(Clone, PartialEq, ::prost::Message)]
609pub struct TableOnDeleteResp {}
610/// `Table::make_port`
611#[derive(serde::Serialize)]
612#[allow(clippy::derive_partial_eq_without_eq)]
613#[derive(Clone, PartialEq, ::prost::Message)]
614pub struct TableMakePortReq {}
615#[derive(serde::Serialize)]
616#[allow(clippy::derive_partial_eq_without_eq)]
617#[derive(Clone, PartialEq, ::prost::Message)]
618pub struct TableMakePortResp {
619    #[prost(uint32, tag = "1")]
620    pub port_id: u32,
621}
622/// `Table::remove_delete`
623#[derive(serde::Serialize)]
624#[allow(clippy::derive_partial_eq_without_eq)]
625#[derive(Clone, PartialEq, ::prost::Message)]
626pub struct TableRemoveDeleteReq {
627    #[prost(uint32, tag = "1")]
628    pub id: u32,
629}
630#[derive(serde::Serialize)]
631#[allow(clippy::derive_partial_eq_without_eq)]
632#[derive(Clone, PartialEq, ::prost::Message)]
633pub struct TableRemoveDeleteResp {}
634/// `Table::update`
635#[derive(serde::Serialize)]
636#[allow(clippy::derive_partial_eq_without_eq)]
637#[derive(Clone, PartialEq, ::prost::Message)]
638pub struct TableUpdateReq {
639    #[prost(message, optional, tag = "1")]
640    pub data: ::core::option::Option<MakeTableData>,
641    #[prost(uint32, tag = "2")]
642    pub port_id: u32,
643}
644#[derive(serde::Serialize)]
645#[allow(clippy::derive_partial_eq_without_eq)]
646#[derive(Clone, PartialEq, ::prost::Message)]
647pub struct TableUpdateResp {}
648/// `Table::replace`
649#[derive(serde::Serialize)]
650#[allow(clippy::derive_partial_eq_without_eq)]
651#[derive(Clone, PartialEq, ::prost::Message)]
652pub struct TableReplaceReq {
653    #[prost(message, optional, tag = "1")]
654    pub data: ::core::option::Option<MakeTableData>,
655}
656#[derive(serde::Serialize)]
657#[allow(clippy::derive_partial_eq_without_eq)]
658#[derive(Clone, PartialEq, ::prost::Message)]
659pub struct TableReplaceResp {}
660/// `Table::remove`
661#[derive(serde::Serialize)]
662#[allow(clippy::derive_partial_eq_without_eq)]
663#[derive(Clone, PartialEq, ::prost::Message)]
664pub struct TableRemoveReq {
665    #[prost(message, optional, tag = "1")]
666    pub data: ::core::option::Option<MakeTableData>,
667}
668#[derive(serde::Serialize)]
669#[allow(clippy::derive_partial_eq_without_eq)]
670#[derive(Clone, PartialEq, ::prost::Message)]
671pub struct TableRemoveResp {}
672#[derive(serde::Serialize)]
673#[allow(clippy::derive_partial_eq_without_eq)]
674#[derive(Clone, PartialEq, ::prost::Message)]
675pub struct ViewOnUpdateReq {
676    #[prost(enumeration = "view_on_update_req::Mode", optional, tag = "1")]
677    pub mode: ::core::option::Option<i32>,
678}
679/// Nested message and enum types in `ViewOnUpdateReq`.
680pub mod view_on_update_req {
681    #[derive(serde::Serialize)]
682    #[derive(
683        Clone,
684        Copy,
685        Debug,
686        PartialEq,
687        Eq,
688        Hash,
689        PartialOrd,
690        Ord,
691        ::prost::Enumeration
692    )]
693    #[repr(i32)]
694    pub enum Mode {
695        Row = 0,
696    }
697    impl Mode {
698        /// String value of the enum field names used in the ProtoBuf definition.
699        ///
700        /// The values are not transformed in any way and thus are considered stable
701        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
702        pub fn as_str_name(&self) -> &'static str {
703            match self {
704                Mode::Row => "ROW",
705            }
706        }
707        /// Creates an enum from field names used in the ProtoBuf definition.
708        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
709            match value {
710                "ROW" => Some(Self::Row),
711                _ => None,
712            }
713        }
714    }
715}
716#[derive(ts_rs::TS)]
717#[derive(serde::Serialize)]
718#[allow(clippy::derive_partial_eq_without_eq)]
719#[derive(Clone, PartialEq, ::prost::Message)]
720pub struct ViewOnUpdateResp {
721    #[prost(bytes = "vec", optional, tag = "1")]
722    #[ts(as = "Vec::<u8>")]
723    #[serde(with = "serde_bytes")]
724    pub delta: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
725    #[prost(uint32, tag = "2")]
726    pub port_id: u32,
727}
728#[derive(serde::Serialize)]
729#[allow(clippy::derive_partial_eq_without_eq)]
730#[derive(Clone, PartialEq, ::prost::Message)]
731pub struct ViewOnDeleteReq {}
732#[derive(serde::Serialize)]
733#[allow(clippy::derive_partial_eq_without_eq)]
734#[derive(Clone, PartialEq, ::prost::Message)]
735pub struct ViewOnDeleteResp {}
736#[derive(serde::Serialize)]
737#[allow(clippy::derive_partial_eq_without_eq)]
738#[derive(Clone, PartialEq, ::prost::Message)]
739pub struct ViewRemoveDeleteReq {
740    #[prost(uint32, tag = "1")]
741    pub id: u32,
742}
743#[derive(serde::Serialize)]
744#[allow(clippy::derive_partial_eq_without_eq)]
745#[derive(Clone, PartialEq, ::prost::Message)]
746pub struct ViewRemoveDeleteResp {}
747#[derive(serde::Serialize)]
748#[allow(clippy::derive_partial_eq_without_eq)]
749#[derive(Clone, PartialEq, ::prost::Message)]
750pub struct ViewToColumnsStringReq {
751    #[prost(message, optional, tag = "1")]
752    pub viewport: ::core::option::Option<ViewPort>,
753    #[prost(bool, optional, tag = "2")]
754    pub id: ::core::option::Option<bool>,
755    #[prost(bool, optional, tag = "3")]
756    pub index: ::core::option::Option<bool>,
757    #[prost(bool, optional, tag = "4")]
758    pub formatted: ::core::option::Option<bool>,
759}
760#[derive(serde::Serialize)]
761#[allow(clippy::derive_partial_eq_without_eq)]
762#[derive(Clone, PartialEq, ::prost::Message)]
763pub struct ViewToColumnsStringResp {
764    #[prost(string, tag = "1")]
765    pub json_string: ::prost::alloc::string::String,
766}
767#[derive(serde::Serialize)]
768#[allow(clippy::derive_partial_eq_without_eq)]
769#[derive(Clone, PartialEq, ::prost::Message)]
770pub struct ViewToRowsStringReq {
771    #[prost(message, optional, tag = "1")]
772    pub viewport: ::core::option::Option<ViewPort>,
773    #[prost(bool, optional, tag = "2")]
774    pub id: ::core::option::Option<bool>,
775    #[prost(bool, optional, tag = "3")]
776    pub index: ::core::option::Option<bool>,
777    #[prost(bool, optional, tag = "4")]
778    pub formatted: ::core::option::Option<bool>,
779}
780#[derive(serde::Serialize)]
781#[allow(clippy::derive_partial_eq_without_eq)]
782#[derive(Clone, PartialEq, ::prost::Message)]
783pub struct ViewToRowsStringResp {
784    #[prost(string, tag = "1")]
785    pub json_string: ::prost::alloc::string::String,
786}
787#[derive(serde::Serialize)]
788#[allow(clippy::derive_partial_eq_without_eq)]
789#[derive(Clone, PartialEq, ::prost::Message)]
790pub struct ViewToNdjsonStringReq {
791    #[prost(message, optional, tag = "1")]
792    pub viewport: ::core::option::Option<ViewPort>,
793    #[prost(bool, optional, tag = "2")]
794    pub id: ::core::option::Option<bool>,
795    #[prost(bool, optional, tag = "3")]
796    pub index: ::core::option::Option<bool>,
797    #[prost(bool, optional, tag = "4")]
798    pub formatted: ::core::option::Option<bool>,
799}
800#[derive(serde::Serialize)]
801#[allow(clippy::derive_partial_eq_without_eq)]
802#[derive(Clone, PartialEq, ::prost::Message)]
803pub struct ViewToNdjsonStringResp {
804    #[prost(string, tag = "1")]
805    pub ndjson_string: ::prost::alloc::string::String,
806}
807#[derive(serde::Serialize)]
808#[allow(clippy::derive_partial_eq_without_eq)]
809#[derive(Clone, PartialEq, ::prost::Message)]
810pub struct ViewToArrowReq {
811    #[prost(message, optional, tag = "1")]
812    pub viewport: ::core::option::Option<ViewPort>,
813    #[prost(string, optional, tag = "2")]
814    pub compression: ::core::option::Option<::prost::alloc::string::String>,
815}
816#[derive(serde::Serialize)]
817#[allow(clippy::derive_partial_eq_without_eq)]
818#[derive(Clone, PartialEq, ::prost::Message)]
819pub struct ViewToArrowResp {
820    #[prost(bytes = "vec", tag = "1")]
821    #[serde(skip)]
822    pub arrow: ::prost::alloc::vec::Vec<u8>,
823}
824#[derive(serde::Serialize)]
825#[allow(clippy::derive_partial_eq_without_eq)]
826#[derive(Clone, PartialEq, ::prost::Message)]
827pub struct ViewColumnPathsReq {
828    #[prost(uint32, optional, tag = "1")]
829    pub start_col: ::core::option::Option<u32>,
830    #[prost(uint32, optional, tag = "2")]
831    pub end_col: ::core::option::Option<u32>,
832}
833#[derive(serde::Serialize)]
834#[allow(clippy::derive_partial_eq_without_eq)]
835#[derive(Clone, PartialEq, ::prost::Message)]
836pub struct ViewColumnPathsResp {
837    /// repeated ColumnPath paths = 1;
838    #[prost(string, repeated, tag = "1")]
839    pub paths: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
840}
841#[derive(serde::Serialize)]
842#[allow(clippy::derive_partial_eq_without_eq)]
843#[derive(Clone, PartialEq, ::prost::Message)]
844pub struct ViewDeleteReq {}
845#[derive(serde::Serialize)]
846#[allow(clippy::derive_partial_eq_without_eq)]
847#[derive(Clone, PartialEq, ::prost::Message)]
848pub struct ViewDeleteResp {}
849#[derive(serde::Serialize)]
850#[allow(clippy::derive_partial_eq_without_eq)]
851#[derive(Clone, PartialEq, ::prost::Message)]
852pub struct ViewGetMinMaxReq {
853    #[prost(string, tag = "1")]
854    pub column_name: ::prost::alloc::string::String,
855}
856#[derive(serde::Serialize)]
857#[allow(clippy::derive_partial_eq_without_eq)]
858#[derive(Clone, PartialEq, ::prost::Message)]
859pub struct ViewGetMinMaxResp {
860    #[prost(message, optional, tag = "1")]
861    pub min: ::core::option::Option<Scalar>,
862    #[prost(message, optional, tag = "2")]
863    pub max: ::core::option::Option<Scalar>,
864}
865#[derive(serde::Serialize)]
866#[allow(clippy::derive_partial_eq_without_eq)]
867#[derive(Clone, PartialEq, ::prost::Message)]
868pub struct ViewExpressionSchemaReq {}
869#[derive(serde::Serialize)]
870#[allow(clippy::derive_partial_eq_without_eq)]
871#[derive(Clone, PartialEq, ::prost::Message)]
872pub struct ViewExpressionSchemaResp {
873    #[prost(map = "string, enumeration(ColumnType)", tag = "1")]
874    pub schema: ::std::collections::HashMap<::prost::alloc::string::String, i32>,
875}
876#[derive(serde::Serialize)]
877#[allow(clippy::derive_partial_eq_without_eq)]
878#[derive(Clone, PartialEq, ::prost::Message)]
879pub struct ViewToCsvReq {
880    #[prost(message, optional, tag = "1")]
881    pub viewport: ::core::option::Option<ViewPort>,
882}
883#[derive(serde::Serialize)]
884#[allow(clippy::derive_partial_eq_without_eq)]
885#[derive(Clone, PartialEq, ::prost::Message)]
886pub struct ViewToCsvResp {
887    #[prost(string, tag = "1")]
888    pub csv: ::prost::alloc::string::String,
889}
890#[derive(serde::Serialize)]
891#[allow(clippy::derive_partial_eq_without_eq)]
892#[derive(Clone, PartialEq, ::prost::Message)]
893pub struct ViewRemoveOnUpdateReq {
894    #[prost(uint32, tag = "1")]
895    pub id: u32,
896}
897#[derive(serde::Serialize)]
898#[allow(clippy::derive_partial_eq_without_eq)]
899#[derive(Clone, PartialEq, ::prost::Message)]
900pub struct ViewRemoveOnUpdateResp {}
901#[derive(serde::Serialize)]
902#[allow(clippy::derive_partial_eq_without_eq)]
903#[derive(Clone, PartialEq, ::prost::Message)]
904pub struct ViewCollapseReq {
905    #[prost(uint32, tag = "1")]
906    pub row_index: u32,
907}
908#[derive(serde::Serialize)]
909#[allow(clippy::derive_partial_eq_without_eq)]
910#[derive(Clone, PartialEq, ::prost::Message)]
911pub struct ViewCollapseResp {
912    #[prost(uint32, tag = "1")]
913    pub num_changed: u32,
914}
915#[derive(serde::Serialize)]
916#[allow(clippy::derive_partial_eq_without_eq)]
917#[derive(Clone, PartialEq, ::prost::Message)]
918pub struct ViewExpandReq {
919    #[prost(uint32, tag = "1")]
920    pub row_index: u32,
921}
922#[derive(serde::Serialize)]
923#[allow(clippy::derive_partial_eq_without_eq)]
924#[derive(Clone, PartialEq, ::prost::Message)]
925pub struct ViewExpandResp {
926    #[prost(uint32, tag = "1")]
927    pub num_changed: u32,
928}
929/// `View::set_depth`
930#[derive(serde::Serialize)]
931#[allow(clippy::derive_partial_eq_without_eq)]
932#[derive(Clone, PartialEq, ::prost::Message)]
933pub struct ViewSetDepthReq {
934    #[prost(uint32, tag = "1")]
935    pub depth: u32,
936}
937#[derive(serde::Serialize)]
938#[allow(clippy::derive_partial_eq_without_eq)]
939#[derive(Clone, PartialEq, ::prost::Message)]
940pub struct ViewSetDepthResp {}
941#[derive(serde::Serialize)]
942#[allow(clippy::derive_partial_eq_without_eq)]
943#[derive(Clone, PartialEq, ::prost::Message)]
944pub struct ServerSystemInfoReq {}
945#[derive(serde::Serialize)]
946#[allow(clippy::derive_partial_eq_without_eq)]
947#[derive(Clone, PartialEq, ::prost::Message)]
948pub struct ServerSystemInfoResp {
949    #[prost(uint64, tag = "1")]
950    pub heap_size: u64,
951    #[prost(uint64, tag = "2")]
952    pub used_size: u64,
953    #[prost(uint32, tag = "3")]
954    pub cpu_time: u32,
955    #[prost(uint32, tag = "4")]
956    pub cpu_time_epoch: u32,
957}
958#[derive(serde::Serialize)]
959#[allow(clippy::derive_partial_eq_without_eq)]
960#[derive(Clone, PartialEq, ::prost::Message)]
961pub struct ViewConfig {
962    #[prost(string, repeated, tag = "1")]
963    pub group_by: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
964    #[prost(string, repeated, tag = "2")]
965    pub split_by: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
966    #[prost(message, optional, tag = "3")]
967    pub columns: ::core::option::Option<ColumnsUpdate>,
968    #[prost(message, repeated, tag = "4")]
969    pub filter: ::prost::alloc::vec::Vec<view_config::Filter>,
970    #[prost(message, repeated, tag = "5")]
971    pub sort: ::prost::alloc::vec::Vec<view_config::Sort>,
972    #[prost(map = "string, string", tag = "6")]
973    pub expressions: ::std::collections::HashMap<
974        ::prost::alloc::string::String,
975        ::prost::alloc::string::String,
976    >,
977    #[prost(map = "string, message", tag = "7")]
978    pub aggregates: ::std::collections::HashMap<
979        ::prost::alloc::string::String,
980        view_config::AggList,
981    >,
982    #[prost(enumeration = "view_config::FilterReducer", tag = "8")]
983    pub filter_op: i32,
984    #[prost(uint32, optional, tag = "9")]
985    pub group_by_depth: ::core::option::Option<u32>,
986    #[prost(enumeration = "GroupRollupMode", optional, tag = "10")]
987    pub group_rollup_mode: ::core::option::Option<i32>,
988}
989/// Nested message and enum types in `ViewConfig`.
990pub mod view_config {
991    #[derive(serde::Serialize)]
992    #[allow(clippy::derive_partial_eq_without_eq)]
993    #[derive(Clone, PartialEq, ::prost::Message)]
994    pub struct AggList {
995        #[prost(string, repeated, tag = "1")]
996        pub aggregations: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
997    }
998    #[derive(serde::Serialize)]
999    #[allow(clippy::derive_partial_eq_without_eq)]
1000    #[derive(Clone, PartialEq, ::prost::Message)]
1001    pub struct Sort {
1002        #[prost(string, tag = "1")]
1003        pub column: ::prost::alloc::string::String,
1004        #[prost(enumeration = "super::SortOp", tag = "2")]
1005        pub op: i32,
1006    }
1007    #[derive(serde::Serialize)]
1008    #[allow(clippy::derive_partial_eq_without_eq)]
1009    #[derive(Clone, PartialEq, ::prost::Message)]
1010    pub struct Filter {
1011        #[prost(string, tag = "1")]
1012        pub column: ::prost::alloc::string::String,
1013        #[prost(string, tag = "2")]
1014        pub op: ::prost::alloc::string::String,
1015        #[prost(message, repeated, tag = "3")]
1016        pub value: ::prost::alloc::vec::Vec<super::Scalar>,
1017    }
1018    #[derive(serde::Serialize)]
1019    #[derive(
1020        Clone,
1021        Copy,
1022        Debug,
1023        PartialEq,
1024        Eq,
1025        Hash,
1026        PartialOrd,
1027        Ord,
1028        ::prost::Enumeration
1029    )]
1030    #[repr(i32)]
1031    pub enum FilterReducer {
1032        And = 0,
1033        Or = 1,
1034    }
1035    impl FilterReducer {
1036        /// String value of the enum field names used in the ProtoBuf definition.
1037        ///
1038        /// The values are not transformed in any way and thus are considered stable
1039        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1040        pub fn as_str_name(&self) -> &'static str {
1041            match self {
1042                FilterReducer::And => "AND",
1043                FilterReducer::Or => "OR",
1044            }
1045        }
1046        /// Creates an enum from field names used in the ProtoBuf definition.
1047        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1048            match value {
1049                "AND" => Some(Self::And),
1050                "OR" => Some(Self::Or),
1051                _ => None,
1052            }
1053        }
1054    }
1055}
1056#[derive(serde::Serialize)]
1057#[allow(clippy::derive_partial_eq_without_eq)]
1058#[derive(Clone, PartialEq, ::prost::Message)]
1059pub struct ColumnsUpdate {
1060    #[prost(oneof = "columns_update::OptColumns", tags = "1, 2")]
1061    pub opt_columns: ::core::option::Option<columns_update::OptColumns>,
1062}
1063/// Nested message and enum types in `ColumnsUpdate`.
1064pub mod columns_update {
1065    #[derive(serde::Serialize)]
1066    #[allow(clippy::derive_partial_eq_without_eq)]
1067    #[derive(Clone, PartialEq, ::prost::Message)]
1068    pub struct Columns {
1069        #[prost(string, repeated, tag = "1")]
1070        pub columns: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1071    }
1072    #[derive(serde::Serialize)]
1073    #[allow(clippy::derive_partial_eq_without_eq)]
1074    #[derive(Clone, PartialEq, ::prost::Oneof)]
1075    pub enum OptColumns {
1076        #[prost(enumeration = "::prost_types::NullValue", tag = "1")]
1077        DefaultColumns(i32),
1078        #[prost(message, tag = "2")]
1079        Columns(Columns),
1080    }
1081}
1082#[derive(serde::Serialize)]
1083#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1084#[repr(i32)]
1085pub enum StatusCode {
1086    ServerError = 0,
1087    ViewNotFound = 1,
1088    TransportError = 2,
1089}
1090impl StatusCode {
1091    /// String value of the enum field names used in the ProtoBuf definition.
1092    ///
1093    /// The values are not transformed in any way and thus are considered stable
1094    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1095    pub fn as_str_name(&self) -> &'static str {
1096        match self {
1097            StatusCode::ServerError => "SERVER_ERROR",
1098            StatusCode::ViewNotFound => "VIEW_NOT_FOUND",
1099            StatusCode::TransportError => "TRANSPORT_ERROR",
1100        }
1101    }
1102    /// Creates an enum from field names used in the ProtoBuf definition.
1103    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1104        match value {
1105            "SERVER_ERROR" => Some(Self::ServerError),
1106            "VIEW_NOT_FOUND" => Some(Self::ViewNotFound),
1107            "TRANSPORT_ERROR" => Some(Self::TransportError),
1108            _ => None,
1109        }
1110    }
1111}
1112/// View types
1113#[derive(ts_rs::TS)]
1114#[derive(serde::Serialize)]
1115#[derive(serde::Deserialize)]
1116#[serde(rename_all = "snake_case")]
1117#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1118#[repr(i32)]
1119pub enum ColumnType {
1120    String = 0,
1121    Date = 1,
1122    Datetime = 2,
1123    Integer = 3,
1124    Float = 4,
1125    Boolean = 5,
1126}
1127impl ColumnType {
1128    /// String value of the enum field names used in the ProtoBuf definition.
1129    ///
1130    /// The values are not transformed in any way and thus are considered stable
1131    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1132    pub fn as_str_name(&self) -> &'static str {
1133        match self {
1134            ColumnType::String => "STRING",
1135            ColumnType::Date => "DATE",
1136            ColumnType::Datetime => "DATETIME",
1137            ColumnType::Integer => "INTEGER",
1138            ColumnType::Float => "FLOAT",
1139            ColumnType::Boolean => "BOOLEAN",
1140        }
1141    }
1142    /// Creates an enum from field names used in the ProtoBuf definition.
1143    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1144        match value {
1145            "STRING" => Some(Self::String),
1146            "DATE" => Some(Self::Date),
1147            "DATETIME" => Some(Self::Datetime),
1148            "INTEGER" => Some(Self::Integer),
1149            "FLOAT" => Some(Self::Float),
1150            "BOOLEAN" => Some(Self::Boolean),
1151            _ => None,
1152        }
1153    }
1154}
1155/// TODO This belongs in features
1156#[derive(serde::Serialize)]
1157#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1158#[repr(i32)]
1159pub enum SortOp {
1160    SortNone = 0,
1161    SortAsc = 1,
1162    SortDesc = 2,
1163    SortColAsc = 3,
1164    SortColDesc = 4,
1165    SortAscAbs = 5,
1166    SortDescAbs = 6,
1167    SortColAscAbs = 7,
1168    SortColDescAbs = 8,
1169}
1170impl SortOp {
1171    /// String value of the enum field names used in the ProtoBuf definition.
1172    ///
1173    /// The values are not transformed in any way and thus are considered stable
1174    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1175    pub fn as_str_name(&self) -> &'static str {
1176        match self {
1177            SortOp::SortNone => "SORT_NONE",
1178            SortOp::SortAsc => "SORT_ASC",
1179            SortOp::SortDesc => "SORT_DESC",
1180            SortOp::SortColAsc => "SORT_COL_ASC",
1181            SortOp::SortColDesc => "SORT_COL_DESC",
1182            SortOp::SortAscAbs => "SORT_ASC_ABS",
1183            SortOp::SortDescAbs => "SORT_DESC_ABS",
1184            SortOp::SortColAscAbs => "SORT_COL_ASC_ABS",
1185            SortOp::SortColDescAbs => "SORT_COL_DESC_ABS",
1186        }
1187    }
1188    /// Creates an enum from field names used in the ProtoBuf definition.
1189    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1190        match value {
1191            "SORT_NONE" => Some(Self::SortNone),
1192            "SORT_ASC" => Some(Self::SortAsc),
1193            "SORT_DESC" => Some(Self::SortDesc),
1194            "SORT_COL_ASC" => Some(Self::SortColAsc),
1195            "SORT_COL_DESC" => Some(Self::SortColDesc),
1196            "SORT_ASC_ABS" => Some(Self::SortAscAbs),
1197            "SORT_DESC_ABS" => Some(Self::SortDescAbs),
1198            "SORT_COL_ASC_ABS" => Some(Self::SortColAscAbs),
1199            "SORT_COL_DESC_ABS" => Some(Self::SortColDescAbs),
1200            _ => None,
1201        }
1202    }
1203}
1204#[derive(serde::Serialize)]
1205#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1206#[repr(i32)]
1207pub enum GroupRollupMode {
1208    Rollup = 0,
1209    Flat = 1,
1210    Total = 2,
1211}
1212impl GroupRollupMode {
1213    /// String value of the enum field names used in the ProtoBuf definition.
1214    ///
1215    /// The values are not transformed in any way and thus are considered stable
1216    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1217    pub fn as_str_name(&self) -> &'static str {
1218        match self {
1219            GroupRollupMode::Rollup => "ROLLUP",
1220            GroupRollupMode::Flat => "FLAT",
1221            GroupRollupMode::Total => "TOTAL",
1222        }
1223    }
1224    /// Creates an enum from field names used in the ProtoBuf definition.
1225    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1226        match value {
1227            "ROLLUP" => Some(Self::Rollup),
1228            "FLAT" => Some(Self::Flat),
1229            "TOTAL" => Some(Self::Total),
1230            _ => None,
1231        }
1232    }
1233}
1234#[derive(serde::Deserialize, ts_rs::TS)]
1235#[serde(rename_all = "snake_case")]
1236#[derive(serde::Serialize)]
1237#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1238#[repr(i32)]
1239pub enum JoinType {
1240    Inner = 0,
1241    Left = 1,
1242    Outer = 2,
1243}
1244impl JoinType {
1245    /// String value of the enum field names used in the ProtoBuf definition.
1246    ///
1247    /// The values are not transformed in any way and thus are considered stable
1248    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1249    pub fn as_str_name(&self) -> &'static str {
1250        match self {
1251            JoinType::Inner => "INNER",
1252            JoinType::Left => "LEFT",
1253            JoinType::Outer => "OUTER",
1254        }
1255    }
1256    /// Creates an enum from field names used in the ProtoBuf definition.
1257    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1258        match value {
1259            "INNER" => Some(Self::Inner),
1260            "LEFT" => Some(Self::Left),
1261            "OUTER" => Some(Self::Outer),
1262            _ => None,
1263        }
1264    }
1265}