1#[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}
19pub 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#[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}
39pub 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#[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}
71pub 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 #[prost(double, tag = "4")]
82 Float(f64),
83 #[prost(string, tag = "6")]
85 String(::prost::alloc::string::String),
86 #[prost(enumeration = "::prost_types::NullValue", tag = "7")]
87 Null(i32),
88 }
89}
90#[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 #[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"
122 )]
123 pub client_req: ::core::option::Option<request::ClientReq>,
124}
125pub 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 #[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 #[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 #[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 }
206}
207#[derive(serde::Serialize)]
208#[allow(clippy::derive_partial_eq_without_eq)]
209#[derive(Clone, PartialEq, ::prost::Message)]
210pub struct Response {
211 #[prost(uint32, tag = "1")]
212 pub msg_id: u32,
213 #[prost(string, tag = "2")]
214 pub entity_id: ::prost::alloc::string::String,
215 #[prost(
216 oneof = "response::ClientResp",
217 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, 50"
218 )]
219 pub client_resp: ::core::option::Option<response::ClientResp>,
220}
221pub mod response {
223 #[derive(serde::Serialize)]
224 #[allow(clippy::derive_partial_eq_without_eq)]
225 #[derive(Clone, PartialEq, ::prost::Oneof)]
226 pub enum ClientResp {
227 #[prost(message, tag = "3")]
228 GetFeaturesResp(super::GetFeaturesResp),
229 #[prost(message, tag = "4")]
230 GetHostedTablesResp(super::GetHostedTablesResp),
231 #[prost(message, tag = "37")]
232 RemoveHostedTablesUpdateResp(super::RemoveHostedTablesUpdateResp),
233 #[prost(message, tag = "5")]
234 TableMakePortResp(super::TableMakePortResp),
235 #[prost(message, tag = "6")]
236 TableMakeViewResp(super::TableMakeViewResp),
237 #[prost(message, tag = "7")]
238 TableSchemaResp(super::TableSchemaResp),
239 #[prost(message, tag = "8")]
240 TableSizeResp(super::TableSizeResp),
241 #[prost(message, tag = "9")]
242 TableValidateExprResp(super::TableValidateExprResp),
243 #[prost(message, tag = "10")]
244 ViewColumnPathsResp(super::ViewColumnPathsResp),
245 #[prost(message, tag = "11")]
246 ViewDeleteResp(super::ViewDeleteResp),
247 #[prost(message, tag = "12")]
248 ViewDimensionsResp(super::ViewDimensionsResp),
249 #[prost(message, tag = "13")]
250 ViewExpressionSchemaResp(super::ViewExpressionSchemaResp),
251 #[prost(message, tag = "14")]
252 ViewGetConfigResp(super::ViewGetConfigResp),
253 #[prost(message, tag = "15")]
254 ViewSchemaResp(super::ViewSchemaResp),
255 #[prost(message, tag = "16")]
256 ViewToArrowResp(super::ViewToArrowResp),
257 #[prost(message, tag = "17")]
258 ServerSystemInfoResp(super::ServerSystemInfoResp),
259 #[prost(message, tag = "18")]
260 ViewCollapseResp(super::ViewCollapseResp),
261 #[prost(message, tag = "19")]
262 ViewExpandResp(super::ViewExpandResp),
263 #[prost(message, tag = "20")]
264 ViewGetMinMaxResp(super::ViewGetMinMaxResp),
265 #[prost(message, tag = "21")]
266 ViewOnUpdateResp(super::ViewOnUpdateResp),
267 #[prost(message, tag = "22")]
268 ViewRemoveOnUpdateResp(super::ViewRemoveOnUpdateResp),
269 #[prost(message, tag = "23")]
270 ViewSetDepthResp(super::ViewSetDepthResp),
271 #[prost(message, tag = "24")]
272 ViewToColumnsStringResp(super::ViewToColumnsStringResp),
273 #[prost(message, tag = "25")]
274 ViewToCsvResp(super::ViewToCsvResp),
275 #[prost(message, tag = "26")]
276 ViewToRowsStringResp(super::ViewToRowsStringResp),
277 #[prost(message, tag = "36")]
278 ViewToNdjsonStringResp(super::ViewToNdjsonStringResp),
279 #[prost(message, tag = "27")]
280 MakeTableResp(super::MakeTableResp),
281 #[prost(message, tag = "28")]
282 TableDeleteResp(super::TableDeleteResp),
283 #[prost(message, tag = "29")]
284 TableOnDeleteResp(super::TableOnDeleteResp),
285 #[prost(message, tag = "30")]
286 TableRemoveDeleteResp(super::TableRemoveDeleteResp),
287 #[prost(message, tag = "31")]
288 TableRemoveResp(super::TableRemoveResp),
289 #[prost(message, tag = "32")]
290 TableReplaceResp(super::TableReplaceResp),
291 #[prost(message, tag = "33")]
292 TableUpdateResp(super::TableUpdateResp),
293 #[prost(message, tag = "34")]
294 ViewOnDeleteResp(super::ViewOnDeleteResp),
295 #[prost(message, tag = "35")]
296 ViewRemoveDeleteResp(super::ViewRemoveDeleteResp),
297 #[prost(message, tag = "50")]
298 ServerError(super::ServerError),
299 }
300}
301#[derive(serde::Serialize)]
304#[allow(clippy::derive_partial_eq_without_eq)]
305#[derive(Clone, PartialEq, ::prost::Message)]
306pub struct GetFeaturesReq {}
307#[derive(serde::Serialize)]
308#[allow(clippy::derive_partial_eq_without_eq)]
309#[derive(Clone, PartialEq, ::prost::Message)]
310pub struct GetFeaturesResp {
311 #[prost(bool, tag = "1")]
312 pub group_by: bool,
313 #[prost(bool, tag = "2")]
314 pub split_by: bool,
315 #[prost(bool, tag = "3")]
316 pub expressions: bool,
317 #[prost(bool, tag = "4")]
318 pub on_update: bool,
319 #[prost(bool, tag = "5")]
320 pub sort: bool,
321 #[prost(map = "uint32, message", tag = "6")]
322 pub filter_ops: ::std::collections::HashMap<
323 u32,
324 get_features_resp::ColumnTypeOptions,
325 >,
326 #[prost(map = "uint32, message", tag = "7")]
327 pub aggregates: ::std::collections::HashMap<
328 u32,
329 get_features_resp::AggregateOptions,
330 >,
331 #[prost(enumeration = "GroupRollupMode", repeated, tag = "8")]
332 pub group_rollup_mode: ::prost::alloc::vec::Vec<i32>,
333}
334pub mod get_features_resp {
336 #[derive(serde::Serialize)]
337 #[allow(clippy::derive_partial_eq_without_eq)]
338 #[derive(Clone, PartialEq, ::prost::Message)]
339 pub struct ColumnTypeOptions {
340 #[prost(string, repeated, tag = "1")]
341 pub options: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
342 }
343 #[derive(serde::Serialize)]
344 #[allow(clippy::derive_partial_eq_without_eq)]
345 #[derive(Clone, PartialEq, ::prost::Message)]
346 pub struct AggregateOptions {
347 #[prost(message, repeated, tag = "1")]
348 pub aggregates: ::prost::alloc::vec::Vec<AggregateArgs>,
349 }
350 #[derive(serde::Serialize)]
351 #[allow(clippy::derive_partial_eq_without_eq)]
352 #[derive(Clone, PartialEq, ::prost::Message)]
353 pub struct AggregateArgs {
354 #[prost(string, tag = "1")]
355 pub name: ::prost::alloc::string::String,
356 #[prost(enumeration = "super::ColumnType", repeated, tag = "2")]
357 pub args: ::prost::alloc::vec::Vec<i32>,
358 }
359}
360#[derive(serde::Serialize)]
362#[allow(clippy::derive_partial_eq_without_eq)]
363#[derive(Clone, PartialEq, ::prost::Message)]
364pub struct GetHostedTablesReq {
365 #[prost(bool, tag = "1")]
366 pub subscribe: bool,
367}
368#[derive(serde::Serialize)]
369#[allow(clippy::derive_partial_eq_without_eq)]
370#[derive(Clone, PartialEq, ::prost::Message)]
371pub struct GetHostedTablesResp {
372 #[prost(message, repeated, tag = "1")]
373 pub table_infos: ::prost::alloc::vec::Vec<HostedTable>,
374}
375#[derive(serde::Serialize)]
376#[allow(clippy::derive_partial_eq_without_eq)]
377#[derive(Clone, PartialEq, ::prost::Message)]
378pub struct HostedTable {
379 #[prost(string, tag = "1")]
380 pub entity_id: ::prost::alloc::string::String,
381 #[prost(string, optional, tag = "2")]
382 pub index: ::core::option::Option<::prost::alloc::string::String>,
383 #[prost(uint32, optional, tag = "3")]
384 pub limit: ::core::option::Option<u32>,
385}
386#[derive(serde::Serialize)]
387#[allow(clippy::derive_partial_eq_without_eq)]
388#[derive(Clone, PartialEq, ::prost::Message)]
389pub struct RemoveHostedTablesUpdateReq {
390 #[prost(uint32, tag = "1")]
391 pub id: u32,
392}
393#[derive(serde::Serialize)]
394#[allow(clippy::derive_partial_eq_without_eq)]
395#[derive(Clone, PartialEq, ::prost::Message)]
396pub struct RemoveHostedTablesUpdateResp {}
397#[derive(serde::Serialize)]
399#[allow(clippy::derive_partial_eq_without_eq)]
400#[derive(Clone, PartialEq, ::prost::Message)]
401pub struct TableSizeReq {}
402#[derive(serde::Serialize)]
403#[allow(clippy::derive_partial_eq_without_eq)]
404#[derive(Clone, PartialEq, ::prost::Message)]
405pub struct TableSizeResp {
406 #[prost(uint32, tag = "2")]
407 pub size: u32,
408}
409#[derive(serde::Serialize)]
411#[allow(clippy::derive_partial_eq_without_eq)]
412#[derive(Clone, PartialEq, ::prost::Message)]
413pub struct TableSchemaReq {}
414#[derive(serde::Serialize)]
415#[allow(clippy::derive_partial_eq_without_eq)]
416#[derive(Clone, PartialEq, ::prost::Message)]
417pub struct TableSchemaResp {
418 #[prost(message, optional, tag = "1")]
419 pub schema: ::core::option::Option<Schema>,
420}
421#[derive(serde::Serialize)]
424#[allow(clippy::derive_partial_eq_without_eq)]
425#[derive(Clone, PartialEq, ::prost::Message)]
426pub struct TableValidateExprReq {
427 #[prost(map = "string, string", tag = "1")]
428 pub column_to_expr: ::std::collections::HashMap<
429 ::prost::alloc::string::String,
430 ::prost::alloc::string::String,
431 >,
432}
433#[derive(serde::Serialize)]
434#[derive(serde::Deserialize)]
435#[allow(clippy::derive_partial_eq_without_eq)]
436#[derive(Clone, PartialEq, ::prost::Message)]
437pub struct TableValidateExprResp {
438 #[prost(map = "string, enumeration(ColumnType)", tag = "1")]
439 pub expression_schema: ::std::collections::HashMap<
440 ::prost::alloc::string::String,
441 i32,
442 >,
443 #[prost(map = "string, message", tag = "2")]
444 pub errors: ::std::collections::HashMap<
445 ::prost::alloc::string::String,
446 table_validate_expr_resp::ExprValidationError,
447 >,
448 #[prost(map = "string, string", tag = "3")]
449 pub expression_alias: ::std::collections::HashMap<
450 ::prost::alloc::string::String,
451 ::prost::alloc::string::String,
452 >,
453}
454pub mod table_validate_expr_resp {
456 #[derive(serde::Serialize)]
457 #[derive(serde::Deserialize)]
458 #[allow(clippy::derive_partial_eq_without_eq)]
459 #[derive(Clone, PartialEq, ::prost::Message)]
460 pub struct ExprValidationError {
461 #[prost(string, tag = "1")]
462 pub error_message: ::prost::alloc::string::String,
463 #[prost(uint32, tag = "2")]
464 pub line: u32,
465 #[prost(uint32, tag = "3")]
466 pub column: u32,
467 }
468}
469#[derive(serde::Serialize)]
471#[allow(clippy::derive_partial_eq_without_eq)]
472#[derive(Clone, PartialEq, ::prost::Message)]
473pub struct TableMakeViewReq {
474 #[prost(string, tag = "1")]
475 pub view_id: ::prost::alloc::string::String,
476 #[prost(message, optional, tag = "2")]
477 pub config: ::core::option::Option<ViewConfig>,
478}
479#[derive(serde::Serialize)]
480#[allow(clippy::derive_partial_eq_without_eq)]
481#[derive(Clone, PartialEq, ::prost::Message)]
482pub struct TableMakeViewResp {
483 #[prost(string, tag = "1")]
484 pub view_id: ::prost::alloc::string::String,
485}
486#[derive(serde::Serialize)]
488#[allow(clippy::derive_partial_eq_without_eq)]
489#[derive(Clone, PartialEq, ::prost::Message)]
490pub struct ViewSchemaReq {}
491#[derive(serde::Serialize)]
492#[allow(clippy::derive_partial_eq_without_eq)]
493#[derive(Clone, PartialEq, ::prost::Message)]
494pub struct ViewSchemaResp {
495 #[prost(map = "string, enumeration(ColumnType)", tag = "1")]
496 pub schema: ::std::collections::HashMap<::prost::alloc::string::String, i32>,
497}
498#[derive(serde::Serialize)]
500#[allow(clippy::derive_partial_eq_without_eq)]
501#[derive(Clone, PartialEq, ::prost::Message)]
502pub struct ViewDimensionsReq {}
503#[derive(serde::Serialize)]
504#[derive(serde::Deserialize)]
505#[allow(clippy::derive_partial_eq_without_eq)]
506#[derive(Clone, PartialEq, ::prost::Message)]
507pub struct ViewDimensionsResp {
508 #[prost(uint32, tag = "1")]
509 pub num_table_rows: u32,
510 #[prost(uint32, tag = "2")]
511 pub num_table_columns: u32,
512 #[prost(uint32, tag = "3")]
513 pub num_view_rows: u32,
514 #[prost(uint32, tag = "4")]
515 pub num_view_columns: u32,
516}
517#[derive(serde::Serialize)]
519#[allow(clippy::derive_partial_eq_without_eq)]
520#[derive(Clone, PartialEq, ::prost::Message)]
521pub struct ViewGetConfigReq {}
522#[derive(serde::Serialize)]
523#[allow(clippy::derive_partial_eq_without_eq)]
524#[derive(Clone, PartialEq, ::prost::Message)]
525pub struct ViewGetConfigResp {
526 #[prost(message, optional, tag = "1")]
527 pub config: ::core::option::Option<ViewConfig>,
528}
529#[derive(serde::Serialize)]
531#[allow(clippy::derive_partial_eq_without_eq)]
532#[derive(Clone, PartialEq, ::prost::Message)]
533pub struct MakeTableReq {
534 #[prost(message, optional, tag = "1")]
535 pub data: ::core::option::Option<MakeTableData>,
536 #[prost(message, optional, tag = "2")]
537 pub options: ::core::option::Option<make_table_req::MakeTableOptions>,
538}
539pub mod make_table_req {
541 #[derive(serde::Serialize)]
542 #[allow(clippy::derive_partial_eq_without_eq)]
543 #[derive(Clone, PartialEq, ::prost::Message)]
544 pub struct MakeTableOptions {
545 #[prost(oneof = "make_table_options::MakeTableType", tags = "1, 2")]
546 pub make_table_type: ::core::option::Option<make_table_options::MakeTableType>,
547 }
548 pub mod make_table_options {
550 #[derive(serde::Serialize)]
551 #[allow(clippy::derive_partial_eq_without_eq)]
552 #[derive(Clone, PartialEq, ::prost::Oneof)]
553 pub enum MakeTableType {
554 #[prost(string, tag = "1")]
555 MakeIndexTable(::prost::alloc::string::String),
556 #[prost(uint32, tag = "2")]
557 MakeLimitTable(u32),
558 }
559 }
560}
561#[derive(serde::Serialize)]
562#[allow(clippy::derive_partial_eq_without_eq)]
563#[derive(Clone, PartialEq, ::prost::Message)]
564pub struct MakeTableResp {}
565#[derive(serde::Serialize)]
567#[allow(clippy::derive_partial_eq_without_eq)]
568#[derive(Clone, PartialEq, ::prost::Message)]
569pub struct TableDeleteReq {
570 #[prost(bool, tag = "1")]
571 pub is_immediate: bool,
572}
573#[derive(serde::Serialize)]
574#[allow(clippy::derive_partial_eq_without_eq)]
575#[derive(Clone, PartialEq, ::prost::Message)]
576pub struct TableDeleteResp {}
577#[derive(serde::Serialize)]
579#[allow(clippy::derive_partial_eq_without_eq)]
580#[derive(Clone, PartialEq, ::prost::Message)]
581pub struct TableOnDeleteReq {}
582#[derive(serde::Serialize)]
583#[allow(clippy::derive_partial_eq_without_eq)]
584#[derive(Clone, PartialEq, ::prost::Message)]
585pub struct TableOnDeleteResp {}
586#[derive(serde::Serialize)]
588#[allow(clippy::derive_partial_eq_without_eq)]
589#[derive(Clone, PartialEq, ::prost::Message)]
590pub struct TableMakePortReq {}
591#[derive(serde::Serialize)]
592#[allow(clippy::derive_partial_eq_without_eq)]
593#[derive(Clone, PartialEq, ::prost::Message)]
594pub struct TableMakePortResp {
595 #[prost(uint32, tag = "1")]
596 pub port_id: u32,
597}
598#[derive(serde::Serialize)]
600#[allow(clippy::derive_partial_eq_without_eq)]
601#[derive(Clone, PartialEq, ::prost::Message)]
602pub struct TableRemoveDeleteReq {
603 #[prost(uint32, tag = "1")]
604 pub id: u32,
605}
606#[derive(serde::Serialize)]
607#[allow(clippy::derive_partial_eq_without_eq)]
608#[derive(Clone, PartialEq, ::prost::Message)]
609pub struct TableRemoveDeleteResp {}
610#[derive(serde::Serialize)]
612#[allow(clippy::derive_partial_eq_without_eq)]
613#[derive(Clone, PartialEq, ::prost::Message)]
614pub struct TableUpdateReq {
615 #[prost(message, optional, tag = "1")]
616 pub data: ::core::option::Option<MakeTableData>,
617 #[prost(uint32, tag = "2")]
618 pub port_id: u32,
619}
620#[derive(serde::Serialize)]
621#[allow(clippy::derive_partial_eq_without_eq)]
622#[derive(Clone, PartialEq, ::prost::Message)]
623pub struct TableUpdateResp {}
624#[derive(serde::Serialize)]
626#[allow(clippy::derive_partial_eq_without_eq)]
627#[derive(Clone, PartialEq, ::prost::Message)]
628pub struct TableReplaceReq {
629 #[prost(message, optional, tag = "1")]
630 pub data: ::core::option::Option<MakeTableData>,
631}
632#[derive(serde::Serialize)]
633#[allow(clippy::derive_partial_eq_without_eq)]
634#[derive(Clone, PartialEq, ::prost::Message)]
635pub struct TableReplaceResp {}
636#[derive(serde::Serialize)]
638#[allow(clippy::derive_partial_eq_without_eq)]
639#[derive(Clone, PartialEq, ::prost::Message)]
640pub struct TableRemoveReq {
641 #[prost(message, optional, tag = "1")]
642 pub data: ::core::option::Option<MakeTableData>,
643}
644#[derive(serde::Serialize)]
645#[allow(clippy::derive_partial_eq_without_eq)]
646#[derive(Clone, PartialEq, ::prost::Message)]
647pub struct TableRemoveResp {}
648#[derive(serde::Serialize)]
649#[allow(clippy::derive_partial_eq_without_eq)]
650#[derive(Clone, PartialEq, ::prost::Message)]
651pub struct ViewOnUpdateReq {
652 #[prost(enumeration = "view_on_update_req::Mode", optional, tag = "1")]
653 pub mode: ::core::option::Option<i32>,
654}
655pub mod view_on_update_req {
657 #[derive(serde::Serialize)]
658 #[derive(
659 Clone,
660 Copy,
661 Debug,
662 PartialEq,
663 Eq,
664 Hash,
665 PartialOrd,
666 Ord,
667 ::prost::Enumeration
668 )]
669 #[repr(i32)]
670 pub enum Mode {
671 Row = 0,
672 }
673 impl Mode {
674 pub fn as_str_name(&self) -> &'static str {
679 match self {
680 Mode::Row => "ROW",
681 }
682 }
683 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
685 match value {
686 "ROW" => Some(Self::Row),
687 _ => None,
688 }
689 }
690 }
691}
692#[derive(ts_rs::TS)]
693#[derive(serde::Serialize)]
694#[allow(clippy::derive_partial_eq_without_eq)]
695#[derive(Clone, PartialEq, ::prost::Message)]
696pub struct ViewOnUpdateResp {
697 #[prost(bytes = "vec", optional, tag = "1")]
698 #[ts(as = "Vec::<u8>")]
699 #[serde(with = "serde_bytes")]
700 pub delta: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
701 #[prost(uint32, tag = "2")]
702 pub port_id: u32,
703}
704#[derive(serde::Serialize)]
705#[allow(clippy::derive_partial_eq_without_eq)]
706#[derive(Clone, PartialEq, ::prost::Message)]
707pub struct ViewOnDeleteReq {}
708#[derive(serde::Serialize)]
709#[allow(clippy::derive_partial_eq_without_eq)]
710#[derive(Clone, PartialEq, ::prost::Message)]
711pub struct ViewOnDeleteResp {}
712#[derive(serde::Serialize)]
713#[allow(clippy::derive_partial_eq_without_eq)]
714#[derive(Clone, PartialEq, ::prost::Message)]
715pub struct ViewRemoveDeleteReq {
716 #[prost(uint32, tag = "1")]
717 pub id: u32,
718}
719#[derive(serde::Serialize)]
720#[allow(clippy::derive_partial_eq_without_eq)]
721#[derive(Clone, PartialEq, ::prost::Message)]
722pub struct ViewRemoveDeleteResp {}
723#[derive(serde::Serialize)]
724#[allow(clippy::derive_partial_eq_without_eq)]
725#[derive(Clone, PartialEq, ::prost::Message)]
726pub struct ViewToColumnsStringReq {
727 #[prost(message, optional, tag = "1")]
728 pub viewport: ::core::option::Option<ViewPort>,
729 #[prost(bool, optional, tag = "2")]
730 pub id: ::core::option::Option<bool>,
731 #[prost(bool, optional, tag = "3")]
732 pub index: ::core::option::Option<bool>,
733 #[prost(bool, optional, tag = "4")]
734 pub formatted: ::core::option::Option<bool>,
735}
736#[derive(serde::Serialize)]
737#[allow(clippy::derive_partial_eq_without_eq)]
738#[derive(Clone, PartialEq, ::prost::Message)]
739pub struct ViewToColumnsStringResp {
740 #[prost(string, tag = "1")]
741 pub json_string: ::prost::alloc::string::String,
742}
743#[derive(serde::Serialize)]
744#[allow(clippy::derive_partial_eq_without_eq)]
745#[derive(Clone, PartialEq, ::prost::Message)]
746pub struct ViewToRowsStringReq {
747 #[prost(message, optional, tag = "1")]
748 pub viewport: ::core::option::Option<ViewPort>,
749 #[prost(bool, optional, tag = "2")]
750 pub id: ::core::option::Option<bool>,
751 #[prost(bool, optional, tag = "3")]
752 pub index: ::core::option::Option<bool>,
753 #[prost(bool, optional, tag = "4")]
754 pub formatted: ::core::option::Option<bool>,
755}
756#[derive(serde::Serialize)]
757#[allow(clippy::derive_partial_eq_without_eq)]
758#[derive(Clone, PartialEq, ::prost::Message)]
759pub struct ViewToRowsStringResp {
760 #[prost(string, tag = "1")]
761 pub json_string: ::prost::alloc::string::String,
762}
763#[derive(serde::Serialize)]
764#[allow(clippy::derive_partial_eq_without_eq)]
765#[derive(Clone, PartialEq, ::prost::Message)]
766pub struct ViewToNdjsonStringReq {
767 #[prost(message, optional, tag = "1")]
768 pub viewport: ::core::option::Option<ViewPort>,
769 #[prost(bool, optional, tag = "2")]
770 pub id: ::core::option::Option<bool>,
771 #[prost(bool, optional, tag = "3")]
772 pub index: ::core::option::Option<bool>,
773 #[prost(bool, optional, tag = "4")]
774 pub formatted: ::core::option::Option<bool>,
775}
776#[derive(serde::Serialize)]
777#[allow(clippy::derive_partial_eq_without_eq)]
778#[derive(Clone, PartialEq, ::prost::Message)]
779pub struct ViewToNdjsonStringResp {
780 #[prost(string, tag = "1")]
781 pub ndjson_string: ::prost::alloc::string::String,
782}
783#[derive(serde::Serialize)]
784#[allow(clippy::derive_partial_eq_without_eq)]
785#[derive(Clone, PartialEq, ::prost::Message)]
786pub struct ViewToArrowReq {
787 #[prost(message, optional, tag = "1")]
788 pub viewport: ::core::option::Option<ViewPort>,
789 #[prost(string, optional, tag = "2")]
790 pub compression: ::core::option::Option<::prost::alloc::string::String>,
791}
792#[derive(serde::Serialize)]
793#[allow(clippy::derive_partial_eq_without_eq)]
794#[derive(Clone, PartialEq, ::prost::Message)]
795pub struct ViewToArrowResp {
796 #[prost(bytes = "vec", tag = "1")]
797 #[serde(skip)]
798 pub arrow: ::prost::alloc::vec::Vec<u8>,
799}
800#[derive(serde::Serialize)]
801#[allow(clippy::derive_partial_eq_without_eq)]
802#[derive(Clone, PartialEq, ::prost::Message)]
803pub struct ViewColumnPathsReq {
804 #[prost(uint32, optional, tag = "1")]
805 pub start_col: ::core::option::Option<u32>,
806 #[prost(uint32, optional, tag = "2")]
807 pub end_col: ::core::option::Option<u32>,
808}
809#[derive(serde::Serialize)]
810#[allow(clippy::derive_partial_eq_without_eq)]
811#[derive(Clone, PartialEq, ::prost::Message)]
812pub struct ViewColumnPathsResp {
813 #[prost(string, repeated, tag = "1")]
815 pub paths: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
816}
817#[derive(serde::Serialize)]
818#[allow(clippy::derive_partial_eq_without_eq)]
819#[derive(Clone, PartialEq, ::prost::Message)]
820pub struct ViewDeleteReq {}
821#[derive(serde::Serialize)]
822#[allow(clippy::derive_partial_eq_without_eq)]
823#[derive(Clone, PartialEq, ::prost::Message)]
824pub struct ViewDeleteResp {}
825#[derive(serde::Serialize)]
826#[allow(clippy::derive_partial_eq_without_eq)]
827#[derive(Clone, PartialEq, ::prost::Message)]
828pub struct ViewGetMinMaxReq {
829 #[prost(string, tag = "1")]
830 pub column_name: ::prost::alloc::string::String,
831}
832#[derive(serde::Serialize)]
833#[allow(clippy::derive_partial_eq_without_eq)]
834#[derive(Clone, PartialEq, ::prost::Message)]
835pub struct ViewGetMinMaxResp {
836 #[prost(string, tag = "1")]
837 pub min: ::prost::alloc::string::String,
838 #[prost(string, tag = "2")]
839 pub max: ::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 ViewExpressionSchemaReq {}
845#[derive(serde::Serialize)]
846#[allow(clippy::derive_partial_eq_without_eq)]
847#[derive(Clone, PartialEq, ::prost::Message)]
848pub struct ViewExpressionSchemaResp {
849 #[prost(map = "string, enumeration(ColumnType)", tag = "1")]
850 pub schema: ::std::collections::HashMap<::prost::alloc::string::String, i32>,
851}
852#[derive(serde::Serialize)]
853#[allow(clippy::derive_partial_eq_without_eq)]
854#[derive(Clone, PartialEq, ::prost::Message)]
855pub struct ViewToCsvReq {
856 #[prost(message, optional, tag = "1")]
857 pub viewport: ::core::option::Option<ViewPort>,
858}
859#[derive(serde::Serialize)]
860#[allow(clippy::derive_partial_eq_without_eq)]
861#[derive(Clone, PartialEq, ::prost::Message)]
862pub struct ViewToCsvResp {
863 #[prost(string, tag = "1")]
864 pub csv: ::prost::alloc::string::String,
865}
866#[derive(serde::Serialize)]
867#[allow(clippy::derive_partial_eq_without_eq)]
868#[derive(Clone, PartialEq, ::prost::Message)]
869pub struct ViewRemoveOnUpdateReq {
870 #[prost(uint32, tag = "1")]
871 pub id: u32,
872}
873#[derive(serde::Serialize)]
874#[allow(clippy::derive_partial_eq_without_eq)]
875#[derive(Clone, PartialEq, ::prost::Message)]
876pub struct ViewRemoveOnUpdateResp {}
877#[derive(serde::Serialize)]
878#[allow(clippy::derive_partial_eq_without_eq)]
879#[derive(Clone, PartialEq, ::prost::Message)]
880pub struct ViewCollapseReq {
881 #[prost(uint32, tag = "1")]
882 pub row_index: u32,
883}
884#[derive(serde::Serialize)]
885#[allow(clippy::derive_partial_eq_without_eq)]
886#[derive(Clone, PartialEq, ::prost::Message)]
887pub struct ViewCollapseResp {
888 #[prost(uint32, tag = "1")]
889 pub num_changed: u32,
890}
891#[derive(serde::Serialize)]
892#[allow(clippy::derive_partial_eq_without_eq)]
893#[derive(Clone, PartialEq, ::prost::Message)]
894pub struct ViewExpandReq {
895 #[prost(uint32, tag = "1")]
896 pub row_index: u32,
897}
898#[derive(serde::Serialize)]
899#[allow(clippy::derive_partial_eq_without_eq)]
900#[derive(Clone, PartialEq, ::prost::Message)]
901pub struct ViewExpandResp {
902 #[prost(uint32, tag = "1")]
903 pub num_changed: u32,
904}
905#[derive(serde::Serialize)]
907#[allow(clippy::derive_partial_eq_without_eq)]
908#[derive(Clone, PartialEq, ::prost::Message)]
909pub struct ViewSetDepthReq {
910 #[prost(uint32, tag = "1")]
911 pub depth: u32,
912}
913#[derive(serde::Serialize)]
914#[allow(clippy::derive_partial_eq_without_eq)]
915#[derive(Clone, PartialEq, ::prost::Message)]
916pub struct ViewSetDepthResp {}
917#[derive(serde::Serialize)]
918#[allow(clippy::derive_partial_eq_without_eq)]
919#[derive(Clone, PartialEq, ::prost::Message)]
920pub struct ServerSystemInfoReq {}
921#[derive(serde::Serialize)]
922#[allow(clippy::derive_partial_eq_without_eq)]
923#[derive(Clone, PartialEq, ::prost::Message)]
924pub struct ServerSystemInfoResp {
925 #[prost(uint64, tag = "1")]
926 pub heap_size: u64,
927 #[prost(uint64, tag = "2")]
928 pub used_size: u64,
929 #[prost(uint32, tag = "3")]
930 pub cpu_time: u32,
931 #[prost(uint32, tag = "4")]
932 pub cpu_time_epoch: u32,
933}
934#[derive(serde::Serialize)]
935#[allow(clippy::derive_partial_eq_without_eq)]
936#[derive(Clone, PartialEq, ::prost::Message)]
937pub struct ViewConfig {
938 #[prost(string, repeated, tag = "1")]
939 pub group_by: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
940 #[prost(string, repeated, tag = "2")]
941 pub split_by: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
942 #[prost(message, optional, tag = "3")]
943 pub columns: ::core::option::Option<ColumnsUpdate>,
944 #[prost(message, repeated, tag = "4")]
945 pub filter: ::prost::alloc::vec::Vec<view_config::Filter>,
946 #[prost(message, repeated, tag = "5")]
947 pub sort: ::prost::alloc::vec::Vec<view_config::Sort>,
948 #[prost(map = "string, string", tag = "6")]
949 pub expressions: ::std::collections::HashMap<
950 ::prost::alloc::string::String,
951 ::prost::alloc::string::String,
952 >,
953 #[prost(map = "string, message", tag = "7")]
954 pub aggregates: ::std::collections::HashMap<
955 ::prost::alloc::string::String,
956 view_config::AggList,
957 >,
958 #[prost(enumeration = "view_config::FilterReducer", tag = "8")]
959 pub filter_op: i32,
960 #[prost(uint32, optional, tag = "9")]
961 pub group_by_depth: ::core::option::Option<u32>,
962 #[prost(enumeration = "GroupRollupMode", optional, tag = "10")]
963 pub group_rollup_mode: ::core::option::Option<i32>,
964}
965pub mod view_config {
967 #[derive(serde::Serialize)]
968 #[allow(clippy::derive_partial_eq_without_eq)]
969 #[derive(Clone, PartialEq, ::prost::Message)]
970 pub struct AggList {
971 #[prost(string, repeated, tag = "1")]
972 pub aggregations: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
973 }
974 #[derive(serde::Serialize)]
975 #[allow(clippy::derive_partial_eq_without_eq)]
976 #[derive(Clone, PartialEq, ::prost::Message)]
977 pub struct Sort {
978 #[prost(string, tag = "1")]
979 pub column: ::prost::alloc::string::String,
980 #[prost(enumeration = "super::SortOp", tag = "2")]
981 pub op: i32,
982 }
983 #[derive(serde::Serialize)]
984 #[allow(clippy::derive_partial_eq_without_eq)]
985 #[derive(Clone, PartialEq, ::prost::Message)]
986 pub struct Filter {
987 #[prost(string, tag = "1")]
988 pub column: ::prost::alloc::string::String,
989 #[prost(string, tag = "2")]
990 pub op: ::prost::alloc::string::String,
991 #[prost(message, repeated, tag = "3")]
992 pub value: ::prost::alloc::vec::Vec<super::Scalar>,
993 }
994 #[derive(serde::Serialize)]
995 #[derive(
996 Clone,
997 Copy,
998 Debug,
999 PartialEq,
1000 Eq,
1001 Hash,
1002 PartialOrd,
1003 Ord,
1004 ::prost::Enumeration
1005 )]
1006 #[repr(i32)]
1007 pub enum FilterReducer {
1008 And = 0,
1009 Or = 1,
1010 }
1011 impl FilterReducer {
1012 pub fn as_str_name(&self) -> &'static str {
1017 match self {
1018 FilterReducer::And => "AND",
1019 FilterReducer::Or => "OR",
1020 }
1021 }
1022 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1024 match value {
1025 "AND" => Some(Self::And),
1026 "OR" => Some(Self::Or),
1027 _ => None,
1028 }
1029 }
1030 }
1031}
1032#[derive(serde::Serialize)]
1033#[allow(clippy::derive_partial_eq_without_eq)]
1034#[derive(Clone, PartialEq, ::prost::Message)]
1035pub struct ColumnsUpdate {
1036 #[prost(oneof = "columns_update::OptColumns", tags = "1, 2")]
1037 pub opt_columns: ::core::option::Option<columns_update::OptColumns>,
1038}
1039pub mod columns_update {
1041 #[derive(serde::Serialize)]
1042 #[allow(clippy::derive_partial_eq_without_eq)]
1043 #[derive(Clone, PartialEq, ::prost::Message)]
1044 pub struct Columns {
1045 #[prost(string, repeated, tag = "1")]
1046 pub columns: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1047 }
1048 #[derive(serde::Serialize)]
1049 #[allow(clippy::derive_partial_eq_without_eq)]
1050 #[derive(Clone, PartialEq, ::prost::Oneof)]
1051 pub enum OptColumns {
1052 #[prost(enumeration = "::prost_types::NullValue", tag = "1")]
1053 DefaultColumns(i32),
1054 #[prost(message, tag = "2")]
1055 Columns(Columns),
1056 }
1057}
1058#[derive(serde::Serialize)]
1059#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1060#[repr(i32)]
1061pub enum StatusCode {
1062 ServerError = 0,
1063 ViewNotFound = 1,
1064 TransportError = 2,
1065}
1066impl StatusCode {
1067 pub fn as_str_name(&self) -> &'static str {
1072 match self {
1073 StatusCode::ServerError => "SERVER_ERROR",
1074 StatusCode::ViewNotFound => "VIEW_NOT_FOUND",
1075 StatusCode::TransportError => "TRANSPORT_ERROR",
1076 }
1077 }
1078 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1080 match value {
1081 "SERVER_ERROR" => Some(Self::ServerError),
1082 "VIEW_NOT_FOUND" => Some(Self::ViewNotFound),
1083 "TRANSPORT_ERROR" => Some(Self::TransportError),
1084 _ => None,
1085 }
1086 }
1087}
1088#[derive(ts_rs::TS)]
1090#[derive(serde::Serialize)]
1091#[derive(serde::Deserialize)]
1092#[serde(rename_all = "snake_case")]
1093#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1094#[repr(i32)]
1095pub enum ColumnType {
1096 String = 0,
1097 Date = 1,
1098 Datetime = 2,
1099 Integer = 3,
1100 Float = 4,
1101 Boolean = 5,
1102}
1103impl ColumnType {
1104 pub fn as_str_name(&self) -> &'static str {
1109 match self {
1110 ColumnType::String => "STRING",
1111 ColumnType::Date => "DATE",
1112 ColumnType::Datetime => "DATETIME",
1113 ColumnType::Integer => "INTEGER",
1114 ColumnType::Float => "FLOAT",
1115 ColumnType::Boolean => "BOOLEAN",
1116 }
1117 }
1118 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1120 match value {
1121 "STRING" => Some(Self::String),
1122 "DATE" => Some(Self::Date),
1123 "DATETIME" => Some(Self::Datetime),
1124 "INTEGER" => Some(Self::Integer),
1125 "FLOAT" => Some(Self::Float),
1126 "BOOLEAN" => Some(Self::Boolean),
1127 _ => None,
1128 }
1129 }
1130}
1131#[derive(serde::Serialize)]
1133#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1134#[repr(i32)]
1135pub enum SortOp {
1136 SortNone = 0,
1137 SortAsc = 1,
1138 SortDesc = 2,
1139 SortColAsc = 3,
1140 SortColDesc = 4,
1141 SortAscAbs = 5,
1142 SortDescAbs = 6,
1143 SortColAscAbs = 7,
1144 SortColDescAbs = 8,
1145}
1146impl SortOp {
1147 pub fn as_str_name(&self) -> &'static str {
1152 match self {
1153 SortOp::SortNone => "SORT_NONE",
1154 SortOp::SortAsc => "SORT_ASC",
1155 SortOp::SortDesc => "SORT_DESC",
1156 SortOp::SortColAsc => "SORT_COL_ASC",
1157 SortOp::SortColDesc => "SORT_COL_DESC",
1158 SortOp::SortAscAbs => "SORT_ASC_ABS",
1159 SortOp::SortDescAbs => "SORT_DESC_ABS",
1160 SortOp::SortColAscAbs => "SORT_COL_ASC_ABS",
1161 SortOp::SortColDescAbs => "SORT_COL_DESC_ABS",
1162 }
1163 }
1164 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1166 match value {
1167 "SORT_NONE" => Some(Self::SortNone),
1168 "SORT_ASC" => Some(Self::SortAsc),
1169 "SORT_DESC" => Some(Self::SortDesc),
1170 "SORT_COL_ASC" => Some(Self::SortColAsc),
1171 "SORT_COL_DESC" => Some(Self::SortColDesc),
1172 "SORT_ASC_ABS" => Some(Self::SortAscAbs),
1173 "SORT_DESC_ABS" => Some(Self::SortDescAbs),
1174 "SORT_COL_ASC_ABS" => Some(Self::SortColAscAbs),
1175 "SORT_COL_DESC_ABS" => Some(Self::SortColDescAbs),
1176 _ => None,
1177 }
1178 }
1179}
1180#[derive(serde::Serialize)]
1181#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1182#[repr(i32)]
1183pub enum GroupRollupMode {
1184 Rollup = 0,
1185 Flat = 1,
1186 Total = 2,
1187}
1188impl GroupRollupMode {
1189 pub fn as_str_name(&self) -> &'static str {
1194 match self {
1195 GroupRollupMode::Rollup => "ROLLUP",
1196 GroupRollupMode::Flat => "FLAT",
1197 GroupRollupMode::Total => "TOTAL",
1198 }
1199 }
1200 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1202 match value {
1203 "ROLLUP" => Some(Self::Rollup),
1204 "FLAT" => Some(Self::Flat),
1205 "TOTAL" => Some(Self::Total),
1206 _ => None,
1207 }
1208 }
1209}