Skip to main content

risingwave_pb/
common.rs

1// This file is @generated by prost-build.
2#[derive(prost_helpers::AnyPB)]
3#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4pub struct Status {
5    #[prost(enumeration = "status::Code", tag = "1")]
6    pub code: i32,
7    #[prost(string, tag = "2")]
8    pub message: ::prost::alloc::string::String,
9}
10/// Nested message and enum types in `Status`.
11pub mod status {
12    #[derive(prost_helpers::AnyPB)]
13    #[derive(
14        Clone,
15        Copy,
16        Debug,
17        PartialEq,
18        Eq,
19        Hash,
20        PartialOrd,
21        Ord,
22        ::prost::Enumeration
23    )]
24    #[repr(i32)]
25    pub enum Code {
26        Unspecified = 0,
27        Ok = 1,
28        UnknownWorker = 2,
29    }
30    impl Code {
31        /// String value of the enum field names used in the ProtoBuf definition.
32        ///
33        /// The values are not transformed in any way and thus are considered stable
34        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
35        pub fn as_str_name(&self) -> &'static str {
36            match self {
37                Self::Unspecified => "UNSPECIFIED",
38                Self::Ok => "OK",
39                Self::UnknownWorker => "UNKNOWN_WORKER",
40            }
41        }
42        /// Creates an enum from field names used in the ProtoBuf definition.
43        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
44            match value {
45                "UNSPECIFIED" => Some(Self::Unspecified),
46                "OK" => Some(Self::Ok),
47                "UNKNOWN_WORKER" => Some(Self::UnknownWorker),
48                _ => None,
49            }
50        }
51    }
52}
53#[derive(prost_helpers::AnyPB)]
54#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
55pub struct HostAddress {
56    #[prost(string, tag = "1")]
57    pub host: ::prost::alloc::string::String,
58    #[prost(int32, tag = "2")]
59    pub port: i32,
60}
61/// Encode which host machine an actor resides.
62#[derive(prost_helpers::AnyPB)]
63#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
64pub struct ActorInfo {
65    #[prost(uint32, tag = "1", wrapper = "crate::id::ActorId")]
66    pub actor_id: crate::id::ActorId,
67    #[prost(message, optional, tag = "2")]
68    pub host: ::core::option::Option<HostAddress>,
69    #[prost(uint64, tag = "3", wrapper = "crate::id::PartialGraphId")]
70    pub partial_graph_id: crate::id::PartialGraphId,
71}
72/// renamed from `ParallelUnit`
73#[derive(prost_helpers::AnyPB)]
74#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
75pub struct ActorLocation {
76    #[prost(uint32, tag = "2", wrapper = "crate::id::WorkerId")]
77    pub worker_node_id: crate::id::WorkerId,
78}
79#[derive(prost_helpers::AnyPB)]
80#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
81pub struct WorkerNode {
82    #[prost(uint32, tag = "1", wrapper = "crate::id::WorkerId")]
83    pub id: crate::id::WorkerId,
84    #[prost(enumeration = "WorkerType", tag = "2")]
85    pub r#type: i32,
86    #[prost(message, optional, tag = "3")]
87    pub host: ::core::option::Option<HostAddress>,
88    #[prost(enumeration = "worker_node::State", tag = "4")]
89    pub state: i32,
90    #[prost(message, optional, tag = "6")]
91    pub property: ::core::option::Option<worker_node::Property>,
92    /// Ranges from 0 to 1023, used to generate the machine ID field in the global unique ID.
93    #[prost(uint32, optional, tag = "7")]
94    pub transactional_id: ::core::option::Option<u32>,
95    /// Resource spec.
96    /// It's populated by meta node with the value reported by worker node and persisted in meta store.
97    #[prost(message, optional, tag = "8")]
98    pub resource: ::core::option::Option<worker_node::Resource>,
99    /// Timestamp the worker node is added by meta node, in seconds.
100    /// It's populated by meta node, when the worker node is added by meta node.
101    /// It's persisted in meta store.
102    #[prost(uint64, optional, tag = "9")]
103    pub started_at: ::core::option::Option<u64>,
104}
105/// Nested message and enum types in `WorkerNode`.
106pub mod worker_node {
107    /// Fields in `Property` that doesn't fit current worker type are just ignored by receiver.
108    #[derive(prost_helpers::AnyPB)]
109    #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
110    pub struct Property {
111        #[prost(bool, tag = "1")]
112        pub is_streaming: bool,
113        #[prost(bool, tag = "2")]
114        pub is_serving: bool,
115        /// This is used for frontend node to register its rpc address
116        #[prost(string, tag = "4")]
117        pub internal_rpc_host_addr: ::prost::alloc::string::String,
118        #[prost(uint32, tag = "6")]
119        pub parallelism: u32,
120        /// resource group for scheduling
121        #[prost(string, optional, tag = "7")]
122        pub resource_group: ::core::option::Option<::prost::alloc::string::String>,
123        /// Whether this is an iceberg compactor (only applicable for Compactor worker type)
124        #[prost(bool, tag = "8")]
125        pub is_iceberg_compactor: bool,
126    }
127    #[derive(prost_helpers::AnyPB)]
128    #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
129    pub struct Resource {
130        #[prost(string, tag = "1")]
131        pub rw_version: ::prost::alloc::string::String,
132        #[prost(uint64, tag = "2")]
133        pub total_memory_bytes: u64,
134        #[prost(uint64, tag = "3")]
135        pub total_cpu_cores: u64,
136        /// The host name reported by `gethostname()`.
137        /// Not to be confused with `host` field in `WorkerNode`.
138        #[prost(string, tag = "4")]
139        pub hostname: ::prost::alloc::string::String,
140    }
141    #[derive(prost_helpers::AnyPB)]
142    #[derive(
143        Clone,
144        Copy,
145        Debug,
146        PartialEq,
147        Eq,
148        Hash,
149        PartialOrd,
150        Ord,
151        ::prost::Enumeration
152    )]
153    #[repr(i32)]
154    pub enum State {
155        Unspecified = 0,
156        Starting = 1,
157        Running = 2,
158    }
159    impl State {
160        /// String value of the enum field names used in the ProtoBuf definition.
161        ///
162        /// The values are not transformed in any way and thus are considered stable
163        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
164        pub fn as_str_name(&self) -> &'static str {
165            match self {
166                Self::Unspecified => "UNSPECIFIED",
167                Self::Starting => "STARTING",
168                Self::Running => "RUNNING",
169            }
170        }
171        /// Creates an enum from field names used in the ProtoBuf definition.
172        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
173            match value {
174                "UNSPECIFIED" => Some(Self::Unspecified),
175                "STARTING" => Some(Self::Starting),
176                "RUNNING" => Some(Self::Running),
177                _ => None,
178            }
179        }
180    }
181}
182#[derive(prost_helpers::AnyPB)]
183#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
184pub struct ClusterResource {
185    #[prost(uint64, tag = "1")]
186    pub total_memory_bytes: u64,
187    #[prost(uint64, tag = "2")]
188    pub total_cpu_cores: u64,
189}
190#[derive(prost_helpers::AnyPB)]
191#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
192pub struct Buffer {
193    #[prost(enumeration = "buffer::CompressionType", tag = "1")]
194    pub compression: i32,
195    #[prost(bytes = "vec", tag = "2")]
196    pub body: ::prost::alloc::vec::Vec<u8>,
197}
198/// Nested message and enum types in `Buffer`.
199pub mod buffer {
200    #[derive(prost_helpers::AnyPB)]
201    #[derive(
202        Clone,
203        Copy,
204        Debug,
205        PartialEq,
206        Eq,
207        Hash,
208        PartialOrd,
209        Ord,
210        ::prost::Enumeration
211    )]
212    #[repr(i32)]
213    pub enum CompressionType {
214        Unspecified = 0,
215        None = 1,
216    }
217    impl CompressionType {
218        /// String value of the enum field names used in the ProtoBuf definition.
219        ///
220        /// The values are not transformed in any way and thus are considered stable
221        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
222        pub fn as_str_name(&self) -> &'static str {
223            match self {
224                Self::Unspecified => "UNSPECIFIED",
225                Self::None => "NONE",
226            }
227        }
228        /// Creates an enum from field names used in the ProtoBuf definition.
229        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
230            match value {
231                "UNSPECIFIED" => Some(Self::Unspecified),
232                "NONE" => Some(Self::None),
233                _ => None,
234            }
235        }
236    }
237}
238/// Vnode mapping for stream fragments. Stores mapping from virtual node to (worker id, slot index).
239#[derive(prost_helpers::AnyPB)]
240#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
241pub struct WorkerSlotMapping {
242    #[prost(uint32, repeated, tag = "1")]
243    pub original_indices: ::prost::alloc::vec::Vec<u32>,
244    #[prost(uint64, repeated, tag = "2")]
245    pub data: ::prost::alloc::vec::Vec<u64>,
246}
247#[derive(prost_helpers::AnyPB)]
248#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
249pub struct BatchQueryCommittedEpoch {
250    #[prost(uint64, tag = "1")]
251    pub epoch: u64,
252    #[prost(uint64, tag = "2", wrapper = "crate::id::HummockVersionId")]
253    pub hummock_version_id: crate::id::HummockVersionId,
254}
255#[derive(prost_helpers::AnyPB)]
256#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
257pub struct BatchQueryEpoch {
258    #[prost(oneof = "batch_query_epoch::Epoch", tags = "1, 2, 3, 4")]
259    pub epoch: ::core::option::Option<batch_query_epoch::Epoch>,
260}
261/// Nested message and enum types in `BatchQueryEpoch`.
262pub mod batch_query_epoch {
263    #[derive(prost_helpers::AnyPB)]
264    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
265    pub enum Epoch {
266        #[prost(message, tag = "1")]
267        Committed(super::BatchQueryCommittedEpoch),
268        #[prost(uint64, tag = "2")]
269        Current(u64),
270        #[prost(uint64, tag = "3")]
271        Backup(u64),
272        #[prost(uint64, tag = "4")]
273        TimeTravel(u64),
274    }
275}
276#[derive(prost_helpers::AnyPB)]
277#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
278pub struct OrderType {
279    #[prost(enumeration = "Direction", tag = "1")]
280    pub direction: i32,
281    #[prost(enumeration = "NullsAre", tag = "2")]
282    pub nulls_are: i32,
283}
284/// Column index with an order type (ASC or DESC). Used to represent a sort key (`repeated ColumnOrder`).
285#[derive(prost_helpers::AnyPB)]
286#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
287pub struct ColumnOrder {
288    #[prost(uint32, tag = "1")]
289    pub column_index: u32,
290    #[prost(message, optional, tag = "2")]
291    pub order_type: ::core::option::Option<OrderType>,
292}
293#[derive(prost_helpers::AnyPB)]
294#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
295pub struct Uint32Vector {
296    #[prost(uint32, repeated, tag = "1")]
297    pub data: ::prost::alloc::vec::Vec<u32>,
298}
299#[derive(prost_helpers::AnyPB)]
300#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
301pub struct OptionalUint32 {
302    #[prost(uint32, optional, tag = "1")]
303    pub value: ::core::option::Option<u32>,
304}
305#[derive(prost_helpers::AnyPB)]
306#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
307pub struct OptionalUint64 {
308    #[prost(uint64, optional, tag = "1")]
309    pub value: ::core::option::Option<u64>,
310}
311#[derive(prost_helpers::AnyPB)]
312#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
313#[repr(i32)]
314pub enum WorkerType {
315    Unspecified = 0,
316    Frontend = 1,
317    ComputeNode = 2,
318    RiseCtl = 3,
319    Compactor = 4,
320    Meta = 5,
321}
322impl WorkerType {
323    /// String value of the enum field names used in the ProtoBuf definition.
324    ///
325    /// The values are not transformed in any way and thus are considered stable
326    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
327    pub fn as_str_name(&self) -> &'static str {
328        match self {
329            Self::Unspecified => "WORKER_TYPE_UNSPECIFIED",
330            Self::Frontend => "WORKER_TYPE_FRONTEND",
331            Self::ComputeNode => "WORKER_TYPE_COMPUTE_NODE",
332            Self::RiseCtl => "WORKER_TYPE_RISE_CTL",
333            Self::Compactor => "WORKER_TYPE_COMPACTOR",
334            Self::Meta => "WORKER_TYPE_META",
335        }
336    }
337    /// Creates an enum from field names used in the ProtoBuf definition.
338    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
339        match value {
340            "WORKER_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
341            "WORKER_TYPE_FRONTEND" => Some(Self::Frontend),
342            "WORKER_TYPE_COMPUTE_NODE" => Some(Self::ComputeNode),
343            "WORKER_TYPE_RISE_CTL" => Some(Self::RiseCtl),
344            "WORKER_TYPE_COMPACTOR" => Some(Self::Compactor),
345            "WORKER_TYPE_META" => Some(Self::Meta),
346            _ => None,
347        }
348    }
349}
350#[derive(prost_helpers::AnyPB)]
351#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
352#[repr(i32)]
353pub enum Direction {
354    Unspecified = 0,
355    Ascending = 1,
356    Descending = 2,
357}
358impl Direction {
359    /// String value of the enum field names used in the ProtoBuf definition.
360    ///
361    /// The values are not transformed in any way and thus are considered stable
362    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
363    pub fn as_str_name(&self) -> &'static str {
364        match self {
365            Self::Unspecified => "DIRECTION_UNSPECIFIED",
366            Self::Ascending => "DIRECTION_ASCENDING",
367            Self::Descending => "DIRECTION_DESCENDING",
368        }
369    }
370    /// Creates an enum from field names used in the ProtoBuf definition.
371    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
372        match value {
373            "DIRECTION_UNSPECIFIED" => Some(Self::Unspecified),
374            "DIRECTION_ASCENDING" => Some(Self::Ascending),
375            "DIRECTION_DESCENDING" => Some(Self::Descending),
376            _ => None,
377        }
378    }
379}
380#[derive(prost_helpers::AnyPB)]
381#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
382#[repr(i32)]
383pub enum NullsAre {
384    Unspecified = 0,
385    Largest = 1,
386    Smallest = 2,
387}
388impl NullsAre {
389    /// String value of the enum field names used in the ProtoBuf definition.
390    ///
391    /// The values are not transformed in any way and thus are considered stable
392    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
393    pub fn as_str_name(&self) -> &'static str {
394        match self {
395            Self::Unspecified => "NULLS_ARE_UNSPECIFIED",
396            Self::Largest => "NULLS_ARE_LARGEST",
397            Self::Smallest => "NULLS_ARE_SMALLEST",
398        }
399    }
400    /// Creates an enum from field names used in the ProtoBuf definition.
401    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
402        match value {
403            "NULLS_ARE_UNSPECIFIED" => Some(Self::Unspecified),
404            "NULLS_ARE_LARGEST" => Some(Self::Largest),
405            "NULLS_ARE_SMALLEST" => Some(Self::Smallest),
406            _ => None,
407        }
408    }
409}
410#[derive(prost_helpers::AnyPB)]
411#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
412#[repr(i32)]
413pub enum ObjectType {
414    Unspecified = 0,
415    Database = 1,
416    Schema = 2,
417    Table = 3,
418    Mview = 4,
419    Source = 5,
420    Sink = 6,
421    View = 7,
422    Index = 8,
423    Function = 9,
424    Connection = 10,
425    Subscription = 11,
426    Secret = 12,
427}
428impl ObjectType {
429    /// String value of the enum field names used in the ProtoBuf definition.
430    ///
431    /// The values are not transformed in any way and thus are considered stable
432    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
433    pub fn as_str_name(&self) -> &'static str {
434        match self {
435            Self::Unspecified => "UNSPECIFIED",
436            Self::Database => "DATABASE",
437            Self::Schema => "SCHEMA",
438            Self::Table => "TABLE",
439            Self::Mview => "MVIEW",
440            Self::Source => "SOURCE",
441            Self::Sink => "SINK",
442            Self::View => "VIEW",
443            Self::Index => "INDEX",
444            Self::Function => "FUNCTION",
445            Self::Connection => "CONNECTION",
446            Self::Subscription => "SUBSCRIPTION",
447            Self::Secret => "SECRET",
448        }
449    }
450    /// Creates an enum from field names used in the ProtoBuf definition.
451    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
452        match value {
453            "UNSPECIFIED" => Some(Self::Unspecified),
454            "DATABASE" => Some(Self::Database),
455            "SCHEMA" => Some(Self::Schema),
456            "TABLE" => Some(Self::Table),
457            "MVIEW" => Some(Self::Mview),
458            "SOURCE" => Some(Self::Source),
459            "SINK" => Some(Self::Sink),
460            "VIEW" => Some(Self::View),
461            "INDEX" => Some(Self::Index),
462            "FUNCTION" => Some(Self::Function),
463            "CONNECTION" => Some(Self::Connection),
464            "SUBSCRIPTION" => Some(Self::Subscription),
465            "SECRET" => Some(Self::Secret),
466            _ => None,
467        }
468    }
469}
470#[derive(prost_helpers::AnyPB)]
471#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
472#[repr(i32)]
473pub enum DistanceType {
474    Unspecified = 0,
475    L1 = 1,
476    L2Sqr = 2,
477    Cosine = 3,
478    InnerProduct = 4,
479}
480impl DistanceType {
481    /// String value of the enum field names used in the ProtoBuf definition.
482    ///
483    /// The values are not transformed in any way and thus are considered stable
484    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
485    pub fn as_str_name(&self) -> &'static str {
486        match self {
487            Self::Unspecified => "DISTANCE_TYPE_UNSPECIFIED",
488            Self::L1 => "DISTANCE_TYPE_L1",
489            Self::L2Sqr => "DISTANCE_TYPE_L2_SQR",
490            Self::Cosine => "DISTANCE_TYPE_COSINE",
491            Self::InnerProduct => "DISTANCE_TYPE_INNER_PRODUCT",
492        }
493    }
494    /// Creates an enum from field names used in the ProtoBuf definition.
495    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
496        match value {
497            "DISTANCE_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
498            "DISTANCE_TYPE_L1" => Some(Self::L1),
499            "DISTANCE_TYPE_L2_SQR" => Some(Self::L2Sqr),
500            "DISTANCE_TYPE_COSINE" => Some(Self::Cosine),
501            "DISTANCE_TYPE_INNER_PRODUCT" => Some(Self::InnerProduct),
502            _ => None,
503        }
504    }
505}
506#[derive(prost_helpers::AnyPB)]
507#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
508#[repr(i32)]
509pub enum ThrottleType {
510    Unspecified = 0,
511    Dml = 1,
512    Backfill = 2,
513    Source = 3,
514    Sink = 4,
515}
516impl ThrottleType {
517    /// String value of the enum field names used in the ProtoBuf definition.
518    ///
519    /// The values are not transformed in any way and thus are considered stable
520    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
521    pub fn as_str_name(&self) -> &'static str {
522        match self {
523            Self::Unspecified => "THROTTLE_TYPE_UNSPECIFIED",
524            Self::Dml => "THROTTLE_TYPE_DML",
525            Self::Backfill => "THROTTLE_TYPE_BACKFILL",
526            Self::Source => "THROTTLE_TYPE_SOURCE",
527            Self::Sink => "THROTTLE_TYPE_SINK",
528        }
529    }
530    /// Creates an enum from field names used in the ProtoBuf definition.
531    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
532        match value {
533            "THROTTLE_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
534            "THROTTLE_TYPE_DML" => Some(Self::Dml),
535            "THROTTLE_TYPE_BACKFILL" => Some(Self::Backfill),
536            "THROTTLE_TYPE_SOURCE" => Some(Self::Source),
537            "THROTTLE_TYPE_SINK" => Some(Self::Sink),
538            _ => None,
539        }
540    }
541}