1#[derive(Clone, PartialEq, ::prost::Message)]
6pub struct ClientPacket {
7 #[prost(oneof = "client_packet::Msg", tags = "1")]
8 pub msg: ::core::option::Option<client_packet::Msg>,
9}
10pub mod client_packet {
12 #[derive(Clone, PartialEq, ::prost::Oneof)]
13 pub enum Msg {
14 #[prost(message, tag = "1")]
15 Quic(super::QuicClientMessage),
16 }
17}
18#[derive(Clone, PartialEq, ::prost::Message)]
19pub struct ServerPacket {
20 #[prost(oneof = "server_packet::Msg", tags = "1")]
21 pub msg: ::core::option::Option<server_packet::Msg>,
22}
23pub mod server_packet {
25 #[derive(Clone, PartialEq, ::prost::Oneof)]
26 pub enum Msg {
27 #[prost(message, tag = "1")]
28 Quic(super::QuicServerMessage),
29 }
30}
31#[derive(Clone, PartialEq, ::prost::Message)]
35pub struct QuicClientMessage {
36 #[prost(
37 oneof = "quic_client_message::Msg",
38 tags = "1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14"
39 )]
40 pub msg: ::core::option::Option<quic_client_message::Msg>,
41}
42pub mod quic_client_message {
44 #[derive(Clone, PartialEq, ::prost::Oneof)]
45 pub enum Msg {
46 #[prost(message, tag = "1")]
47 Hello(super::HelloRequest),
48 #[prost(message, tag = "2")]
49 Execute(super::ExecuteRequest),
50 #[prost(message, tag = "3")]
51 Pull(super::PullRequest),
52 #[prost(message, tag = "4")]
53 Ping(super::PingRequest),
54 #[prost(message, tag = "5")]
55 CdcDiag(super::CdcDiagnosticsRequest),
56 #[prost(message, tag = "6")]
57 CdcCtrl(super::CdcControlRequest),
58 #[prost(message, tag = "7")]
59 Begin(super::BeginRequest),
60 #[prost(message, tag = "8")]
61 Commit(super::CommitRequest),
62 #[prost(message, tag = "9")]
63 Rollback(super::RollbackRequest),
64 #[prost(message, tag = "10")]
65 Savepoint(super::SavepointRequest),
66 #[prost(message, tag = "11")]
67 RollbackTo(super::RollbackToRequest),
68 #[prost(message, tag = "12")]
69 Backup(super::BackupRequest),
70 #[prost(message, tag = "13")]
71 Restore(super::RestoreRequest),
72 #[prost(message, tag = "14")]
73 UploadBackup(super::UploadBackupRequest),
74 }
75}
76#[derive(Clone, PartialEq, ::prost::Message)]
77pub struct QuicServerMessage {
78 #[prost(
79 oneof = "quic_server_message::Msg",
80 tags = "1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14"
81 )]
82 pub msg: ::core::option::Option<quic_server_message::Msg>,
83}
84pub mod quic_server_message {
86 #[derive(Clone, PartialEq, ::prost::Oneof)]
87 pub enum Msg {
88 #[prost(message, tag = "1")]
89 Hello(super::HelloResponse),
90 #[prost(message, tag = "2")]
91 Execute(super::ExecutionResponse),
92 #[prost(message, tag = "3")]
93 Pull(super::PullResponse),
94 #[prost(message, tag = "4")]
95 Ping(super::PingResponse),
96 #[prost(message, tag = "5")]
97 CdcDiag(super::CdcDiagnosticsResponse),
98 #[prost(message, tag = "6")]
99 CdcCtrl(super::CdcControlResponse),
100 #[prost(message, tag = "7")]
101 Begin(super::BeginResponse),
102 #[prost(message, tag = "8")]
103 Commit(super::CommitResponse),
104 #[prost(message, tag = "9")]
105 Rollback(super::RollbackResponse),
106 #[prost(message, tag = "10")]
107 Savepoint(super::SavepointResponse),
108 #[prost(message, tag = "11")]
109 RollbackTo(super::RollbackToResponse),
110 #[prost(message, tag = "12")]
111 Backup(super::BackupResponse),
112 #[prost(message, tag = "13")]
113 Restore(super::RestoreResponse),
114 #[prost(message, tag = "14")]
115 UploadBackup(super::UploadBackupResponse),
116 }
117}
118#[derive(Clone, PartialEq, ::prost::Message)]
122pub struct HelloRequest {
123 #[prost(string, tag = "1")]
124 pub username: ::prost::alloc::string::String,
125 #[prost(string, tag = "2")]
126 pub password: ::prost::alloc::string::String,
127 #[prost(string, optional, tag = "3")]
128 pub tenant_id: ::core::option::Option<::prost::alloc::string::String>,
129 #[prost(string, tag = "4")]
130 pub client_name: ::prost::alloc::string::String,
131 #[prost(string, tag = "5")]
132 pub client_version: ::prost::alloc::string::String,
133 #[prost(string, tag = "6")]
134 pub wanted_conformance: ::prost::alloc::string::String,
135}
136#[derive(Clone, PartialEq, ::prost::Message)]
137pub struct HelloResponse {
138 #[prost(bool, tag = "1")]
139 pub success: bool,
140 #[prost(string, tag = "2")]
141 pub session_id: ::prost::alloc::string::String,
142 #[prost(string, tag = "3")]
143 pub error_message: ::prost::alloc::string::String,
144 #[prost(string, repeated, tag = "4")]
145 pub capabilities: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
146}
147#[derive(Clone, PartialEq, ::prost::Message)]
151pub struct ExecuteRequest {
152 #[prost(string, tag = "1")]
153 pub session_id: ::prost::alloc::string::String,
154 #[prost(string, tag = "2")]
155 pub query: ::prost::alloc::string::String,
156 #[prost(message, repeated, tag = "3")]
157 pub params: ::prost::alloc::vec::Vec<Param>,
158}
159#[derive(Clone, PartialEq, ::prost::Message)]
160pub struct Param {
161 #[prost(string, tag = "1")]
162 pub name: ::prost::alloc::string::String,
163 #[prost(message, optional, tag = "2")]
164 pub value: ::core::option::Option<Value>,
165}
166#[derive(Clone, PartialEq, ::prost::Message)]
167pub struct PullRequest {
168 #[prost(uint64, tag = "1")]
169 pub request_id: u64,
170 #[prost(uint32, tag = "2")]
171 pub page_size: u32,
172 #[prost(string, tag = "3")]
174 pub session_id: ::prost::alloc::string::String,
175}
176#[derive(Clone, PartialEq, ::prost::Message)]
177pub struct PullResponse {
178 #[prost(message, optional, tag = "1")]
179 pub response: ::core::option::Option<ExecutionResponse>,
180}
181#[derive(Clone, PartialEq, ::prost::Message)]
185pub struct Status {
186 #[prost(string, tag = "1")]
188 pub status_class: ::prost::alloc::string::String,
189 #[prost(string, tag = "2")]
190 pub status_subclass: ::prost::alloc::string::String,
191 #[prost(string, repeated, tag = "3")]
192 pub additional_statuses: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
193 #[prost(string, repeated, tag = "4")]
194 pub flagger_findings: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
195}
196#[derive(Clone, PartialEq, ::prost::Message)]
197pub struct ExecutionResponse {
198 #[prost(message, optional, tag = "1")]
199 pub status: ::core::option::Option<Status>,
200 #[prost(oneof = "execution_response::Payload", tags = "2, 3, 4, 5, 6, 7, 8")]
201 pub payload: ::core::option::Option<execution_response::Payload>,
202}
203pub mod execution_response {
205 #[derive(Clone, PartialEq, ::prost::Oneof)]
206 pub enum Payload {
207 #[prost(message, tag = "2")]
208 Schema(super::SchemaDefinition),
209 #[prost(message, tag = "3")]
210 Page(super::DataPage),
211 #[prost(message, tag = "4")]
212 Error(super::Error),
213 #[prost(message, tag = "5")]
214 Metrics(super::ExecutionMetrics),
215 #[prost(message, tag = "6")]
216 Explain(super::ExplainPayload),
217 #[prost(message, tag = "7")]
218 Profile(super::ProfilePayload),
219 #[prost(message, tag = "8")]
220 Heartbeat(super::Heartbeat),
221 }
222}
223#[derive(Clone, PartialEq, ::prost::Message)]
224pub struct SchemaDefinition {
225 #[prost(message, repeated, tag = "1")]
226 pub columns: ::prost::alloc::vec::Vec<ColumnDefinition>,
227}
228#[derive(Clone, PartialEq, ::prost::Message)]
229pub struct ColumnDefinition {
230 #[prost(string, tag = "1")]
231 pub name: ::prost::alloc::string::String,
232 #[prost(string, tag = "2")]
233 pub r#type: ::prost::alloc::string::String,
234}
235#[derive(Clone, PartialEq, ::prost::Message)]
236pub struct DataPage {
237 #[prost(message, repeated, tag = "1")]
238 pub rows: ::prost::alloc::vec::Vec<Row>,
239 #[prost(bool, tag = "2")]
240 pub r#final: bool,
241 #[prost(bool, tag = "3")]
242 pub ordered: bool,
243 #[prost(string, repeated, tag = "4")]
244 pub order_keys: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
245}
246#[derive(Clone, PartialEq, ::prost::Message)]
247pub struct Row {
248 #[prost(message, repeated, tag = "1")]
249 pub values: ::prost::alloc::vec::Vec<Value>,
250}
251#[derive(Clone, PartialEq, ::prost::Message)]
255pub struct Value {
256 #[prost(
257 oneof = "value::Kind",
258 tags = "1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13"
259 )]
260 pub kind: ::core::option::Option<value::Kind>,
261}
262pub mod value {
264 #[derive(Clone, PartialEq, ::prost::Oneof)]
265 pub enum Kind {
266 #[prost(message, tag = "1")]
267 NullVal(super::NullValue),
268 #[prost(message, tag = "2")]
269 IntVal(super::IntValue),
270 #[prost(message, tag = "3")]
271 DoubleVal(super::DoubleValue),
272 #[prost(bool, tag = "4")]
273 BoolVal(bool),
274 #[prost(message, tag = "5")]
275 StringVal(super::StringValue),
276 #[prost(message, tag = "6")]
277 DecimalVal(super::DecimalValue),
278 #[prost(message, tag = "7")]
279 BytesVal(super::BytesValue),
280 #[prost(message, tag = "8")]
281 ListVal(super::ListValue),
282 #[prost(message, tag = "9")]
283 MapVal(super::MapValue),
284 #[prost(message, tag = "10")]
285 NodeVal(super::NodeValue),
286 #[prost(message, tag = "11")]
287 EdgeVal(super::EdgeValue),
288 #[prost(message, tag = "12")]
289 PathVal(super::PathValue),
290 #[prost(message, tag = "13")]
291 ExtVal(super::ExtendedValue),
292 }
293}
294#[derive(Clone, Copy, PartialEq, ::prost::Message)]
295pub struct NullValue {}
296#[derive(Clone, Copy, PartialEq, ::prost::Message)]
297pub struct IntValue {
298 #[prost(int64, tag = "1")]
299 pub value: i64,
300 #[prost(enumeration = "IntKind", tag = "2")]
301 pub kind: i32,
302}
303#[derive(Clone, Copy, PartialEq, ::prost::Message)]
304pub struct DoubleValue {
305 #[prost(double, tag = "1")]
306 pub value: f64,
307 #[prost(enumeration = "FloatKind", tag = "2")]
308 pub kind: i32,
309}
310#[derive(Clone, PartialEq, ::prost::Message)]
311pub struct StringValue {
312 #[prost(string, tag = "1")]
313 pub value: ::prost::alloc::string::String,
314 #[prost(enumeration = "StringKind", tag = "2")]
315 pub kind: i32,
316}
317#[derive(Clone, PartialEq, ::prost::Message)]
318pub struct DecimalValue {
319 #[prost(string, tag = "1")]
321 pub coeff: ::prost::alloc::string::String,
322 #[prost(uint32, tag = "2")]
323 pub scale: u32,
324 #[prost(uint32, tag = "3")]
325 pub orig_scale: u32,
326 #[prost(string, tag = "4")]
327 pub orig_repr: ::prost::alloc::string::String,
328}
329#[derive(Clone, PartialEq, ::prost::Message)]
330pub struct BytesValue {
331 #[prost(bytes = "vec", tag = "1")]
332 pub value: ::prost::alloc::vec::Vec<u8>,
333 #[prost(enumeration = "BytesKind", tag = "2")]
334 pub kind: i32,
335}
336#[derive(Clone, PartialEq, ::prost::Message)]
337pub struct ListValue {
338 #[prost(message, repeated, tag = "1")]
339 pub values: ::prost::alloc::vec::Vec<Value>,
340}
341#[derive(Clone, PartialEq, ::prost::Message)]
342pub struct MapEntry {
343 #[prost(string, tag = "1")]
344 pub key: ::prost::alloc::string::String,
345 #[prost(message, optional, tag = "2")]
346 pub value: ::core::option::Option<Value>,
347}
348#[derive(Clone, PartialEq, ::prost::Message)]
349pub struct MapValue {
350 #[prost(message, repeated, tag = "1")]
351 pub entries: ::prost::alloc::vec::Vec<MapEntry>,
352}
353#[derive(Clone, PartialEq, ::prost::Message)]
354pub struct NodeValue {
355 #[prost(uint64, tag = "1")]
356 pub id: u64,
357 #[prost(string, repeated, tag = "2")]
358 pub labels: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
359 #[prost(message, repeated, tag = "3")]
360 pub properties: ::prost::alloc::vec::Vec<MapEntry>,
361}
362#[derive(Clone, PartialEq, ::prost::Message)]
363pub struct EdgeValue {
364 #[prost(uint64, tag = "1")]
365 pub id: u64,
366 #[prost(uint64, tag = "2")]
367 pub from_id: u64,
368 #[prost(uint64, tag = "3")]
369 pub to_id: u64,
370 #[prost(string, tag = "4")]
371 pub label: ::prost::alloc::string::String,
372 #[prost(message, repeated, tag = "5")]
373 pub properties: ::prost::alloc::vec::Vec<MapEntry>,
374}
375#[derive(Clone, PartialEq, ::prost::Message)]
376pub struct PathValue {
377 #[prost(message, repeated, tag = "1")]
378 pub nodes: ::prost::alloc::vec::Vec<NodeValue>,
379 #[prost(message, repeated, tag = "2")]
380 pub edges: ::prost::alloc::vec::Vec<EdgeValue>,
381}
382#[derive(Clone, PartialEq, ::prost::Message)]
383pub struct ExtendedValue {
384 #[prost(string, tag = "1")]
385 pub type_name: ::prost::alloc::string::String,
386 #[prost(oneof = "extended_value::Data", tags = "2, 3, 4, 5, 6")]
387 pub data: ::core::option::Option<extended_value::Data>,
388}
389pub mod extended_value {
391 #[derive(Clone, PartialEq, ::prost::Oneof)]
392 pub enum Data {
393 #[prost(string, tag = "2")]
394 Text(::prost::alloc::string::String),
395 #[prost(bytes, tag = "3")]
396 Bytes(::prost::alloc::vec::Vec<u8>),
397 #[prost(int64, tag = "4")]
398 IntVal(i64),
399 #[prost(double, tag = "5")]
400 DoubleVal(f64),
401 #[prost(bool, tag = "6")]
402 BoolVal(bool),
403 }
404}
405#[derive(Clone, PartialEq, ::prost::Message)]
406pub struct Error {
407 #[prost(string, tag = "1")]
408 pub code: ::prost::alloc::string::String,
409 #[prost(string, tag = "2")]
410 pub message: ::prost::alloc::string::String,
411 #[prost(string, tag = "3")]
413 pub r#type: ::prost::alloc::string::String,
414 #[prost(string, tag = "4")]
415 pub anchor: ::prost::alloc::string::String,
416}
417#[derive(Clone, Copy, PartialEq, ::prost::Message)]
418pub struct ExecutionMetrics {
419 #[prost(int64, tag = "1")]
420 pub parse_duration_ns: i64,
421 #[prost(int64, tag = "2")]
422 pub plan_duration_ns: i64,
423 #[prost(int64, tag = "3")]
424 pub execute_duration_ns: i64,
425 #[prost(int64, tag = "4")]
426 pub total_duration_ns: i64,
427}
428#[derive(Clone, PartialEq, ::prost::Message)]
429pub struct ExplainOp {
430 #[prost(uint32, tag = "1")]
431 pub idx: u32,
432 #[prost(string, tag = "2")]
433 pub kind: ::prost::alloc::string::String,
434 #[prost(int64, tag = "3")]
435 pub est_rows: i64,
436 #[prost(int64, tag = "4")]
437 pub cost: i64,
438}
439#[derive(Clone, Copy, PartialEq, ::prost::Message)]
440pub struct ExplainTotals {
441 #[prost(int64, tag = "1")]
442 pub est_rows: i64,
443 #[prost(int64, tag = "2")]
444 pub cost: i64,
445}
446#[derive(Clone, PartialEq, ::prost::Message)]
447pub struct ExplainProperties {
448 #[prost(bool, tag = "1")]
449 pub ordered: bool,
450 #[prost(uint64, tag = "2")]
451 pub limit: u64,
452 #[prost(uint64, tag = "3")]
453 pub offset: u64,
454 #[prost(bool, tag = "4")]
455 pub distinct: bool,
456 #[prost(string, tag = "5")]
457 pub union_mode: ::prost::alloc::string::String,
458 #[prost(uint32, tag = "6")]
459 pub union_part_count: u32,
460}
461#[derive(Clone, Copy, PartialEq, ::prost::Message)]
462pub struct ExplainCalibrationEntry {
463 #[prost(uint32, tag = "1")]
464 pub idx: u32,
465 #[prost(double, tag = "2")]
466 pub est_rows: f64,
467 #[prost(double, tag = "3")]
468 pub actual_rows: f64,
469}
470#[derive(Clone, PartialEq, ::prost::Message)]
471pub struct ExplainCalibration {
472 #[prost(double, tag = "1")]
473 pub mape: f64,
474 #[prost(message, repeated, tag = "2")]
475 pub entries: ::prost::alloc::vec::Vec<ExplainCalibrationEntry>,
476}
477#[derive(Clone, PartialEq, ::prost::Message)]
478pub struct ExplainPayload {
479 #[prost(string, tag = "1")]
480 pub schema: ::prost::alloc::string::String,
481 #[prost(message, repeated, tag = "2")]
482 pub ops: ::prost::alloc::vec::Vec<ExplainOp>,
483 #[prost(message, optional, tag = "3")]
484 pub totals: ::core::option::Option<ExplainTotals>,
485 #[prost(message, optional, tag = "4")]
486 pub properties: ::core::option::Option<ExplainProperties>,
487 #[prost(message, optional, tag = "5")]
488 pub calibration: ::core::option::Option<ExplainCalibration>,
489 #[prost(uint32, tag = "6")]
490 pub profile_version: u32,
491}
492#[derive(Clone, PartialEq, ::prost::Message)]
493pub struct ProfileOp {
494 #[prost(string, tag = "1")]
495 pub op: ::prost::alloc::string::String,
496 #[prost(string, tag = "2")]
497 pub phase: ::prost::alloc::string::String,
498 #[prost(uint32, tag = "3")]
499 pub id: u32,
500 #[prost(uint32, tag = "4")]
501 pub op_index: u32,
502 #[prost(uint64, tag = "5")]
503 pub input_rows: u64,
504 #[prost(uint64, tag = "6")]
505 pub rows: u64,
506 #[prost(uint64, tag = "7")]
507 pub time_ns: u64,
508 #[prost(uint64, tag = "8")]
509 pub cpu_time_ns: u64,
510 #[prost(uint64, tag = "9")]
511 pub bytes_out: u64,
512 #[prost(uint64, tag = "10")]
513 pub bytes_alloc: u64,
514 #[prost(uint64, tag = "11")]
515 pub estimate_bytes: u64,
516 #[prost(uint64, tag = "12")]
517 pub estimate_vs_actual: u64,
518 #[prost(uint64, tag = "13")]
519 pub percent_peak: u64,
520 #[prost(uint64, tag = "14")]
521 pub percent_net: u64,
522 #[prost(uint64, tag = "15")]
523 pub cumulative_time_ns: u64,
524 #[prost(uint64, tag = "16")]
525 pub freed_bytes: u64,
526 #[prost(uint64, tag = "17")]
527 pub net_after_op: u64,
528 #[prost(uint64, tag = "18")]
529 pub error_bytes: u64,
530 #[prost(uint64, tag = "19")]
531 pub error_abs_pct: u64,
532 #[prost(string, tag = "20")]
533 pub index_name: ::prost::alloc::string::String,
534 #[prost(double, tag = "21")]
535 pub selectivity_est: f64,
536}
537#[derive(Clone, PartialEq, ::prost::Message)]
538pub struct ProfilePeakContributor {
539 #[prost(string, tag = "1")]
540 pub op: ::prost::alloc::string::String,
541 #[prost(uint64, tag = "2")]
542 pub bytes_alloc: u64,
543}
544#[derive(Clone, Copy, PartialEq, ::prost::Message)]
545pub struct ProfileTotals {
546 #[prost(uint64, tag = "1")]
547 pub time_ns: u64,
548 #[prost(uint64, tag = "2")]
549 pub peak_bytes: u64,
550}
551#[derive(Clone, PartialEq, ::prost::Message)]
552pub struct ProfileSpills {
553 #[prost(uint64, tag = "1")]
554 pub sort_spills: u64,
555 #[prost(uint64, tag = "2")]
556 pub distinct_spills: u64,
557 #[prost(uint64, tag = "3")]
558 pub union_spills: u64,
559 #[prost(string, tag = "4")]
560 pub spill_reason: ::prost::alloc::string::String,
561 #[prost(uint64, tag = "5")]
562 pub peak_bytes_at_spill: u64,
563 #[prost(uint32, tag = "6")]
564 pub first_spill_op_index: u32,
565}
566#[derive(Clone, Copy, PartialEq, ::prost::Message)]
567pub struct ProfileMemory {
568 #[prost(uint64, tag = "1")]
569 pub net_bytes: u64,
570 #[prost(uint64, tag = "2")]
571 pub peak_bytes: u64,
572 #[prost(uint64, tag = "3")]
573 pub total_alloc_bytes: u64,
574}
575#[derive(Clone, Copy, PartialEq, ::prost::Message)]
576pub struct ProfilePlannerEstimates {
577 #[prost(uint64, tag = "1")]
578 pub sum_estimate_bytes: u64,
579 #[prost(uint64, tag = "2")]
580 pub sum_actual_bytes: u64,
581 #[prost(uint32, tag = "3")]
582 pub count_estimated_ops: u32,
583 #[prost(double, tag = "4")]
584 pub min_error_abs_pct: f64,
585 #[prost(double, tag = "5")]
586 pub max_error_abs_pct: f64,
587 #[prost(double, tag = "6")]
588 pub mean_error_abs_pct: f64,
589 #[prost(double, tag = "7")]
590 pub median_error_abs_pct: f64,
591 #[prost(double, tag = "8")]
592 pub stddev_error_abs_pct: f64,
593 #[prost(double, tag = "9")]
594 pub adjusted_estimate_factor: f64,
595}
596#[derive(Clone, Copy, PartialEq, ::prost::Message)]
597pub struct ProfileMemCurvePoint {
598 #[prost(uint32, tag = "1")]
599 pub op_index: u32,
600 #[prost(uint64, tag = "2")]
601 pub net_after_op: u64,
602}
603#[derive(Clone, PartialEq, ::prost::Message)]
604pub struct ProfileSetOp {
605 #[prost(string, tag = "1")]
606 pub r#type: ::prost::alloc::string::String,
607 #[prost(string, tag = "2")]
608 pub mode: ::prost::alloc::string::String,
609 #[prost(uint64, tag = "3")]
610 pub input_rows: u64,
611 #[prost(uint64, tag = "4")]
612 pub output_rows: u64,
613 #[prost(uint64, tag = "5")]
614 pub hash_dedup_size: u64,
615 #[prost(uint64, tag = "6")]
616 pub distinct_fill_pct: u64,
617}
618#[derive(Clone, PartialEq, ::prost::Message)]
619pub struct ProfilePayload {
620 #[prost(uint32, tag = "1")]
621 pub profile_version: u32,
622 #[prost(message, repeated, tag = "2")]
623 pub ops: ::prost::alloc::vec::Vec<ProfileOp>,
624 #[prost(message, repeated, tag = "3")]
625 pub peak_contributors: ::prost::alloc::vec::Vec<ProfilePeakContributor>,
626 #[prost(message, optional, tag = "4")]
627 pub totals: ::core::option::Option<ProfileTotals>,
628 #[prost(uint64, tag = "5")]
629 pub total_time_ns: u64,
630 #[prost(message, optional, tag = "6")]
631 pub spills: ::core::option::Option<ProfileSpills>,
632 #[prost(message, optional, tag = "7")]
633 pub memory: ::core::option::Option<ProfileMemory>,
634 #[prost(message, optional, tag = "8")]
635 pub planner_estimates: ::core::option::Option<ProfilePlannerEstimates>,
636 #[prost(message, repeated, tag = "9")]
637 pub mem_curve: ::prost::alloc::vec::Vec<ProfileMemCurvePoint>,
638 #[prost(message, optional, tag = "10")]
639 pub setop: ::core::option::Option<ProfileSetOp>,
640 #[prost(uint64, tag = "11")]
641 pub hashagg_spills: u64,
642 #[prost(string, tag = "12")]
643 pub hashagg_spill_reason: ::prost::alloc::string::String,
644 #[prost(uint64, tag = "13")]
645 pub committed_txns: u64,
646 #[prost(uint64, tag = "14")]
647 pub graph_store_nodes: u64,
648 #[prost(uint64, tag = "15")]
649 pub graph_store_edges: u64,
650 #[prost(bool, tag = "16")]
651 pub graph_store_dirty: bool,
652 #[prost(string, repeated, tag = "17")]
653 pub flagger_findings: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
654 #[prost(bool, tag = "18")]
655 pub compact: bool,
656}
657#[derive(Clone, Copy, PartialEq, ::prost::Message)]
658pub struct Heartbeat {}
659#[derive(Clone, Copy, PartialEq, ::prost::Message)]
663pub struct PingRequest {}
664#[derive(Clone, Copy, PartialEq, ::prost::Message)]
665pub struct PingResponse {
666 #[prost(bool, tag = "1")]
667 pub ok: bool,
668}
669#[derive(Clone, PartialEq, ::prost::Message)]
673pub struct BeginRequest {
674 #[prost(bool, tag = "1")]
675 pub read_only: bool,
676 #[prost(string, tag = "2")]
678 pub session_id: ::prost::alloc::string::String,
679}
680#[derive(Clone, PartialEq, ::prost::Message)]
681pub struct BeginResponse {
682 #[prost(string, tag = "1")]
683 pub session_id: ::prost::alloc::string::String,
684 #[prost(string, tag = "2")]
685 pub tx_id: ::prost::alloc::string::String,
686}
687#[derive(Clone, PartialEq, ::prost::Message)]
688pub struct CommitRequest {
689 #[prost(string, tag = "1")]
691 pub session_id: ::prost::alloc::string::String,
692}
693#[derive(Clone, Copy, PartialEq, ::prost::Message)]
694pub struct CommitResponse {
695 #[prost(bool, tag = "1")]
696 pub success: bool,
697}
698#[derive(Clone, PartialEq, ::prost::Message)]
699pub struct RollbackRequest {
700 #[prost(string, tag = "1")]
702 pub session_id: ::prost::alloc::string::String,
703}
704#[derive(Clone, Copy, PartialEq, ::prost::Message)]
705pub struct RollbackResponse {
706 #[prost(bool, tag = "1")]
707 pub success: bool,
708}
709#[derive(Clone, PartialEq, ::prost::Message)]
710pub struct SavepointRequest {
711 #[prost(string, tag = "1")]
712 pub name: ::prost::alloc::string::String,
713 #[prost(string, tag = "2")]
715 pub session_id: ::prost::alloc::string::String,
716}
717#[derive(Clone, Copy, PartialEq, ::prost::Message)]
718pub struct SavepointResponse {
719 #[prost(bool, tag = "1")]
720 pub success: bool,
721}
722#[derive(Clone, PartialEq, ::prost::Message)]
723pub struct RollbackToRequest {
724 #[prost(string, tag = "1")]
725 pub name: ::prost::alloc::string::String,
726 #[prost(string, tag = "2")]
728 pub session_id: ::prost::alloc::string::String,
729}
730#[derive(Clone, Copy, PartialEq, ::prost::Message)]
731pub struct RollbackToResponse {
732 #[prost(bool, tag = "1")]
733 pub success: bool,
734}
735#[derive(Clone, Copy, PartialEq, ::prost::Message)]
739pub struct CdcDiagnosticsRequest {}
740#[derive(Clone, Copy, PartialEq, ::prost::Message)]
741pub struct CdcDiagnosticsConfig {
742 #[prost(bool, tag = "1")]
743 pub enabled: bool,
744 #[prost(uint64, tag = "2")]
745 pub malformed_snapshot_interval: u64,
746 #[prost(uint32, tag = "3")]
747 pub malformed_hash_retain: u32,
748 #[prost(double, tag = "4")]
749 pub malformed_warn_pct: f64,
750 #[prost(double, tag = "5")]
751 pub malformed_abort_pct: f64,
752 #[prost(uint32, tag = "6")]
753 pub flush_interval_ms: u32,
754 #[prost(uint32, tag = "7")]
755 pub batch_size: u32,
756 #[prost(uint64, tag = "8")]
757 pub pending_backpressure_watermark: u64,
758}
759#[derive(Clone, Copy, PartialEq, ::prost::Message)]
760pub struct CdcDiagnosticsEngine {
761 #[prost(bool, tag = "1")]
762 pub is_running: bool,
763 #[prost(int64, tag = "2")]
764 pub last_flush_ms: i64,
765 #[prost(uint64, tag = "3")]
766 pub peak_buffer: u64,
767 #[prost(uint64, tag = "4")]
768 pub current_buffer: u64,
769 #[prost(uint32, tag = "5")]
770 pub dynamic_batch_size: u32,
771 #[prost(uint32, tag = "6")]
772 pub batch_adjustments: u32,
773}
774#[derive(Clone, Copy, PartialEq, ::prost::Message)]
775pub struct CdcMalformedSnapshot {
776 #[prost(uint64, tag = "1")]
777 pub count: u64,
778 #[prost(int64, tag = "2")]
779 pub ts_ms: i64,
780}
781#[derive(Clone, PartialEq, ::prost::Message)]
782pub struct CdcMalformedHash {
783 #[prost(uint64, tag = "1")]
784 pub count: u64,
785 #[prost(uint64, tag = "2")]
786 pub hash: u64,
787 #[prost(int64, tag = "3")]
788 pub ts_ms: i64,
789 #[prost(string, tag = "4")]
790 pub prefix_hex: ::prost::alloc::string::String,
791}
792#[derive(Clone, PartialEq, ::prost::Message)]
793pub struct CdcDiagnosticsResponse {
794 #[prost(uint64, tag = "1")]
795 pub malformed_change_records: u64,
796 #[prost(uint64, tag = "2")]
797 pub total_change_attempts: u64,
798 #[prost(double, tag = "3")]
799 pub malformed_ratio: f64,
800 #[prost(bool, tag = "4")]
801 pub guardrail_warn_triggered: bool,
802 #[prost(bool, tag = "5")]
803 pub guardrail_abort_triggered: bool,
804 #[prost(int64, tag = "6")]
805 pub first_warn_ts_ms: i64,
806 #[prost(int64, tag = "7")]
807 pub first_abort_ts_ms: i64,
808 #[prost(uint64, tag = "8")]
809 pub guardrail_epoch: u64,
810 #[prost(int64, tag = "9")]
811 pub uptime_ms: i64,
812 #[prost(bool, tag = "10")]
813 pub backpressure: bool,
814 #[prost(message, optional, tag = "11")]
815 pub config: ::core::option::Option<CdcDiagnosticsConfig>,
816 #[prost(message, optional, tag = "12")]
817 pub engine: ::core::option::Option<CdcDiagnosticsEngine>,
818 #[prost(message, repeated, tag = "13")]
819 pub malformed_snapshots: ::prost::alloc::vec::Vec<CdcMalformedSnapshot>,
820 #[prost(message, repeated, tag = "14")]
821 pub malformed_hashes: ::prost::alloc::vec::Vec<CdcMalformedHash>,
822 #[prost(string, tag = "15")]
823 pub version: ::prost::alloc::string::String,
824 #[prost(int64, tag = "16")]
825 pub timestamp_ms: i64,
826}
827#[derive(Clone, PartialEq, ::prost::Message)]
828pub struct CdcControlRequest {
829 #[prost(string, tag = "1")]
830 pub action: ::prost::alloc::string::String,
831}
832#[derive(Clone, PartialEq, ::prost::Message)]
833pub struct CdcControlResponse {
834 #[prost(bool, tag = "1")]
835 pub success: bool,
836 #[prost(string, tag = "2")]
837 pub status: ::prost::alloc::string::String,
838 #[prost(uint64, tag = "3")]
839 pub guardrail_epoch: u64,
840}
841#[derive(Clone, PartialEq, ::prost::Message)]
845pub struct BackupRequest {
846 #[prost(string, tag = "1")]
848 pub backup_type: ::prost::alloc::string::String,
849 #[prost(bool, tag = "3")]
850 pub compress: bool,
851}
852#[derive(Clone, PartialEq, ::prost::Message)]
853pub struct BackupResponse {
854 #[prost(bool, tag = "1")]
855 pub success: bool,
856 #[prost(string, tag = "2")]
857 pub message: ::prost::alloc::string::String,
858 #[prost(string, tag = "3")]
859 pub backup_id: ::prost::alloc::string::String,
860 #[prost(string, tag = "4")]
861 pub backup_type: ::prost::alloc::string::String,
862 #[prost(uint64, tag = "5")]
863 pub size_bytes: u64,
864 #[prost(string, tag = "6")]
865 pub compression: ::prost::alloc::string::String,
866 #[prost(string, tag = "7")]
867 pub checksum: ::prost::alloc::string::String,
868}
869#[derive(Clone, PartialEq, ::prost::Message)]
870pub struct RestoreRequest {
871 #[prost(string, tag = "1")]
872 pub target_time: ::prost::alloc::string::String,
873 #[prost(bool, tag = "2")]
874 pub confirm: bool,
875}
876#[derive(Clone, PartialEq, ::prost::Message)]
877pub struct RestoreResponse {
878 #[prost(bool, tag = "1")]
879 pub success: bool,
880 #[prost(string, tag = "2")]
881 pub message: ::prost::alloc::string::String,
882 #[prost(string, tag = "3")]
883 pub restore_dir: ::prost::alloc::string::String,
884 #[prost(string, tag = "4")]
885 pub target_time: ::prost::alloc::string::String,
886 #[prost(uint64, tag = "5")]
887 pub restore_timestamp: u64,
888}
889#[derive(Clone, PartialEq, ::prost::Message)]
890pub struct UploadBackupRequest {
891 #[prost(uint64, tag = "1")]
892 pub size_bytes: u64,
893 #[prost(string, tag = "2")]
894 pub checksum: ::prost::alloc::string::String,
895}
896#[derive(Clone, PartialEq, ::prost::Message)]
897pub struct UploadBackupResponse {
898 #[prost(bool, tag = "1")]
899 pub success: bool,
900 #[prost(string, tag = "2")]
901 pub message: ::prost::alloc::string::String,
902 #[prost(string, tag = "3")]
903 pub upload_path: ::prost::alloc::string::String,
904}
905#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
906#[repr(i32)]
907pub enum IntKind {
908 Unspecified = 0,
909 Int = 1,
910 Smallint = 2,
911 Bigint = 3,
912}
913impl IntKind {
914 pub fn as_str_name(&self) -> &'static str {
919 match self {
920 Self::Unspecified => "INT_KIND_UNSPECIFIED",
921 Self::Int => "INT",
922 Self::Smallint => "SMALLINT",
923 Self::Bigint => "BIGINT",
924 }
925 }
926 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
928 match value {
929 "INT_KIND_UNSPECIFIED" => Some(Self::Unspecified),
930 "INT" => Some(Self::Int),
931 "SMALLINT" => Some(Self::Smallint),
932 "BIGINT" => Some(Self::Bigint),
933 _ => None,
934 }
935 }
936}
937#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
938#[repr(i32)]
939pub enum FloatKind {
940 Unspecified = 0,
941 Double = 1,
942 Real = 2,
943}
944impl FloatKind {
945 pub fn as_str_name(&self) -> &'static str {
950 match self {
951 Self::Unspecified => "FLOAT_KIND_UNSPECIFIED",
952 Self::Double => "DOUBLE",
953 Self::Real => "REAL",
954 }
955 }
956 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
958 match value {
959 "FLOAT_KIND_UNSPECIFIED" => Some(Self::Unspecified),
960 "DOUBLE" => Some(Self::Double),
961 "REAL" => Some(Self::Real),
962 _ => None,
963 }
964 }
965}
966#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
967#[repr(i32)]
968pub enum StringKind {
969 Unspecified = 0,
970 String = 1,
971 Char = 2,
972 Varchar = 3,
973 Text = 4,
974}
975impl StringKind {
976 pub fn as_str_name(&self) -> &'static str {
981 match self {
982 Self::Unspecified => "STRING_KIND_UNSPECIFIED",
983 Self::String => "STRING",
984 Self::Char => "CHAR",
985 Self::Varchar => "VARCHAR",
986 Self::Text => "TEXT",
987 }
988 }
989 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
991 match value {
992 "STRING_KIND_UNSPECIFIED" => Some(Self::Unspecified),
993 "STRING" => Some(Self::String),
994 "CHAR" => Some(Self::Char),
995 "VARCHAR" => Some(Self::Varchar),
996 "TEXT" => Some(Self::Text),
997 _ => None,
998 }
999 }
1000}
1001#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1002#[repr(i32)]
1003pub enum BytesKind {
1004 Unspecified = 0,
1005 Bytea = 1,
1006 Raw = 2,
1007}
1008impl BytesKind {
1009 pub fn as_str_name(&self) -> &'static str {
1014 match self {
1015 Self::Unspecified => "BYTES_KIND_UNSPECIFIED",
1016 Self::Bytea => "BYTEA",
1017 Self::Raw => "RAW",
1018 }
1019 }
1020 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1022 match value {
1023 "BYTES_KIND_UNSPECIFIED" => Some(Self::Unspecified),
1024 "BYTEA" => Some(Self::Bytea),
1025 "RAW" => Some(Self::Raw),
1026 _ => None,
1027 }
1028 }
1029}
1030pub mod geode_service_client {
1032 #![allow(
1033 unused_variables,
1034 dead_code,
1035 missing_docs,
1036 clippy::wildcard_imports,
1037 clippy::let_unit_value
1038 )]
1039 use tonic::codegen::http::Uri;
1040 use tonic::codegen::*;
1041 #[derive(Debug, Clone)]
1043 pub struct GeodeServiceClient<T> {
1044 inner: tonic::client::Grpc<T>,
1045 }
1046 impl GeodeServiceClient<tonic::transport::Channel> {
1047 pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
1049 where
1050 D: TryInto<tonic::transport::Endpoint>,
1051 D::Error: Into<StdError>,
1052 {
1053 let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
1054 Ok(Self::new(conn))
1055 }
1056 }
1057 impl<T> GeodeServiceClient<T>
1058 where
1059 T: tonic::client::GrpcService<tonic::body::BoxBody>,
1060 T::Error: Into<StdError>,
1061 T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
1062 <T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
1063 {
1064 pub fn new(inner: T) -> Self {
1065 let inner = tonic::client::Grpc::new(inner);
1066 Self { inner }
1067 }
1068 pub fn with_origin(inner: T, origin: Uri) -> Self {
1069 let inner = tonic::client::Grpc::with_origin(inner, origin);
1070 Self { inner }
1071 }
1072 pub fn with_interceptor<F>(
1073 inner: T,
1074 interceptor: F,
1075 ) -> GeodeServiceClient<InterceptedService<T, F>>
1076 where
1077 F: tonic::service::Interceptor,
1078 T::ResponseBody: Default,
1079 T: tonic::codegen::Service<
1080 http::Request<tonic::body::BoxBody>,
1081 Response = http::Response<
1082 <T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
1083 >,
1084 >,
1085 <T as tonic::codegen::Service<http::Request<tonic::body::BoxBody>>>::Error:
1086 Into<StdError> + std::marker::Send + std::marker::Sync,
1087 {
1088 GeodeServiceClient::new(InterceptedService::new(inner, interceptor))
1089 }
1090 #[must_use]
1095 pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
1096 self.inner = self.inner.send_compressed(encoding);
1097 self
1098 }
1099 #[must_use]
1101 pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
1102 self.inner = self.inner.accept_compressed(encoding);
1103 self
1104 }
1105 #[must_use]
1109 pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
1110 self.inner = self.inner.max_decoding_message_size(limit);
1111 self
1112 }
1113 #[must_use]
1117 pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
1118 self.inner = self.inner.max_encoding_message_size(limit);
1119 self
1120 }
1121 pub async fn handshake(
1122 &mut self,
1123 request: impl tonic::IntoRequest<super::HelloRequest>,
1124 ) -> std::result::Result<tonic::Response<super::HelloResponse>, tonic::Status> {
1125 self.inner.ready().await.map_err(|e| {
1126 tonic::Status::unknown(format!("Service was not ready: {}", e.into()))
1127 })?;
1128 let codec = tonic::codec::ProstCodec::default();
1129 let path = http::uri::PathAndQuery::from_static("/geode.GeodeService/Handshake");
1130 let mut req = request.into_request();
1131 req.extensions_mut()
1132 .insert(GrpcMethod::new("geode.GeodeService", "Handshake"));
1133 self.inner.unary(req, path, codec).await
1134 }
1135 pub async fn execute(
1136 &mut self,
1137 request: impl tonic::IntoRequest<super::ExecuteRequest>,
1138 ) -> std::result::Result<
1139 tonic::Response<tonic::codec::Streaming<super::ExecutionResponse>>,
1140 tonic::Status,
1141 > {
1142 self.inner.ready().await.map_err(|e| {
1143 tonic::Status::unknown(format!("Service was not ready: {}", e.into()))
1144 })?;
1145 let codec = tonic::codec::ProstCodec::default();
1146 let path = http::uri::PathAndQuery::from_static("/geode.GeodeService/Execute");
1147 let mut req = request.into_request();
1148 req.extensions_mut()
1149 .insert(GrpcMethod::new("geode.GeodeService", "Execute"));
1150 self.inner.server_streaming(req, path, codec).await
1151 }
1152 pub async fn ping(
1153 &mut self,
1154 request: impl tonic::IntoRequest<super::PingRequest>,
1155 ) -> std::result::Result<tonic::Response<super::PingResponse>, tonic::Status> {
1156 self.inner.ready().await.map_err(|e| {
1157 tonic::Status::unknown(format!("Service was not ready: {}", e.into()))
1158 })?;
1159 let codec = tonic::codec::ProstCodec::default();
1160 let path = http::uri::PathAndQuery::from_static("/geode.GeodeService/Ping");
1161 let mut req = request.into_request();
1162 req.extensions_mut()
1163 .insert(GrpcMethod::new("geode.GeodeService", "Ping"));
1164 self.inner.unary(req, path, codec).await
1165 }
1166 pub async fn begin(
1167 &mut self,
1168 request: impl tonic::IntoRequest<super::BeginRequest>,
1169 ) -> std::result::Result<tonic::Response<super::BeginResponse>, tonic::Status> {
1170 self.inner.ready().await.map_err(|e| {
1171 tonic::Status::unknown(format!("Service was not ready: {}", e.into()))
1172 })?;
1173 let codec = tonic::codec::ProstCodec::default();
1174 let path = http::uri::PathAndQuery::from_static("/geode.GeodeService/Begin");
1175 let mut req = request.into_request();
1176 req.extensions_mut()
1177 .insert(GrpcMethod::new("geode.GeodeService", "Begin"));
1178 self.inner.unary(req, path, codec).await
1179 }
1180 pub async fn commit(
1181 &mut self,
1182 request: impl tonic::IntoRequest<super::CommitRequest>,
1183 ) -> std::result::Result<tonic::Response<super::CommitResponse>, tonic::Status> {
1184 self.inner.ready().await.map_err(|e| {
1185 tonic::Status::unknown(format!("Service was not ready: {}", e.into()))
1186 })?;
1187 let codec = tonic::codec::ProstCodec::default();
1188 let path = http::uri::PathAndQuery::from_static("/geode.GeodeService/Commit");
1189 let mut req = request.into_request();
1190 req.extensions_mut()
1191 .insert(GrpcMethod::new("geode.GeodeService", "Commit"));
1192 self.inner.unary(req, path, codec).await
1193 }
1194 pub async fn rollback(
1195 &mut self,
1196 request: impl tonic::IntoRequest<super::RollbackRequest>,
1197 ) -> std::result::Result<tonic::Response<super::RollbackResponse>, tonic::Status> {
1198 self.inner.ready().await.map_err(|e| {
1199 tonic::Status::unknown(format!("Service was not ready: {}", e.into()))
1200 })?;
1201 let codec = tonic::codec::ProstCodec::default();
1202 let path = http::uri::PathAndQuery::from_static("/geode.GeodeService/Rollback");
1203 let mut req = request.into_request();
1204 req.extensions_mut()
1205 .insert(GrpcMethod::new("geode.GeodeService", "Rollback"));
1206 self.inner.unary(req, path, codec).await
1207 }
1208 pub async fn get_cdc_diagnostics(
1209 &mut self,
1210 request: impl tonic::IntoRequest<super::CdcDiagnosticsRequest>,
1211 ) -> std::result::Result<tonic::Response<super::CdcDiagnosticsResponse>, tonic::Status>
1212 {
1213 self.inner.ready().await.map_err(|e| {
1214 tonic::Status::unknown(format!("Service was not ready: {}", e.into()))
1215 })?;
1216 let codec = tonic::codec::ProstCodec::default();
1217 let path =
1218 http::uri::PathAndQuery::from_static("/geode.GeodeService/GetCdcDiagnostics");
1219 let mut req = request.into_request();
1220 req.extensions_mut()
1221 .insert(GrpcMethod::new("geode.GeodeService", "GetCdcDiagnostics"));
1222 self.inner.unary(req, path, codec).await
1223 }
1224 pub async fn control_cdc(
1225 &mut self,
1226 request: impl tonic::IntoRequest<super::CdcControlRequest>,
1227 ) -> std::result::Result<tonic::Response<super::CdcControlResponse>, tonic::Status>
1228 {
1229 self.inner.ready().await.map_err(|e| {
1230 tonic::Status::unknown(format!("Service was not ready: {}", e.into()))
1231 })?;
1232 let codec = tonic::codec::ProstCodec::default();
1233 let path = http::uri::PathAndQuery::from_static("/geode.GeodeService/ControlCdc");
1234 let mut req = request.into_request();
1235 req.extensions_mut()
1236 .insert(GrpcMethod::new("geode.GeodeService", "ControlCdc"));
1237 self.inner.unary(req, path, codec).await
1238 }
1239 }
1240}