1#[derive(prost_helpers::AnyPB)]
3#[derive(Clone, PartialEq, ::prost::Message)]
4pub struct Dispatchers {
5 #[prost(message, repeated, tag = "1")]
6 pub dispatchers: ::prost::alloc::vec::Vec<Dispatcher>,
7}
8#[derive(prost_helpers::AnyPB)]
9#[derive(Clone, PartialEq, ::prost::Message)]
10pub struct UpstreamSinkInfo {
11 #[prost(uint32, tag = "1", wrapper = "crate::id::FragmentId")]
12 pub upstream_fragment_id: crate::id::FragmentId,
13 #[prost(message, repeated, tag = "2")]
14 pub sink_output_schema: ::prost::alloc::vec::Vec<super::plan_common::Field>,
15 #[prost(message, repeated, tag = "3")]
16 pub project_exprs: ::prost::alloc::vec::Vec<super::expr::ExprNode>,
17}
18#[derive(prost_helpers::AnyPB)]
19#[derive(Clone, PartialEq, ::prost::Message)]
20pub struct AddMutation {
21 #[prost(map = "uint32, message", tag = "1", wrapper = "crate::id::ActorId")]
23 pub actor_dispatchers: ::std::collections::HashMap<crate::id::ActorId, Dispatchers>,
24 #[prost(uint32, repeated, tag = "3", wrapper = "crate::id::ActorId")]
26 pub added_actors: ::prost::alloc::vec::Vec<crate::id::ActorId>,
27 #[prost(map = "uint32, message", tag = "2", wrapper = "crate::id::ActorId")]
31 pub actor_splits: ::std::collections::HashMap<
32 crate::id::ActorId,
33 super::source::ConnectorSplits,
34 >,
35 #[prost(bool, tag = "4")]
38 pub pause: bool,
39 #[prost(message, repeated, tag = "5")]
40 pub subscriptions_to_add: ::prost::alloc::vec::Vec<SubscriptionUpstreamInfo>,
41 #[prost(uint32, repeated, tag = "6", wrapper = "crate::id::FragmentId")]
43 pub backfill_nodes_to_pause: ::prost::alloc::vec::Vec<crate::id::FragmentId>,
44 #[prost(message, optional, tag = "7")]
46 pub actor_cdc_table_snapshot_splits: ::core::option::Option<
47 super::source::CdcTableSnapshotSplitsWithGeneration,
48 >,
49 #[prost(map = "uint32, message", tag = "8", wrapper = "crate::id::FragmentId")]
51 pub new_upstream_sinks: ::std::collections::HashMap<
52 crate::id::FragmentId,
53 add_mutation::NewUpstreamSink,
54 >,
55 #[prost(uint32, repeated, tag = "9", wrapper = "crate::id::ActorId")]
57 pub dropped_actors: ::prost::alloc::vec::Vec<crate::id::ActorId>,
58 #[prost(uint32, repeated, tag = "10", wrapper = "crate::id::SinkId")]
60 pub sink_log_store_flush: ::prost::alloc::vec::Vec<crate::id::SinkId>,
61}
62pub mod add_mutation {
64 #[derive(prost_helpers::AnyPB)]
65 #[derive(Clone, PartialEq, ::prost::Message)]
66 pub struct NewUpstreamSink {
67 #[prost(message, optional, tag = "1")]
68 pub info: ::core::option::Option<super::UpstreamSinkInfo>,
69 #[prost(message, repeated, tag = "2")]
70 pub upstream_actors: ::prost::alloc::vec::Vec<super::super::common::ActorInfo>,
71 }
72}
73#[derive(prost_helpers::AnyPB)]
74#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
75pub struct StopMutation {
76 #[prost(uint32, repeated, tag = "1", wrapper = "crate::id::ActorId")]
77 pub actors: ::prost::alloc::vec::Vec<crate::id::ActorId>,
78 #[prost(uint32, repeated, tag = "2", wrapper = "crate::id::FragmentId")]
80 pub dropped_sink_fragments: ::prost::alloc::vec::Vec<crate::id::FragmentId>,
81}
82#[derive(prost_helpers::AnyPB)]
83#[derive(Clone, PartialEq, ::prost::Message)]
84pub struct UpdateMutation {
85 #[prost(message, repeated, tag = "1")]
87 pub dispatcher_update: ::prost::alloc::vec::Vec<update_mutation::DispatcherUpdate>,
88 #[prost(message, repeated, tag = "2")]
90 pub merge_update: ::prost::alloc::vec::Vec<update_mutation::MergeUpdate>,
91 #[prost(map = "uint32, message", tag = "3", wrapper = "crate::id::ActorId")]
93 pub actor_vnode_bitmap_update: ::std::collections::HashMap<
94 crate::id::ActorId,
95 super::common::Buffer,
96 >,
97 #[prost(uint32, repeated, tag = "4", wrapper = "crate::id::ActorId")]
99 pub dropped_actors: ::prost::alloc::vec::Vec<crate::id::ActorId>,
100 #[prost(map = "uint32, message", tag = "5", wrapper = "crate::id::ActorId")]
103 pub actor_splits: ::std::collections::HashMap<
104 crate::id::ActorId,
105 super::source::ConnectorSplits,
106 >,
107 #[prost(map = "uint32, message", tag = "6", wrapper = "crate::id::ActorId")]
110 pub actor_new_dispatchers: ::std::collections::HashMap<
111 crate::id::ActorId,
112 Dispatchers,
113 >,
114 #[prost(message, optional, tag = "7")]
116 pub actor_cdc_table_snapshot_splits: ::core::option::Option<
117 super::source::CdcTableSnapshotSplitsWithGeneration,
118 >,
119 #[prost(map = "uint32, message", tag = "8")]
120 pub sink_schema_change: ::std::collections::HashMap<u32, SinkSchemaChange>,
121 #[prost(message, repeated, tag = "9")]
122 pub subscriptions_to_drop: ::prost::alloc::vec::Vec<SubscriptionUpstreamInfo>,
123 #[prost(message, optional, tag = "10")]
124 pub iceberg_pk_index_compaction: ::core::option::Option<
125 IcebergPkIndexCompactionContext,
126 >,
127}
128pub mod update_mutation {
130 #[derive(prost_helpers::AnyPB)]
131 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
132 pub struct DispatcherUpdate {
133 #[prost(uint32, tag = "1", wrapper = "crate::id::ActorId")]
135 pub actor_id: crate::id::ActorId,
136 #[prost(uint32, tag = "2", wrapper = "crate::id::FragmentId")]
137 pub dispatcher_id: crate::id::FragmentId,
138 #[prost(message, optional, tag = "3")]
141 pub hash_mapping: ::core::option::Option<super::ActorMapping>,
142 #[prost(uint32, repeated, tag = "4", wrapper = "crate::id::ActorId")]
144 pub added_downstream_actor_id: ::prost::alloc::vec::Vec<crate::id::ActorId>,
145 #[prost(uint32, repeated, tag = "5", wrapper = "crate::id::ActorId")]
147 pub removed_downstream_actor_id: ::prost::alloc::vec::Vec<crate::id::ActorId>,
148 }
149 #[derive(prost_helpers::AnyPB)]
150 #[derive(Clone, PartialEq, ::prost::Message)]
151 pub struct MergeUpdate {
152 #[prost(uint32, tag = "1", wrapper = "crate::id::ActorId")]
154 pub actor_id: crate::id::ActorId,
155 #[prost(uint32, tag = "2", wrapper = "crate::id::FragmentId")]
156 pub upstream_fragment_id: crate::id::FragmentId,
157 #[prost(uint32, optional, tag = "5", wrapper = "crate::id::FragmentId")]
161 pub new_upstream_fragment_id: ::core::option::Option<crate::id::FragmentId>,
162 #[prost(message, repeated, tag = "3")]
164 pub added_upstream_actors: ::prost::alloc::vec::Vec<
165 super::super::common::ActorInfo,
166 >,
167 #[prost(uint32, repeated, tag = "4", wrapper = "crate::id::ActorId")]
170 pub removed_upstream_actor_id: ::prost::alloc::vec::Vec<crate::id::ActorId>,
171 }
172}
173#[derive(prost_helpers::AnyPB)]
174#[derive(Clone, PartialEq, ::prost::Message)]
175pub struct SourceChangeSplitMutation {
176 #[prost(map = "uint32, message", tag = "2", wrapper = "crate::id::ActorId")]
178 pub actor_splits: ::std::collections::HashMap<
179 crate::id::ActorId,
180 super::source::ConnectorSplits,
181 >,
182}
183#[derive(prost_helpers::AnyPB)]
184#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
185pub struct PauseMutation {}
186#[derive(prost_helpers::AnyPB)]
187#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
188pub struct ResumeMutation {}
189#[derive(prost_helpers::AnyPB)]
190#[derive(Clone, PartialEq, ::prost::Message)]
191pub struct ThrottleMutation {
192 #[prost(map = "uint32, message", tag = "1", wrapper = "crate::id::FragmentId")]
193 pub fragment_throttle: ::std::collections::HashMap<
194 crate::id::FragmentId,
195 throttle_mutation::ThrottleConfig,
196 >,
197}
198pub mod throttle_mutation {
200 #[derive(prost_helpers::AnyPB)]
201 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
202 pub struct ThrottleConfig {
203 #[prost(uint32, optional, tag = "1")]
204 pub rate_limit: ::core::option::Option<u32>,
205 #[prost(enumeration = "super::super::common::ThrottleType", tag = "2")]
206 pub throttle_type: i32,
207 }
208}
209#[derive(prost_helpers::AnyPB)]
210#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
211pub struct SubscriptionUpstreamInfo {
212 #[prost(uint32, tag = "1", wrapper = "crate::id::SubscriberId")]
214 pub subscriber_id: crate::id::SubscriberId,
215 #[prost(uint32, tag = "2", wrapper = "crate::id::TableId")]
216 pub upstream_mv_table_id: crate::id::TableId,
217}
218#[derive(prost_helpers::AnyPB)]
219#[derive(Clone, PartialEq, ::prost::Message)]
220pub struct DropSubscriptionsMutation {
221 #[prost(message, repeated, tag = "1")]
222 pub info: ::prost::alloc::vec::Vec<SubscriptionUpstreamInfo>,
223}
224#[derive(prost_helpers::AnyPB)]
225#[derive(Clone, PartialEq, ::prost::Message)]
226pub struct ConnectorPropsChangeMutation {
227 #[prost(map = "uint32, message", tag = "1")]
228 pub connector_props_infos: ::std::collections::HashMap<
229 u32,
230 connector_props_change_mutation::ConnectorPropsInfo,
231 >,
232}
233pub mod connector_props_change_mutation {
235 #[derive(prost_helpers::AnyPB)]
236 #[derive(Clone, PartialEq, ::prost::Message)]
237 pub struct ConnectorPropsInfo {
238 #[prost(map = "string, string", tag = "1")]
239 pub connector_props_info: ::std::collections::HashMap<
240 ::prost::alloc::string::String,
241 ::prost::alloc::string::String,
242 >,
243 }
244}
245#[derive(prost_helpers::AnyPB)]
246#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
247pub struct StartFragmentBackfillMutation {
248 #[prost(uint32, repeated, tag = "1", wrapper = "crate::id::FragmentId")]
249 pub fragment_ids: ::prost::alloc::vec::Vec<crate::id::FragmentId>,
250}
251#[derive(prost_helpers::AnyPB)]
252#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
253pub struct RefreshStartMutation {
254 #[prost(uint32, tag = "1", wrapper = "crate::id::TableId")]
256 pub table_id: crate::id::TableId,
257 #[prost(uint32, tag = "2", wrapper = "crate::id::SourceId")]
259 pub associated_source_id: crate::id::SourceId,
260}
261#[derive(prost_helpers::AnyPB)]
262#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
263pub struct ListFinishMutation {
264 #[prost(uint32, tag = "1", wrapper = "crate::id::SourceId")]
266 pub associated_source_id: crate::id::SourceId,
267}
268#[derive(prost_helpers::AnyPB)]
269#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
270pub struct LoadFinishMutation {
271 #[prost(uint32, tag = "1", wrapper = "crate::id::SourceId")]
273 pub associated_source_id: crate::id::SourceId,
274}
275#[derive(prost_helpers::AnyPB)]
276#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
277pub struct ResetSourceMutation {
278 #[prost(uint32, tag = "1")]
280 pub source_id: u32,
281}
282#[derive(prost_helpers::AnyPB)]
285#[derive(Clone, PartialEq, ::prost::Message)]
286pub struct InjectSourceOffsetsMutation {
287 #[prost(uint32, tag = "1")]
289 pub source_id: u32,
290 #[prost(map = "string, string", tag = "2")]
292 pub split_offsets: ::std::collections::HashMap<
293 ::prost::alloc::string::String,
294 ::prost::alloc::string::String,
295 >,
296}
297#[derive(prost_helpers::AnyPB)]
299#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
300pub struct IcebergPkIndexCompactionContext {
301 #[prost(uint32, tag = "1", wrapper = "crate::id::SinkId")]
302 pub sink_id: crate::id::SinkId,
303 #[prost(uint64, tag = "2", wrapper = "crate::id::IcebergCompactionTaskId")]
304 pub task_id: crate::id::IcebergCompactionTaskId,
305 #[prost(enumeration = "iceberg_pk_index_compaction_context::Phase", tag = "3")]
306 pub phase: i32,
307 #[prost(message, optional, tag = "4")]
309 pub resolver_task_input: ::core::option::Option<
310 iceberg_pk_index_compaction_context::ResolverTaskInput,
311 >,
312}
313pub mod iceberg_pk_index_compaction_context {
315 #[derive(prost_helpers::AnyPB)]
316 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
317 pub struct ResolverTaskInput {
318 #[prost(string, repeated, tag = "1")]
319 pub output_data_file_paths: ::prost::alloc::vec::Vec<
320 ::prost::alloc::string::String,
321 >,
322 #[prost(string, repeated, tag = "2")]
323 pub input_data_file_paths: ::prost::alloc::vec::Vec<
324 ::prost::alloc::string::String,
325 >,
326 #[prost(int64, tag = "3")]
327 pub read_snapshot_id: i64,
328 }
329 #[derive(prost_helpers::AnyPB)]
330 #[derive(
331 Clone,
332 Copy,
333 Debug,
334 PartialEq,
335 Eq,
336 Hash,
337 PartialOrd,
338 Ord,
339 ::prost::Enumeration
340 )]
341 #[repr(i32)]
342 pub enum Phase {
343 Unspecified = 0,
344 Begin = 1,
345 End = 2,
346 }
347 impl Phase {
348 pub fn as_str_name(&self) -> &'static str {
353 match self {
354 Self::Unspecified => "PHASE_UNSPECIFIED",
355 Self::Begin => "PHASE_BEGIN",
356 Self::End => "PHASE_END",
357 }
358 }
359 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
361 match value {
362 "PHASE_UNSPECIFIED" => Some(Self::Unspecified),
363 "PHASE_BEGIN" => Some(Self::Begin),
364 "PHASE_END" => Some(Self::End),
365 _ => None,
366 }
367 }
368 }
369}
370#[derive(prost_helpers::AnyPB)]
371#[derive(Clone, PartialEq, ::prost::Message)]
372pub struct BarrierMutation {
373 #[prost(
374 oneof = "barrier_mutation::Mutation",
375 tags = "3, 4, 5, 6, 7, 8, 10, 12, 13, 14, 15, 16, 17, 18, 19"
376 )]
377 pub mutation: ::core::option::Option<barrier_mutation::Mutation>,
378}
379pub mod barrier_mutation {
381 #[derive(prost_helpers::AnyPB)]
382 #[derive(Clone, PartialEq, ::prost::Oneof)]
383 pub enum Mutation {
384 #[prost(message, tag = "3")]
386 Add(super::AddMutation),
387 #[prost(message, tag = "4")]
390 Stop(super::StopMutation),
391 #[prost(message, tag = "5")]
393 Update(super::UpdateMutation),
394 #[prost(message, tag = "6")]
396 Splits(super::SourceChangeSplitMutation),
397 #[prost(message, tag = "7")]
399 Pause(super::PauseMutation),
400 #[prost(message, tag = "8")]
402 Resume(super::ResumeMutation),
403 #[prost(message, tag = "10")]
405 Throttle(super::ThrottleMutation),
406 #[prost(message, tag = "12")]
408 DropSubscriptions(super::DropSubscriptionsMutation),
409 #[prost(message, tag = "13")]
411 ConnectorPropsChange(super::ConnectorPropsChangeMutation),
412 #[prost(message, tag = "14")]
418 StartFragmentBackfill(super::StartFragmentBackfillMutation),
419 #[prost(message, tag = "15")]
421 RefreshStart(super::RefreshStartMutation),
422 #[prost(message, tag = "16")]
424 LoadFinish(super::LoadFinishMutation),
425 #[prost(message, tag = "17")]
427 ListFinish(super::ListFinishMutation),
428 #[prost(message, tag = "18")]
430 ResetSource(super::ResetSourceMutation),
431 #[prost(message, tag = "19")]
433 InjectSourceOffsets(super::InjectSourceOffsetsMutation),
434 }
435}
436#[derive(prost_helpers::AnyPB)]
437#[derive(Clone, PartialEq, ::prost::Message)]
438pub struct Barrier {
439 #[prost(message, optional, tag = "1")]
440 pub epoch: ::core::option::Option<super::data::Epoch>,
441 #[prost(message, optional, tag = "3")]
442 pub mutation: ::core::option::Option<BarrierMutation>,
443 #[prost(map = "string, string", tag = "2")]
445 pub tracing_context: ::std::collections::HashMap<
446 ::prost::alloc::string::String,
447 ::prost::alloc::string::String,
448 >,
449 #[prost(enumeration = "barrier::BarrierKind", tag = "9")]
451 pub kind: i32,
452}
453pub mod barrier {
455 #[derive(prost_helpers::AnyPB)]
456 #[derive(::enum_as_inner::EnumAsInner)]
457 #[derive(
458 Clone,
459 Copy,
460 Debug,
461 PartialEq,
462 Eq,
463 Hash,
464 PartialOrd,
465 Ord,
466 ::prost::Enumeration
467 )]
468 #[repr(i32)]
469 pub enum BarrierKind {
470 Unspecified = 0,
471 Initial = 1,
474 Barrier = 2,
476 Checkpoint = 3,
478 }
479 impl BarrierKind {
480 pub fn as_str_name(&self) -> &'static str {
485 match self {
486 Self::Unspecified => "BARRIER_KIND_UNSPECIFIED",
487 Self::Initial => "BARRIER_KIND_INITIAL",
488 Self::Barrier => "BARRIER_KIND_BARRIER",
489 Self::Checkpoint => "BARRIER_KIND_CHECKPOINT",
490 }
491 }
492 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
494 match value {
495 "BARRIER_KIND_UNSPECIFIED" => Some(Self::Unspecified),
496 "BARRIER_KIND_INITIAL" => Some(Self::Initial),
497 "BARRIER_KIND_BARRIER" => Some(Self::Barrier),
498 "BARRIER_KIND_CHECKPOINT" => Some(Self::Checkpoint),
499 _ => None,
500 }
501 }
502 }
503}
504#[derive(prost_helpers::AnyPB)]
505#[derive(Clone, PartialEq, ::prost::Message)]
506pub struct Watermark {
507 #[prost(message, optional, tag = "1")]
509 pub column: ::core::option::Option<super::expr::InputRef>,
510 #[prost(message, optional, tag = "3")]
512 pub val: ::core::option::Option<super::data::Datum>,
513}
514#[derive(prost_helpers::AnyPB)]
515#[derive(Clone, PartialEq, ::prost::Message)]
516pub struct StreamMessage {
517 #[prost(oneof = "stream_message::StreamMessage", tags = "1, 2, 3")]
518 pub stream_message: ::core::option::Option<stream_message::StreamMessage>,
519}
520pub mod stream_message {
522 #[derive(prost_helpers::AnyPB)]
523 #[derive(Clone, PartialEq, ::prost::Oneof)]
524 pub enum StreamMessage {
525 #[prost(message, tag = "1")]
526 StreamChunk(super::super::data::StreamChunk),
527 #[prost(message, tag = "2")]
528 Barrier(super::Barrier),
529 #[prost(message, tag = "3")]
530 Watermark(super::Watermark),
531 }
532}
533#[derive(prost_helpers::AnyPB)]
534#[derive(Clone, PartialEq, ::prost::Message)]
535pub struct StreamMessageBatch {
536 #[prost(oneof = "stream_message_batch::StreamMessageBatch", tags = "1, 2, 3")]
537 pub stream_message_batch: ::core::option::Option<
538 stream_message_batch::StreamMessageBatch,
539 >,
540}
541pub mod stream_message_batch {
543 #[derive(prost_helpers::AnyPB)]
544 #[derive(Clone, PartialEq, ::prost::Message)]
545 pub struct BarrierBatch {
546 #[prost(message, repeated, tag = "1")]
547 pub barriers: ::prost::alloc::vec::Vec<super::Barrier>,
548 }
549 #[derive(prost_helpers::AnyPB)]
550 #[derive(Clone, PartialEq, ::prost::Oneof)]
551 pub enum StreamMessageBatch {
552 #[prost(message, tag = "1")]
553 StreamChunk(super::super::data::StreamChunk),
554 #[prost(message, tag = "2")]
555 BarrierBatch(BarrierBatch),
556 #[prost(message, tag = "3")]
557 Watermark(super::Watermark),
558 }
559}
560#[derive(prost_helpers::AnyPB)]
562#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
563pub struct ActorMapping {
564 #[prost(uint32, repeated, tag = "1")]
565 pub original_indices: ::prost::alloc::vec::Vec<u32>,
566 #[prost(uint32, repeated, tag = "2", wrapper = "crate::id::ActorId")]
567 pub data: ::prost::alloc::vec::Vec<crate::id::ActorId>,
568}
569#[derive(prost_helpers::AnyPB)]
570#[derive(Clone, PartialEq, ::prost::Message)]
571pub struct Columns {
572 #[prost(message, repeated, tag = "1")]
573 pub columns: ::prost::alloc::vec::Vec<super::plan_common::ColumnCatalog>,
574}
575#[derive(prost_helpers::AnyPB)]
576#[derive(Clone, PartialEq, ::prost::Message)]
577pub struct StreamSource {
578 #[prost(uint32, tag = "1", wrapper = "crate::id::SourceId")]
579 pub source_id: crate::id::SourceId,
580 #[prost(message, optional, tag = "2")]
581 pub state_table: ::core::option::Option<super::catalog::Table>,
582 #[prost(uint32, optional, tag = "3")]
583 pub row_id_index: ::core::option::Option<u32>,
584 #[prost(message, repeated, tag = "4")]
585 pub columns: ::prost::alloc::vec::Vec<super::plan_common::ColumnCatalog>,
586 #[prost(btree_map = "string, string", tag = "6")]
587 pub with_properties: ::prost::alloc::collections::BTreeMap<
588 ::prost::alloc::string::String,
589 ::prost::alloc::string::String,
590 >,
591 #[prost(message, optional, tag = "7")]
592 pub info: ::core::option::Option<super::catalog::StreamSourceInfo>,
593 #[prost(string, tag = "8")]
594 pub source_name: ::prost::alloc::string::String,
595 #[prost(uint32, optional, tag = "9")]
597 pub rate_limit: ::core::option::Option<u32>,
598 #[prost(btree_map = "string, message", tag = "10")]
599 pub secret_refs: ::prost::alloc::collections::BTreeMap<
600 ::prost::alloc::string::String,
601 super::secret::SecretRef,
602 >,
603 #[prost(message, optional, tag = "11")]
605 pub downstream_columns: ::core::option::Option<Columns>,
606 #[prost(message, optional, tag = "12")]
607 pub refresh_mode: ::core::option::Option<super::plan_common::SourceRefreshMode>,
608 #[prost(uint32, optional, tag = "13", wrapper = "crate::id::TableId")]
609 pub associated_table_id: ::core::option::Option<crate::id::TableId>,
610 #[prost(message, optional, tag = "14")]
614 pub iceberg_fetch_state_table: ::core::option::Option<
615 super::plan_common::StorageTableDesc,
616 >,
617}
618#[derive(prost_helpers::AnyPB)]
620#[derive(Clone, PartialEq, ::prost::Message)]
621pub struct StreamFsFetch {
622 #[prost(uint32, tag = "1", wrapper = "crate::id::SourceId")]
623 pub source_id: crate::id::SourceId,
624 #[prost(message, optional, tag = "2")]
625 pub state_table: ::core::option::Option<super::catalog::Table>,
626 #[prost(uint32, optional, tag = "3")]
627 pub row_id_index: ::core::option::Option<u32>,
628 #[prost(message, repeated, tag = "4")]
629 pub columns: ::prost::alloc::vec::Vec<super::plan_common::ColumnCatalog>,
630 #[prost(btree_map = "string, string", tag = "6")]
631 pub with_properties: ::prost::alloc::collections::BTreeMap<
632 ::prost::alloc::string::String,
633 ::prost::alloc::string::String,
634 >,
635 #[prost(message, optional, tag = "7")]
636 pub info: ::core::option::Option<super::catalog::StreamSourceInfo>,
637 #[prost(string, tag = "8")]
638 pub source_name: ::prost::alloc::string::String,
639 #[prost(uint32, optional, tag = "9")]
641 pub rate_limit: ::core::option::Option<u32>,
642 #[prost(btree_map = "string, message", tag = "10")]
643 pub secret_refs: ::prost::alloc::collections::BTreeMap<
644 ::prost::alloc::string::String,
645 super::secret::SecretRef,
646 >,
647 #[prost(message, optional, tag = "11")]
648 pub refresh_mode: ::core::option::Option<super::plan_common::SourceRefreshMode>,
649 #[prost(uint32, optional, tag = "12", wrapper = "crate::id::TableId")]
650 pub associated_table_id: ::core::option::Option<crate::id::TableId>,
651}
652#[derive(prost_helpers::AnyPB)]
655#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
656pub struct BarrierRecvNode {}
657#[derive(prost_helpers::AnyPB)]
658#[derive(Clone, PartialEq, ::prost::Message)]
659pub struct SourceNode {
660 #[prost(message, optional, tag = "1")]
663 pub source_inner: ::core::option::Option<StreamSource>,
664}
665#[derive(prost_helpers::AnyPB)]
666#[derive(Clone, PartialEq, ::prost::Message)]
667pub struct StreamFsFetchNode {
668 #[prost(message, optional, tag = "1")]
669 pub node_inner: ::core::option::Option<StreamFsFetch>,
670}
671#[derive(prost_helpers::AnyPB)]
674#[derive(Clone, PartialEq, ::prost::Message)]
675pub struct SourceBackfillNode {
676 #[prost(uint32, tag = "1", wrapper = "crate::id::SourceId")]
677 pub upstream_source_id: crate::id::SourceId,
678 #[prost(uint32, optional, tag = "2")]
679 pub row_id_index: ::core::option::Option<u32>,
680 #[prost(message, repeated, tag = "3")]
681 pub columns: ::prost::alloc::vec::Vec<super::plan_common::ColumnCatalog>,
682 #[prost(message, optional, tag = "4")]
683 pub info: ::core::option::Option<super::catalog::StreamSourceInfo>,
684 #[prost(string, tag = "5")]
685 pub source_name: ::prost::alloc::string::String,
686 #[prost(btree_map = "string, string", tag = "6")]
687 pub with_properties: ::prost::alloc::collections::BTreeMap<
688 ::prost::alloc::string::String,
689 ::prost::alloc::string::String,
690 >,
691 #[prost(uint32, optional, tag = "7")]
693 pub rate_limit: ::core::option::Option<u32>,
694 #[prost(message, optional, tag = "8")]
696 pub state_table: ::core::option::Option<super::catalog::Table>,
697 #[prost(btree_map = "string, message", tag = "9")]
698 pub secret_refs: ::prost::alloc::collections::BTreeMap<
699 ::prost::alloc::string::String,
700 super::secret::SecretRef,
701 >,
702}
703#[derive(prost_helpers::AnyPB)]
704#[derive(Clone, PartialEq, ::prost::Message)]
705pub struct SinkDesc {
706 #[prost(uint32, tag = "1", wrapper = "crate::id::SinkId")]
707 pub id: crate::id::SinkId,
708 #[prost(string, tag = "2")]
709 pub name: ::prost::alloc::string::String,
710 #[prost(string, tag = "3")]
711 pub definition: ::prost::alloc::string::String,
712 #[prost(message, repeated, tag = "5")]
713 pub plan_pk: ::prost::alloc::vec::Vec<super::common::ColumnOrder>,
714 #[prost(uint32, repeated, tag = "6")]
715 pub downstream_pk: ::prost::alloc::vec::Vec<u32>,
716 #[prost(uint32, repeated, tag = "7")]
717 pub distribution_key: ::prost::alloc::vec::Vec<u32>,
718 #[prost(btree_map = "string, string", tag = "8")]
719 pub properties: ::prost::alloc::collections::BTreeMap<
720 ::prost::alloc::string::String,
721 ::prost::alloc::string::String,
722 >,
723 #[prost(enumeration = "super::catalog::SinkType", tag = "9")]
725 pub sink_type: i32,
726 #[prost(message, repeated, tag = "10")]
727 pub column_catalogs: ::prost::alloc::vec::Vec<super::plan_common::ColumnCatalog>,
728 #[prost(string, tag = "11")]
729 pub db_name: ::prost::alloc::string::String,
730 #[prost(string, tag = "12")]
733 pub sink_from_name: ::prost::alloc::string::String,
734 #[prost(message, optional, tag = "13")]
735 pub format_desc: ::core::option::Option<super::catalog::SinkFormatDesc>,
736 #[prost(uint32, optional, tag = "14")]
737 pub target_table: ::core::option::Option<u32>,
738 #[prost(uint64, optional, tag = "15")]
739 pub extra_partition_col_idx: ::core::option::Option<u64>,
740 #[prost(btree_map = "string, message", tag = "16")]
741 pub secret_refs: ::prost::alloc::collections::BTreeMap<
742 ::prost::alloc::string::String,
743 super::secret::SecretRef,
744 >,
745 #[prost(bool, tag = "17")]
749 pub raw_ignore_delete: bool,
750}
751#[derive(prost_helpers::AnyPB)]
752#[derive(Clone, PartialEq, ::prost::Message)]
753pub struct SinkNode {
754 #[prost(message, optional, tag = "1")]
755 pub sink_desc: ::core::option::Option<SinkDesc>,
756 #[prost(message, optional, tag = "2")]
758 pub table: ::core::option::Option<super::catalog::Table>,
759 #[prost(enumeration = "SinkLogStoreType", tag = "3")]
760 pub log_store_type: i32,
761 #[prost(uint32, optional, tag = "4")]
762 pub rate_limit: ::core::option::Option<u32>,
763}
764#[derive(prost_helpers::AnyPB)]
765#[derive(Clone, PartialEq, ::prost::Message)]
766pub struct IcebergWithPkIndexWriterNode {
767 #[prost(message, optional, tag = "1")]
768 pub sink_desc: ::core::option::Option<SinkDesc>,
769 #[prost(message, optional, tag = "2")]
770 pub pk_index_table: ::core::option::Option<super::catalog::Table>,
771}
772#[derive(prost_helpers::AnyPB)]
773#[derive(Clone, PartialEq, ::prost::Message)]
774pub struct IcebergWithPkIndexPositionDeleteMergerNode {
775 #[prost(message, optional, tag = "1")]
776 pub sink_desc: ::core::option::Option<SinkDesc>,
777}
778#[derive(prost_helpers::AnyPB)]
783#[derive(Clone, PartialEq, ::prost::Message)]
784pub struct CompactionResolverNode {
785 #[prost(uint32, tag = "1", wrapper = "crate::id::SinkId")]
787 pub sink_id: crate::id::SinkId,
788 #[prost(btree_map = "string, string", tag = "2")]
789 pub properties: ::prost::alloc::collections::BTreeMap<
790 ::prost::alloc::string::String,
791 ::prost::alloc::string::String,
792 >,
793 #[prost(btree_map = "string, message", tag = "3")]
794 pub secret_refs: ::prost::alloc::collections::BTreeMap<
795 ::prost::alloc::string::String,
796 super::secret::SecretRef,
797 >,
798 #[prost(message, repeated, tag = "4")]
800 pub pk_columns: ::prost::alloc::vec::Vec<compaction_resolver_node::PkColumn>,
801}
802pub mod compaction_resolver_node {
804 #[derive(prost_helpers::AnyPB)]
805 #[derive(Clone, PartialEq, ::prost::Message)]
806 pub struct PkColumn {
807 #[prost(uint32, tag = "1")]
809 pub data_file_index: u32,
810 #[prost(message, optional, tag = "2")]
812 pub column_desc: ::core::option::Option<super::super::plan_common::ColumnDesc>,
813 }
814}
815#[derive(prost_helpers::AnyPB)]
816#[derive(Clone, PartialEq, ::prost::Message)]
817pub struct ProjectNode {
818 #[prost(message, repeated, tag = "1")]
819 pub select_list: ::prost::alloc::vec::Vec<super::expr::ExprNode>,
820 #[prost(uint32, repeated, tag = "2")]
824 pub watermark_input_cols: ::prost::alloc::vec::Vec<u32>,
825 #[prost(uint32, repeated, tag = "3")]
826 pub watermark_output_cols: ::prost::alloc::vec::Vec<u32>,
827 #[prost(uint32, repeated, tag = "4")]
828 pub nondecreasing_exprs: ::prost::alloc::vec::Vec<u32>,
829 #[prost(bool, tag = "5")]
832 pub noop_update_hint: bool,
833}
834#[derive(prost_helpers::AnyPB)]
835#[derive(Clone, PartialEq, ::prost::Message)]
836pub struct FilterNode {
837 #[prost(message, optional, tag = "1")]
838 pub search_condition: ::core::option::Option<super::expr::ExprNode>,
839}
840#[derive(prost_helpers::AnyPB)]
841#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
842pub struct ChangeLogNode {
843 #[prost(bool, tag = "1")]
845 pub need_op: bool,
846 #[prost(uint32, repeated, tag = "2")]
847 pub distribution_keys: ::prost::alloc::vec::Vec<u32>,
848 #[prost(uint32, repeated, tag = "4")]
849 pub stream_keys: ::prost::alloc::vec::Vec<u32>,
850 #[prost(oneof = "change_log_node::Mode", tags = "3")]
851 pub mode: ::core::option::Option<change_log_node::Mode>,
852}
853pub mod change_log_node {
855 #[derive(prost_helpers::AnyPB)]
856 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
857 pub struct Keyed {
858 #[prost(uint32, repeated, tag = "1")]
863 pub additional_key_columns: ::prost::alloc::vec::Vec<u32>,
864 }
865 #[derive(prost_helpers::AnyPB)]
866 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
867 pub enum Mode {
868 #[prost(message, tag = "3")]
869 Keyed(Keyed),
870 }
871}
872#[derive(prost_helpers::AnyPB)]
873#[derive(Clone, PartialEq, ::prost::Message)]
874pub struct CdcFilterNode {
875 #[prost(message, optional, tag = "1")]
876 pub search_condition: ::core::option::Option<super::expr::ExprNode>,
877 #[prost(uint32, tag = "2", wrapper = "crate::id::SourceId")]
878 pub upstream_source_id: crate::id::SourceId,
879}
880#[derive(prost_helpers::AnyPB)]
889#[derive(Clone, PartialEq, ::prost::Message)]
890pub struct MaterializeNode {
891 #[prost(uint32, tag = "1", wrapper = "crate::id::TableId")]
892 pub table_id: crate::id::TableId,
893 #[prost(message, repeated, tag = "2")]
895 pub column_orders: ::prost::alloc::vec::Vec<super::common::ColumnOrder>,
896 #[prost(message, optional, tag = "3")]
903 pub table: ::core::option::Option<super::catalog::Table>,
904 #[prost(message, optional, tag = "5")]
913 pub staging_table: ::core::option::Option<super::catalog::Table>,
914 #[prost(message, optional, tag = "6")]
927 pub refresh_progress_table: ::core::option::Option<super::catalog::Table>,
928 #[prost(bool, tag = "7")]
930 pub cleaned_by_ttl_watermark: bool,
931}
932#[derive(prost_helpers::AnyPB)]
933#[derive(Clone, PartialEq, ::prost::Message)]
934pub struct AggCallState {
935 #[prost(oneof = "agg_call_state::Inner", tags = "1, 3")]
936 pub inner: ::core::option::Option<agg_call_state::Inner>,
937}
938pub mod agg_call_state {
940 #[derive(prost_helpers::AnyPB)]
942 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
943 pub struct ValueState {}
944 #[derive(prost_helpers::AnyPB)]
946 #[derive(Clone, PartialEq, ::prost::Message)]
947 pub struct MaterializedInputState {
948 #[prost(message, optional, tag = "1")]
949 pub table: ::core::option::Option<super::super::catalog::Table>,
950 #[prost(uint32, repeated, tag = "2")]
952 pub included_upstream_indices: ::prost::alloc::vec::Vec<u32>,
953 #[prost(uint32, repeated, tag = "3")]
954 pub table_value_indices: ::prost::alloc::vec::Vec<u32>,
955 #[prost(message, repeated, tag = "4")]
956 pub order_columns: ::prost::alloc::vec::Vec<super::super::common::ColumnOrder>,
957 }
958 #[derive(prost_helpers::AnyPB)]
959 #[derive(Clone, PartialEq, ::prost::Oneof)]
960 pub enum Inner {
961 #[prost(message, tag = "1")]
962 ValueState(ValueState),
963 #[prost(message, tag = "3")]
964 MaterializedInputState(MaterializedInputState),
965 }
966}
967#[derive(prost_helpers::AnyPB)]
968#[derive(Clone, PartialEq, ::prost::Message)]
969pub struct SimpleAggNode {
970 #[prost(message, repeated, tag = "1")]
971 pub agg_calls: ::prost::alloc::vec::Vec<super::expr::AggCall>,
972 #[prost(message, repeated, tag = "3")]
973 pub agg_call_states: ::prost::alloc::vec::Vec<AggCallState>,
974 #[prost(message, optional, tag = "4")]
975 pub intermediate_state_table: ::core::option::Option<super::catalog::Table>,
976 #[prost(bool, tag = "5")]
979 pub is_append_only: bool,
980 #[prost(map = "uint32, message", tag = "6")]
981 pub distinct_dedup_tables: ::std::collections::HashMap<u32, super::catalog::Table>,
982 #[prost(uint32, tag = "7")]
983 pub row_count_index: u32,
984 #[prost(enumeration = "AggNodeVersion", tag = "8")]
985 pub version: i32,
986 #[prost(bool, tag = "9")]
989 pub must_output_per_barrier: bool,
990}
991#[derive(prost_helpers::AnyPB)]
992#[derive(Clone, PartialEq, ::prost::Message)]
993pub struct HashAggNode {
994 #[prost(uint32, repeated, tag = "1")]
995 pub group_key: ::prost::alloc::vec::Vec<u32>,
996 #[prost(message, repeated, tag = "2")]
997 pub agg_calls: ::prost::alloc::vec::Vec<super::expr::AggCall>,
998 #[prost(message, repeated, tag = "3")]
999 pub agg_call_states: ::prost::alloc::vec::Vec<AggCallState>,
1000 #[prost(message, optional, tag = "4")]
1001 pub intermediate_state_table: ::core::option::Option<super::catalog::Table>,
1002 #[prost(bool, tag = "5")]
1005 pub is_append_only: bool,
1006 #[prost(map = "uint32, message", tag = "6")]
1007 pub distinct_dedup_tables: ::std::collections::HashMap<u32, super::catalog::Table>,
1008 #[prost(uint32, tag = "7")]
1009 pub row_count_index: u32,
1010 #[prost(bool, tag = "8")]
1011 pub emit_on_window_close: bool,
1012 #[prost(enumeration = "AggNodeVersion", tag = "9")]
1013 pub version: i32,
1014}
1015#[derive(prost_helpers::AnyPB)]
1016#[derive(Clone, PartialEq, ::prost::Message)]
1017pub struct TopNNode {
1018 #[prost(uint64, tag = "1")]
1020 pub limit: u64,
1021 #[prost(uint64, tag = "2")]
1022 pub offset: u64,
1023 #[prost(message, optional, tag = "3")]
1024 pub table: ::core::option::Option<super::catalog::Table>,
1025 #[prost(message, repeated, tag = "4")]
1026 pub order_by: ::prost::alloc::vec::Vec<super::common::ColumnOrder>,
1027 #[prost(bool, tag = "5")]
1028 pub with_ties: bool,
1029}
1030#[derive(prost_helpers::AnyPB)]
1031#[derive(Clone, PartialEq, ::prost::Message)]
1032pub struct GroupTopNNode {
1033 #[prost(uint64, tag = "1")]
1035 pub limit: u64,
1036 #[prost(uint64, tag = "2")]
1037 pub offset: u64,
1038 #[prost(uint32, repeated, tag = "3")]
1039 pub group_key: ::prost::alloc::vec::Vec<u32>,
1040 #[prost(message, optional, tag = "4")]
1041 pub table: ::core::option::Option<super::catalog::Table>,
1042 #[prost(message, repeated, tag = "5")]
1043 pub order_by: ::prost::alloc::vec::Vec<super::common::ColumnOrder>,
1044 #[prost(bool, tag = "6")]
1045 pub with_ties: bool,
1046}
1047#[derive(prost_helpers::AnyPB)]
1048#[derive(Clone, PartialEq, ::prost::Message)]
1049pub struct DeltaExpression {
1050 #[prost(enumeration = "super::expr::expr_node::Type", tag = "1")]
1051 pub delta_type: i32,
1052 #[prost(message, optional, tag = "2")]
1053 pub delta: ::core::option::Option<super::expr::ExprNode>,
1054}
1055#[derive(prost_helpers::AnyPB)]
1057#[derive(Clone, PartialEq, ::prost::Message)]
1058pub struct InequalityPair {
1059 #[prost(uint32, tag = "1")]
1061 pub key_required_larger: u32,
1062 #[prost(uint32, tag = "2")]
1064 pub key_required_smaller: u32,
1065 #[prost(bool, tag = "3")]
1067 pub clean_state: bool,
1068 #[prost(message, optional, tag = "4")]
1070 pub delta_expression: ::core::option::Option<DeltaExpression>,
1071}
1072#[derive(prost_helpers::AnyPB)]
1073#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1074pub struct InequalityPairV2 {
1075 #[prost(uint32, tag = "1")]
1077 pub left_idx: u32,
1078 #[prost(uint32, tag = "2")]
1080 pub right_idx: u32,
1081 #[prost(bool, tag = "3")]
1083 pub clean_left_state: bool,
1084 #[prost(bool, tag = "4")]
1086 pub clean_right_state: bool,
1087 #[prost(enumeration = "InequalityType", tag = "5")]
1089 pub op: i32,
1090}
1091#[derive(prost_helpers::AnyPB)]
1092#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1093pub struct JoinKeyWatermarkIndex {
1094 #[prost(uint32, tag = "1")]
1096 pub index: u32,
1097 #[prost(bool, tag = "2")]
1099 pub do_state_cleaning: bool,
1100}
1101#[derive(prost_helpers::AnyPB)]
1102#[derive(Clone, PartialEq, ::prost::Message)]
1103pub struct HashJoinWatermarkHandleDesc {
1104 #[prost(message, repeated, tag = "1")]
1106 pub watermark_indices_in_jk: ::prost::alloc::vec::Vec<JoinKeyWatermarkIndex>,
1107 #[prost(message, repeated, tag = "2")]
1109 pub inequality_pairs: ::prost::alloc::vec::Vec<InequalityPairV2>,
1110}
1111#[derive(prost_helpers::AnyPB)]
1112#[derive(Clone, PartialEq, ::prost::Message)]
1113pub struct HashJoinNode {
1114 #[prost(enumeration = "super::plan_common::JoinType", tag = "1")]
1115 pub join_type: i32,
1116 #[prost(int32, repeated, tag = "2")]
1117 pub left_key: ::prost::alloc::vec::Vec<i32>,
1118 #[prost(int32, repeated, tag = "3")]
1119 pub right_key: ::prost::alloc::vec::Vec<i32>,
1120 #[prost(message, optional, tag = "4")]
1121 pub condition: ::core::option::Option<super::expr::ExprNode>,
1122 #[prost(message, optional, tag = "6")]
1124 pub left_table: ::core::option::Option<super::catalog::Table>,
1125 #[prost(message, optional, tag = "7")]
1127 pub right_table: ::core::option::Option<super::catalog::Table>,
1128 #[prost(message, optional, tag = "8")]
1130 pub left_degree_table: ::core::option::Option<super::catalog::Table>,
1131 #[prost(message, optional, tag = "9")]
1133 pub right_degree_table: ::core::option::Option<super::catalog::Table>,
1134 #[prost(uint32, repeated, tag = "10")]
1136 pub output_indices: ::prost::alloc::vec::Vec<u32>,
1137 #[prost(uint32, repeated, tag = "11")]
1142 pub left_deduped_input_pk_indices: ::prost::alloc::vec::Vec<u32>,
1143 #[prost(uint32, repeated, tag = "12")]
1148 pub right_deduped_input_pk_indices: ::prost::alloc::vec::Vec<u32>,
1149 #[prost(bool, repeated, tag = "13")]
1150 pub null_safe: ::prost::alloc::vec::Vec<bool>,
1151 #[prost(bool, tag = "14")]
1154 pub is_append_only: bool,
1155 #[deprecated]
1158 #[prost(enumeration = "JoinEncodingType", tag = "15")]
1159 pub join_encoding_type: i32,
1160 #[prost(message, optional, tag = "17")]
1162 pub watermark_handle_desc: ::core::option::Option<HashJoinWatermarkHandleDesc>,
1163}
1164#[derive(prost_helpers::AnyPB)]
1165#[derive(Clone, PartialEq, ::prost::Message)]
1166pub struct AsOfJoinNode {
1167 #[prost(enumeration = "super::plan_common::AsOfJoinType", tag = "1")]
1168 pub join_type: i32,
1169 #[prost(int32, repeated, tag = "2")]
1170 pub left_key: ::prost::alloc::vec::Vec<i32>,
1171 #[prost(int32, repeated, tag = "3")]
1172 pub right_key: ::prost::alloc::vec::Vec<i32>,
1173 #[prost(message, optional, tag = "4")]
1175 pub left_table: ::core::option::Option<super::catalog::Table>,
1176 #[prost(message, optional, tag = "5")]
1178 pub right_table: ::core::option::Option<super::catalog::Table>,
1179 #[prost(uint32, repeated, tag = "6")]
1181 pub output_indices: ::prost::alloc::vec::Vec<u32>,
1182 #[prost(uint32, repeated, tag = "7")]
1186 pub left_deduped_input_pk_indices: ::prost::alloc::vec::Vec<u32>,
1187 #[prost(uint32, repeated, tag = "8")]
1191 pub right_deduped_input_pk_indices: ::prost::alloc::vec::Vec<u32>,
1192 #[prost(bool, repeated, tag = "9")]
1193 pub null_safe: ::prost::alloc::vec::Vec<bool>,
1194 #[prost(message, optional, tag = "10")]
1195 pub asof_desc: ::core::option::Option<super::plan_common::AsOfJoinDesc>,
1196 #[deprecated]
1199 #[prost(enumeration = "JoinEncodingType", tag = "11")]
1200 pub join_encoding_type: i32,
1201 #[prost(bool, optional, tag = "12")]
1205 pub use_cache: ::core::option::Option<bool>,
1206}
1207#[derive(prost_helpers::AnyPB)]
1208#[derive(Clone, PartialEq, ::prost::Message)]
1209pub struct TemporalJoinNode {
1210 #[prost(enumeration = "super::plan_common::JoinType", tag = "1")]
1211 pub join_type: i32,
1212 #[prost(int32, repeated, tag = "2")]
1213 pub left_key: ::prost::alloc::vec::Vec<i32>,
1214 #[prost(int32, repeated, tag = "3")]
1215 pub right_key: ::prost::alloc::vec::Vec<i32>,
1216 #[prost(bool, repeated, tag = "4")]
1217 pub null_safe: ::prost::alloc::vec::Vec<bool>,
1218 #[prost(message, optional, tag = "5")]
1219 pub condition: ::core::option::Option<super::expr::ExprNode>,
1220 #[prost(uint32, repeated, tag = "6")]
1222 pub output_indices: ::prost::alloc::vec::Vec<u32>,
1223 #[prost(message, optional, tag = "7")]
1225 pub table_desc: ::core::option::Option<super::plan_common::StorageTableDesc>,
1226 #[prost(uint32, repeated, tag = "8")]
1228 pub table_output_indices: ::prost::alloc::vec::Vec<u32>,
1229 #[prost(message, optional, tag = "9")]
1231 pub memo_table: ::core::option::Option<super::catalog::Table>,
1232 #[prost(bool, tag = "10")]
1234 pub is_nested_loop: bool,
1235 #[prost(bool, tag = "11")]
1237 pub is_broadcast: bool,
1238}
1239#[derive(prost_helpers::AnyPB)]
1240#[derive(Clone, PartialEq, ::prost::Message)]
1241pub struct DynamicFilterNode {
1242 #[prost(uint32, tag = "1")]
1243 pub left_key: u32,
1244 #[prost(message, optional, tag = "2")]
1246 pub condition: ::core::option::Option<super::expr::ExprNode>,
1247 #[prost(message, optional, tag = "3")]
1249 pub left_table: ::core::option::Option<super::catalog::Table>,
1250 #[prost(message, optional, tag = "4")]
1252 pub right_table: ::core::option::Option<super::catalog::Table>,
1253 #[deprecated]
1260 #[prost(bool, tag = "5")]
1261 pub condition_always_relax: bool,
1262 #[prost(bool, tag = "6")]
1264 pub cleaned_by_watermark: bool,
1265}
1266#[derive(prost_helpers::AnyPB)]
1269#[derive(Clone, PartialEq, ::prost::Message)]
1270pub struct DeltaIndexJoinNode {
1271 #[prost(enumeration = "super::plan_common::JoinType", tag = "1")]
1272 pub join_type: i32,
1273 #[prost(int32, repeated, tag = "2")]
1274 pub left_key: ::prost::alloc::vec::Vec<i32>,
1275 #[prost(int32, repeated, tag = "3")]
1276 pub right_key: ::prost::alloc::vec::Vec<i32>,
1277 #[prost(message, optional, tag = "4")]
1278 pub condition: ::core::option::Option<super::expr::ExprNode>,
1279 #[prost(uint32, tag = "7", wrapper = "crate::id::TableId")]
1281 pub left_table_id: crate::id::TableId,
1282 #[prost(uint32, tag = "8", wrapper = "crate::id::TableId")]
1284 pub right_table_id: crate::id::TableId,
1285 #[prost(message, optional, tag = "9")]
1287 pub left_info: ::core::option::Option<ArrangementInfo>,
1288 #[prost(message, optional, tag = "10")]
1290 pub right_info: ::core::option::Option<ArrangementInfo>,
1291 #[prost(uint32, repeated, tag = "11")]
1293 pub output_indices: ::prost::alloc::vec::Vec<u32>,
1294}
1295#[derive(prost_helpers::AnyPB)]
1296#[derive(Clone, PartialEq, ::prost::Message)]
1297pub struct HopWindowNode {
1298 #[prost(uint32, tag = "1")]
1299 pub time_col: u32,
1300 #[prost(message, optional, tag = "2")]
1301 pub window_slide: ::core::option::Option<super::data::Interval>,
1302 #[prost(message, optional, tag = "3")]
1303 pub window_size: ::core::option::Option<super::data::Interval>,
1304 #[prost(uint32, repeated, tag = "4")]
1305 pub output_indices: ::prost::alloc::vec::Vec<u32>,
1306 #[prost(message, repeated, tag = "5")]
1307 pub window_start_exprs: ::prost::alloc::vec::Vec<super::expr::ExprNode>,
1308 #[prost(message, repeated, tag = "6")]
1309 pub window_end_exprs: ::prost::alloc::vec::Vec<super::expr::ExprNode>,
1310}
1311#[derive(prost_helpers::AnyPB)]
1312#[derive(Clone, PartialEq, ::prost::Message)]
1313pub struct MergeNode {
1314 #[deprecated]
1321 #[prost(uint32, repeated, packed = "false", tag = "1")]
1322 pub upstream_actor_id: ::prost::alloc::vec::Vec<u32>,
1323 #[prost(uint32, tag = "2", wrapper = "crate::id::FragmentId")]
1324 pub upstream_fragment_id: crate::id::FragmentId,
1325 #[prost(enumeration = "DispatcherType", tag = "3")]
1328 pub upstream_dispatcher_type: i32,
1329 #[deprecated]
1331 #[prost(message, repeated, tag = "4")]
1332 pub fields: ::prost::alloc::vec::Vec<super::plan_common::Field>,
1333 #[deprecated]
1336 #[prost(bool, tag = "5")]
1337 pub allow_empty_upstream: bool,
1338}
1339#[derive(prost_helpers::AnyPB)]
1342#[derive(Clone, PartialEq, ::prost::Message)]
1343pub struct ExchangeNode {
1344 #[prost(message, optional, tag = "1")]
1345 pub strategy: ::core::option::Option<DispatchStrategy>,
1346}
1347#[derive(prost_helpers::AnyPB)]
1353#[derive(Clone, PartialEq, ::prost::Message)]
1354pub struct StreamScanNode {
1355 #[prost(uint32, tag = "1", wrapper = "crate::id::TableId")]
1356 pub table_id: crate::id::TableId,
1357 #[prost(int32, repeated, tag = "2")]
1362 pub upstream_column_ids: ::prost::alloc::vec::Vec<i32>,
1363 #[prost(uint32, repeated, tag = "3")]
1368 pub output_indices: ::prost::alloc::vec::Vec<u32>,
1369 #[prost(enumeration = "StreamScanType", tag = "4")]
1374 pub stream_scan_type: i32,
1375 #[prost(message, optional, tag = "5")]
1377 pub state_table: ::core::option::Option<super::catalog::Table>,
1378 #[prost(message, optional, tag = "7")]
1381 pub table_desc: ::core::option::Option<super::plan_common::StorageTableDesc>,
1382 #[prost(uint32, optional, tag = "8")]
1384 pub rate_limit: ::core::option::Option<u32>,
1385 #[deprecated]
1387 #[prost(uint32, tag = "9")]
1388 pub snapshot_read_barrier_interval: u32,
1389 #[prost(message, optional, tag = "10")]
1392 pub arrangement_table: ::core::option::Option<super::catalog::Table>,
1393 #[prost(uint64, optional, tag = "11")]
1394 pub snapshot_backfill_epoch: ::core::option::Option<u64>,
1395 #[prost(message, optional, tag = "13")]
1397 pub pk_scan_range: ::core::option::Option<super::batch_plan::ScanRange>,
1398}
1399#[derive(prost_helpers::AnyPB)]
1401#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1402pub struct StreamCdcScanOptions {
1403 #[prost(bool, tag = "1")]
1405 pub disable_backfill: bool,
1406 #[prost(uint32, tag = "2")]
1407 pub snapshot_barrier_interval: u32,
1408 #[prost(uint32, tag = "3")]
1409 pub snapshot_batch_size: u32,
1410 #[prost(uint32, tag = "4")]
1411 pub backfill_parallelism: u32,
1412 #[prost(uint64, tag = "5")]
1413 pub backfill_num_rows_per_split: u64,
1414 #[prost(bool, tag = "6")]
1415 pub backfill_as_even_splits: bool,
1416 #[prost(uint32, tag = "7")]
1417 pub backfill_split_pk_column_index: u32,
1418}
1419#[derive(prost_helpers::AnyPB)]
1420#[derive(Clone, PartialEq, ::prost::Message)]
1421pub struct StreamCdcScanNode {
1422 #[prost(uint32, tag = "1", wrapper = "crate::id::TableId")]
1423 pub table_id: crate::id::TableId,
1424 #[prost(int32, repeated, tag = "2")]
1427 pub upstream_column_ids: ::prost::alloc::vec::Vec<i32>,
1428 #[prost(uint32, repeated, tag = "3")]
1430 pub output_indices: ::prost::alloc::vec::Vec<u32>,
1431 #[prost(message, optional, tag = "4")]
1433 pub state_table: ::core::option::Option<super::catalog::Table>,
1434 #[prost(message, optional, tag = "5")]
1436 pub cdc_table_desc: ::core::option::Option<super::plan_common::ExternalTableDesc>,
1437 #[prost(uint32, optional, tag = "6")]
1439 pub rate_limit: ::core::option::Option<u32>,
1440 #[prost(bool, tag = "7")]
1443 pub disable_backfill: bool,
1444 #[prost(message, optional, tag = "8")]
1445 pub options: ::core::option::Option<StreamCdcScanOptions>,
1446}
1447#[derive(prost_helpers::AnyPB)]
1451#[derive(Clone, PartialEq, ::prost::Message)]
1452pub struct BatchPlanNode {
1453 #[prost(message, optional, tag = "1")]
1454 pub table_desc: ::core::option::Option<super::plan_common::StorageTableDesc>,
1455 #[prost(int32, repeated, tag = "2")]
1456 pub column_ids: ::prost::alloc::vec::Vec<i32>,
1457}
1458#[derive(prost_helpers::AnyPB)]
1459#[derive(Clone, PartialEq, ::prost::Message)]
1460pub struct ArrangementInfo {
1461 #[prost(message, repeated, tag = "1")]
1464 pub arrange_key_orders: ::prost::alloc::vec::Vec<super::common::ColumnOrder>,
1465 #[prost(message, repeated, tag = "2")]
1467 pub column_descs: ::prost::alloc::vec::Vec<super::plan_common::ColumnDesc>,
1468 #[prost(message, optional, tag = "4")]
1470 pub table_desc: ::core::option::Option<super::plan_common::StorageTableDesc>,
1471 #[prost(uint32, repeated, tag = "5")]
1473 pub output_col_idx: ::prost::alloc::vec::Vec<u32>,
1474}
1475#[derive(prost_helpers::AnyPB)]
1478#[derive(Clone, PartialEq, ::prost::Message)]
1479pub struct ArrangeNode {
1480 #[prost(message, optional, tag = "1")]
1482 pub table_info: ::core::option::Option<ArrangementInfo>,
1483 #[prost(uint32, repeated, tag = "2")]
1485 pub distribution_key: ::prost::alloc::vec::Vec<u32>,
1486 #[prost(message, optional, tag = "3")]
1488 pub table: ::core::option::Option<super::catalog::Table>,
1489}
1490#[derive(prost_helpers::AnyPB)]
1492#[derive(Clone, PartialEq, ::prost::Message)]
1493pub struct LookupNode {
1494 #[prost(int32, repeated, tag = "1")]
1496 pub arrange_key: ::prost::alloc::vec::Vec<i32>,
1497 #[prost(int32, repeated, tag = "2")]
1499 pub stream_key: ::prost::alloc::vec::Vec<i32>,
1500 #[prost(bool, tag = "3")]
1502 pub use_current_epoch: bool,
1503 #[prost(int32, repeated, tag = "4")]
1507 pub column_mapping: ::prost::alloc::vec::Vec<i32>,
1508 #[prost(message, optional, tag = "7")]
1510 pub arrangement_table_info: ::core::option::Option<ArrangementInfo>,
1511 #[prost(oneof = "lookup_node::ArrangementTableId", tags = "5, 6")]
1512 pub arrangement_table_id: ::core::option::Option<lookup_node::ArrangementTableId>,
1513}
1514pub mod lookup_node {
1516 #[derive(prost_helpers::AnyPB)]
1517 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
1518 pub enum ArrangementTableId {
1519 #[prost(uint32, tag = "5", wrapper = "crate::id::TableId")]
1521 TableId(crate::id::TableId),
1522 #[prost(uint32, tag = "6", wrapper = "crate::id::TableId")]
1524 IndexId(crate::id::TableId),
1525 }
1526}
1527#[derive(prost_helpers::AnyPB)]
1529#[derive(Clone, PartialEq, ::prost::Message)]
1530pub struct WatermarkFilterNode {
1531 #[prost(message, repeated, tag = "1")]
1533 pub watermark_descs: ::prost::alloc::vec::Vec<super::catalog::WatermarkDesc>,
1534 #[prost(message, repeated, tag = "2")]
1536 pub tables: ::prost::alloc::vec::Vec<super::catalog::Table>,
1537}
1538#[derive(prost_helpers::AnyPB)]
1540#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1541pub struct UnionNode {}
1542#[derive(prost_helpers::AnyPB)]
1544#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1545pub struct LookupUnionNode {
1546 #[prost(uint32, repeated, tag = "1")]
1547 pub order: ::prost::alloc::vec::Vec<u32>,
1548}
1549#[derive(prost_helpers::AnyPB)]
1550#[derive(Clone, PartialEq, ::prost::Message)]
1551pub struct ExpandNode {
1552 #[prost(message, repeated, tag = "1")]
1553 pub column_subsets: ::prost::alloc::vec::Vec<expand_node::Subset>,
1554}
1555pub mod expand_node {
1557 #[derive(prost_helpers::AnyPB)]
1558 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1559 pub struct Subset {
1560 #[prost(uint32, repeated, tag = "1")]
1561 pub column_indices: ::prost::alloc::vec::Vec<u32>,
1562 }
1563}
1564#[derive(prost_helpers::AnyPB)]
1565#[derive(Clone, PartialEq, ::prost::Message)]
1566pub struct ProjectSetNode {
1567 #[prost(message, repeated, tag = "1")]
1568 pub select_list: ::prost::alloc::vec::Vec<super::expr::ProjectSetSelectItem>,
1569 #[prost(uint32, repeated, tag = "2")]
1573 pub watermark_input_cols: ::prost::alloc::vec::Vec<u32>,
1574 #[prost(uint32, repeated, tag = "3")]
1575 pub watermark_expr_indices: ::prost::alloc::vec::Vec<u32>,
1576 #[prost(uint32, repeated, tag = "4")]
1577 pub nondecreasing_exprs: ::prost::alloc::vec::Vec<u32>,
1578}
1579#[derive(prost_helpers::AnyPB)]
1581#[derive(Clone, PartialEq, ::prost::Message)]
1582pub struct SortNode {
1583 #[prost(message, optional, tag = "1")]
1585 pub state_table: ::core::option::Option<super::catalog::Table>,
1586 #[prost(uint32, tag = "2")]
1588 pub sort_column_index: u32,
1589}
1590#[derive(prost_helpers::AnyPB)]
1592#[derive(Clone, PartialEq, ::prost::Message)]
1593pub struct DmlNode {
1594 #[prost(uint32, tag = "1", wrapper = "crate::id::TableId")]
1596 pub table_id: crate::id::TableId,
1597 #[prost(uint64, tag = "3")]
1599 pub table_version_id: u64,
1600 #[prost(message, repeated, tag = "2")]
1602 pub column_descs: ::prost::alloc::vec::Vec<super::plan_common::ColumnDesc>,
1603 #[prost(uint32, optional, tag = "4")]
1604 pub rate_limit: ::core::option::Option<u32>,
1605}
1606#[derive(prost_helpers::AnyPB)]
1607#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1608pub struct RowIdGenNode {
1609 #[prost(uint64, tag = "1")]
1610 pub row_id_index: u64,
1611}
1612#[derive(prost_helpers::AnyPB)]
1613#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1614pub struct NowModeUpdateCurrent {}
1615#[derive(prost_helpers::AnyPB)]
1616#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1617pub struct NowModeGenerateSeries {
1618 #[prost(message, optional, tag = "1")]
1619 pub start_timestamp: ::core::option::Option<super::data::Datum>,
1620 #[prost(message, optional, tag = "2")]
1621 pub interval: ::core::option::Option<super::data::Datum>,
1622}
1623#[derive(prost_helpers::AnyPB)]
1624#[derive(Clone, PartialEq, ::prost::Message)]
1625pub struct NowNode {
1626 #[prost(message, optional, tag = "1")]
1628 pub state_table: ::core::option::Option<super::catalog::Table>,
1629 #[prost(oneof = "now_node::Mode", tags = "101, 102")]
1630 pub mode: ::core::option::Option<now_node::Mode>,
1631}
1632pub mod now_node {
1634 #[derive(prost_helpers::AnyPB)]
1635 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
1636 pub enum Mode {
1637 #[prost(message, tag = "101")]
1638 UpdateCurrent(super::NowModeUpdateCurrent),
1639 #[prost(message, tag = "102")]
1640 GenerateSeries(super::NowModeGenerateSeries),
1641 }
1642}
1643#[derive(prost_helpers::AnyPB)]
1644#[derive(Clone, PartialEq, ::prost::Message)]
1645pub struct ValuesNode {
1646 #[prost(message, repeated, tag = "1")]
1647 pub tuples: ::prost::alloc::vec::Vec<values_node::ExprTuple>,
1648 #[prost(message, repeated, tag = "2")]
1649 pub fields: ::prost::alloc::vec::Vec<super::plan_common::Field>,
1650}
1651pub mod values_node {
1653 #[derive(prost_helpers::AnyPB)]
1654 #[derive(Clone, PartialEq, ::prost::Message)]
1655 pub struct ExprTuple {
1656 #[prost(message, repeated, tag = "1")]
1657 pub cells: ::prost::alloc::vec::Vec<super::super::expr::ExprNode>,
1658 }
1659}
1660#[derive(prost_helpers::AnyPB)]
1661#[derive(Clone, PartialEq, ::prost::Message)]
1662pub struct DedupNode {
1663 #[prost(message, optional, tag = "1")]
1664 pub state_table: ::core::option::Option<super::catalog::Table>,
1665 #[prost(uint32, repeated, tag = "2")]
1666 pub dedup_column_indices: ::prost::alloc::vec::Vec<u32>,
1667}
1668#[derive(prost_helpers::AnyPB)]
1669#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1670pub struct NoOpNode {}
1671#[derive(prost_helpers::AnyPB)]
1672#[derive(Clone, PartialEq, ::prost::Message)]
1673pub struct EowcOverWindowNode {
1674 #[prost(message, repeated, tag = "1")]
1675 pub calls: ::prost::alloc::vec::Vec<super::expr::WindowFunction>,
1676 #[prost(uint32, repeated, tag = "2")]
1677 pub partition_by: ::prost::alloc::vec::Vec<u32>,
1678 #[prost(message, repeated, tag = "3")]
1680 pub order_by: ::prost::alloc::vec::Vec<super::common::ColumnOrder>,
1681 #[prost(message, optional, tag = "4")]
1682 pub state_table: ::core::option::Option<super::catalog::Table>,
1683 #[prost(message, optional, tag = "5")]
1686 pub intermediate_state_table: ::core::option::Option<super::catalog::Table>,
1687 #[prost(message, optional, tag = "6")]
1691 pub watermark_trigger_table: ::core::option::Option<super::catalog::Table>,
1692 #[prost(enumeration = "EowcOverWindowNodeVersion", tag = "7")]
1693 pub version: i32,
1694}
1695#[derive(prost_helpers::AnyPB)]
1696#[derive(Clone, PartialEq, ::prost::Message)]
1697pub struct OverWindowNode {
1698 #[prost(message, repeated, tag = "1")]
1699 pub calls: ::prost::alloc::vec::Vec<super::expr::WindowFunction>,
1700 #[prost(uint32, repeated, tag = "2")]
1701 pub partition_by: ::prost::alloc::vec::Vec<u32>,
1702 #[prost(message, repeated, tag = "3")]
1703 pub order_by: ::prost::alloc::vec::Vec<super::common::ColumnOrder>,
1704 #[prost(message, optional, tag = "4")]
1705 pub state_table: ::core::option::Option<super::catalog::Table>,
1706 #[deprecated]
1708 #[prost(enumeration = "OverWindowCachePolicy", tag = "5")]
1709 pub cache_policy: i32,
1710 #[prost(bool, tag = "6")]
1715 pub enable_state_cleaning: bool,
1716}
1717#[derive(prost_helpers::AnyPB)]
1718#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1719pub struct LocalApproxPercentileNode {
1720 #[prost(double, tag = "1")]
1721 pub base: f64,
1722 #[prost(uint32, tag = "2")]
1723 pub percentile_index: u32,
1724}
1725#[derive(prost_helpers::AnyPB)]
1726#[derive(Clone, PartialEq, ::prost::Message)]
1727pub struct GlobalApproxPercentileNode {
1728 #[prost(double, tag = "1")]
1729 pub base: f64,
1730 #[prost(double, tag = "2")]
1731 pub quantile: f64,
1732 #[prost(message, optional, tag = "3")]
1733 pub bucket_state_table: ::core::option::Option<super::catalog::Table>,
1734 #[prost(message, optional, tag = "4")]
1735 pub count_state_table: ::core::option::Option<super::catalog::Table>,
1736}
1737#[derive(prost_helpers::AnyPB)]
1738#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1739pub struct RowMergeNode {
1740 #[prost(message, optional, tag = "1")]
1741 pub lhs_mapping: ::core::option::Option<super::catalog::ColIndexMapping>,
1742 #[prost(message, optional, tag = "2")]
1743 pub rhs_mapping: ::core::option::Option<super::catalog::ColIndexMapping>,
1744}
1745#[derive(prost_helpers::AnyPB)]
1746#[derive(Clone, PartialEq, ::prost::Message)]
1747pub struct SyncLogStoreNode {
1748 #[prost(message, optional, tag = "1")]
1749 pub log_store_table: ::core::option::Option<super::catalog::Table>,
1750 #[deprecated]
1752 #[prost(uint32, optional, tag = "2")]
1753 pub pause_duration_ms: ::core::option::Option<u32>,
1754 #[deprecated]
1756 #[prost(uint32, optional, tag = "3")]
1757 pub buffer_size: ::core::option::Option<u32>,
1758 #[prost(bool, tag = "4")]
1759 pub aligned: bool,
1760}
1761#[derive(prost_helpers::AnyPB)]
1762#[derive(Clone, PartialEq, ::prost::Message)]
1763pub struct MaterializedExprsNode {
1764 #[prost(message, repeated, tag = "1")]
1765 pub exprs: ::prost::alloc::vec::Vec<super::expr::ExprNode>,
1766 #[prost(message, optional, tag = "2")]
1767 pub state_table: ::core::option::Option<super::catalog::Table>,
1768 #[prost(uint32, optional, tag = "3")]
1769 pub state_clean_col_idx: ::core::option::Option<u32>,
1770}
1771#[derive(prost_helpers::AnyPB)]
1772#[derive(Clone, PartialEq, ::prost::Message)]
1773pub struct VectorIndexWriteNode {
1774 #[prost(message, optional, tag = "1")]
1775 pub table: ::core::option::Option<super::catalog::Table>,
1776}
1777#[derive(prost_helpers::AnyPB)]
1778#[derive(Clone, PartialEq, ::prost::Message)]
1779pub struct VectorIndexLookupJoinNode {
1780 #[prost(message, optional, tag = "1")]
1781 pub reader_desc: ::core::option::Option<super::plan_common::VectorIndexReaderDesc>,
1782 #[prost(uint32, tag = "2")]
1783 pub vector_column_idx: u32,
1784}
1785#[derive(prost_helpers::AnyPB)]
1786#[derive(Clone, PartialEq, ::prost::Message)]
1787pub struct UpstreamSinkUnionNode {
1788 #[prost(message, repeated, tag = "1")]
1791 pub init_upstreams: ::prost::alloc::vec::Vec<UpstreamSinkInfo>,
1792}
1793#[derive(prost_helpers::AnyPB)]
1794#[derive(Clone, PartialEq, ::prost::Message)]
1795pub struct LocalityProviderNode {
1796 #[prost(uint32, repeated, tag = "1")]
1798 pub locality_columns: ::prost::alloc::vec::Vec<u32>,
1799 #[prost(message, optional, tag = "2")]
1801 pub state_table: ::core::option::Option<super::catalog::Table>,
1802 #[prost(message, optional, tag = "3")]
1804 pub progress_table: ::core::option::Option<super::catalog::Table>,
1805 #[prost(uint32, optional, tag = "4")]
1807 pub rate_limit: ::core::option::Option<u32>,
1808 #[prost(message, optional, tag = "5")]
1812 pub sort_buffer_table: ::core::option::Option<super::catalog::Table>,
1813}
1814#[derive(prost_helpers::AnyPB)]
1815#[derive(Clone, PartialEq, ::prost::Message)]
1816pub struct EowcGapFillNode {
1817 #[prost(uint32, tag = "1")]
1818 pub time_column_index: u32,
1819 #[prost(message, optional, tag = "2")]
1820 pub interval: ::core::option::Option<super::expr::ExprNode>,
1821 #[prost(uint32, repeated, tag = "3")]
1822 pub fill_columns: ::prost::alloc::vec::Vec<u32>,
1823 #[prost(string, repeated, tag = "4")]
1824 pub fill_strategies: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1825 #[prost(message, optional, tag = "6")]
1826 pub prev_row_table: ::core::option::Option<super::catalog::Table>,
1827 #[prost(uint32, repeated, tag = "7")]
1828 pub partition_by_indices: ::prost::alloc::vec::Vec<u32>,
1829}
1830#[derive(prost_helpers::AnyPB)]
1831#[derive(Clone, PartialEq, ::prost::Message)]
1832pub struct GapFillNode {
1833 #[prost(uint32, tag = "1")]
1834 pub time_column_index: u32,
1835 #[prost(message, optional, tag = "2")]
1836 pub interval: ::core::option::Option<super::expr::ExprNode>,
1837 #[prost(uint32, repeated, tag = "3")]
1838 pub fill_columns: ::prost::alloc::vec::Vec<u32>,
1839 #[prost(string, repeated, tag = "4")]
1840 pub fill_strategies: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1841 #[prost(message, optional, tag = "5")]
1842 pub state_table: ::core::option::Option<super::catalog::Table>,
1843 #[prost(uint32, repeated, tag = "6")]
1844 pub partition_by_indices: ::prost::alloc::vec::Vec<u32>,
1845 #[prost(uint32, repeated, tag = "7")]
1846 pub pointer_key_indices: ::prost::alloc::vec::Vec<u32>,
1847}
1848#[derive(prost_helpers::AnyPB)]
1851#[derive(Clone, PartialEq, ::prost::Message)]
1852pub struct MatchRecognizeNode {
1853 #[prost(uint32, repeated, tag = "1")]
1854 pub partition_by: ::prost::alloc::vec::Vec<u32>,
1855 #[prost(message, repeated, tag = "2")]
1858 pub order_by: ::prost::alloc::vec::Vec<super::common::ColumnOrder>,
1859 #[prost(message, repeated, tag = "3")]
1860 pub measures: ::prost::alloc::vec::Vec<MatchRecognizeMeasure>,
1861 #[prost(message, repeated, tag = "5")]
1862 pub defines: ::prost::alloc::vec::Vec<MatchRecognizeDefine>,
1863 #[prost(message, optional, tag = "12")]
1867 pub pattern_node: ::core::option::Option<MatchRecognizePatternNode>,
1868 #[prost(message, optional, tag = "8")]
1872 pub state_table: ::core::option::Option<super::catalog::Table>,
1873 #[prost(message, optional, tag = "9")]
1875 pub after_match_skip: ::core::option::Option<MatchRecognizeAfterMatchSkip>,
1876 #[prost(message, optional, tag = "11")]
1879 pub within: ::core::option::Option<super::expr::ExprNode>,
1880 #[prost(message, optional, tag = "15")]
1884 pub within_deadline: ::core::option::Option<super::expr::ExprNode>,
1885 #[prost(enumeration = "MatchRecognizeInputMode", tag = "16")]
1889 pub input_mode: i32,
1890}
1891#[derive(prost_helpers::AnyPB)]
1895#[derive(Clone, PartialEq, ::prost::Message)]
1896pub struct MatchRecognizePatternNode {
1897 #[prost(oneof = "match_recognize_pattern_node::Node", tags = "1, 2, 3, 4, 5")]
1898 pub node: ::core::option::Option<match_recognize_pattern_node::Node>,
1899}
1900pub mod match_recognize_pattern_node {
1902 #[derive(prost_helpers::AnyPB)]
1903 #[derive(Clone, PartialEq, ::prost::Oneof)]
1904 pub enum Node {
1905 #[prost(string, tag = "1")]
1907 Var(::prost::alloc::string::String),
1908 #[prost(message, tag = "2")]
1910 Concat(super::MatchRecognizePatternSeq),
1911 #[prost(message, tag = "3")]
1913 Alternation(super::MatchRecognizePatternSeq),
1914 #[prost(message, tag = "4")]
1916 Quantified(::prost::alloc::boxed::Box<super::MatchRecognizeQuantifiedPattern>),
1917 #[prost(message, tag = "5")]
1919 Permute(super::MatchRecognizePermutePattern),
1920 }
1921}
1922#[derive(prost_helpers::AnyPB)]
1924#[derive(Clone, PartialEq, ::prost::Message)]
1925pub struct MatchRecognizePatternSeq {
1926 #[prost(message, repeated, tag = "1")]
1927 pub patterns: ::prost::alloc::vec::Vec<MatchRecognizePatternNode>,
1928}
1929#[derive(prost_helpers::AnyPB)]
1931#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1932pub struct MatchRecognizePermutePattern {
1933 #[prost(string, repeated, tag = "1")]
1934 pub vars: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1935}
1936#[derive(prost_helpers::AnyPB)]
1938#[derive(Clone, PartialEq, ::prost::Message)]
1939pub struct MatchRecognizeQuantifiedPattern {
1940 #[prost(message, optional, boxed, tag = "1")]
1941 pub inner: ::core::option::Option<
1942 ::prost::alloc::boxed::Box<MatchRecognizePatternNode>,
1943 >,
1944 #[prost(message, optional, tag = "2")]
1945 pub quantifier: ::core::option::Option<MatchRecognizeQuantifier>,
1946 #[prost(bool, tag = "3")]
1948 pub reluctant: bool,
1949}
1950#[derive(prost_helpers::AnyPB)]
1952#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1953pub struct MatchRecognizeQuantifier {
1954 #[prost(enumeration = "match_recognize_quantifier::Kind", tag = "1")]
1955 pub kind: i32,
1956 #[prost(uint32, tag = "2")]
1958 pub min: u32,
1959 #[prost(uint32, optional, tag = "3")]
1961 pub max: ::core::option::Option<u32>,
1962}
1963pub mod match_recognize_quantifier {
1965 #[derive(prost_helpers::AnyPB)]
1966 #[derive(
1967 Clone,
1968 Copy,
1969 Debug,
1970 PartialEq,
1971 Eq,
1972 Hash,
1973 PartialOrd,
1974 Ord,
1975 ::prost::Enumeration
1976 )]
1977 #[repr(i32)]
1978 pub enum Kind {
1979 Unspecified = 0,
1980 Star = 1,
1982 Plus = 2,
1984 Question = 3,
1986 Range = 4,
1988 }
1989 impl Kind {
1990 pub fn as_str_name(&self) -> &'static str {
1995 match self {
1996 Self::Unspecified => "KIND_UNSPECIFIED",
1997 Self::Star => "KIND_STAR",
1998 Self::Plus => "KIND_PLUS",
1999 Self::Question => "KIND_QUESTION",
2000 Self::Range => "KIND_RANGE",
2001 }
2002 }
2003 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2005 match value {
2006 "KIND_UNSPECIFIED" => Some(Self::Unspecified),
2007 "KIND_STAR" => Some(Self::Star),
2008 "KIND_PLUS" => Some(Self::Plus),
2009 "KIND_QUESTION" => Some(Self::Question),
2010 "KIND_RANGE" => Some(Self::Range),
2011 _ => None,
2012 }
2013 }
2014 }
2015}
2016#[derive(prost_helpers::AnyPB)]
2020#[derive(Clone, PartialEq, ::prost::Message)]
2021pub struct MatchRecognizeDefine {
2022 #[prost(string, tag = "1")]
2023 pub symbol: ::prost::alloc::string::String,
2024 #[prost(message, optional, tag = "2")]
2026 pub condition: ::core::option::Option<super::expr::ExprNode>,
2027 #[prost(message, repeated, tag = "3")]
2028 pub slots: ::prost::alloc::vec::Vec<MatchRecognizeDefineSlot>,
2029}
2030#[derive(prost_helpers::AnyPB)]
2032#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
2033pub struct MatchRecognizeAfterMatchSkip {
2034 #[prost(enumeration = "match_recognize_after_match_skip::Mode", tag = "1")]
2035 pub mode: i32,
2036 #[prost(string, optional, tag = "2")]
2038 pub target: ::core::option::Option<::prost::alloc::string::String>,
2039}
2040pub mod match_recognize_after_match_skip {
2042 #[derive(prost_helpers::AnyPB)]
2043 #[derive(
2044 Clone,
2045 Copy,
2046 Debug,
2047 PartialEq,
2048 Eq,
2049 Hash,
2050 PartialOrd,
2051 Ord,
2052 ::prost::Enumeration
2053 )]
2054 #[repr(i32)]
2055 pub enum Mode {
2056 Unspecified = 0,
2057 PastLastRow = 1,
2059 ToNextRow = 2,
2061 ToFirst = 3,
2063 ToLast = 4,
2064 }
2065 impl Mode {
2066 pub fn as_str_name(&self) -> &'static str {
2071 match self {
2072 Self::Unspecified => "MODE_UNSPECIFIED",
2073 Self::PastLastRow => "MODE_PAST_LAST_ROW",
2074 Self::ToNextRow => "MODE_TO_NEXT_ROW",
2075 Self::ToFirst => "MODE_TO_FIRST",
2076 Self::ToLast => "MODE_TO_LAST",
2077 }
2078 }
2079 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2081 match value {
2082 "MODE_UNSPECIFIED" => Some(Self::Unspecified),
2083 "MODE_PAST_LAST_ROW" => Some(Self::PastLastRow),
2084 "MODE_TO_NEXT_ROW" => Some(Self::ToNextRow),
2085 "MODE_TO_FIRST" => Some(Self::ToFirst),
2086 "MODE_TO_LAST" => Some(Self::ToLast),
2087 _ => None,
2088 }
2089 }
2090 }
2091}
2092#[derive(prost_helpers::AnyPB)]
2094#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
2095pub struct MatchRecognizeDefineSlot {
2096 #[prost(enumeration = "match_recognize_define_slot::Kind", tag = "1")]
2097 pub kind: i32,
2098 #[prost(string, repeated, tag = "2")]
2099 pub vars: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2100 #[prost(uint32, tag = "3")]
2101 pub col_idx: u32,
2102 #[prost(uint32, tag = "4")]
2103 pub offset: u32,
2104}
2105pub mod match_recognize_define_slot {
2107 #[derive(prost_helpers::AnyPB)]
2108 #[derive(
2109 Clone,
2110 Copy,
2111 Debug,
2112 PartialEq,
2113 Eq,
2114 Hash,
2115 PartialOrd,
2116 Ord,
2117 ::prost::Enumeration
2118 )]
2119 #[repr(i32)]
2120 pub enum Kind {
2121 Unspecified = 0,
2122 SelfCol = 1,
2124 Prev = 2,
2126 Next = 3,
2127 RunningFirst = 4,
2132 RunningLast = 5,
2133 }
2134 impl Kind {
2135 pub fn as_str_name(&self) -> &'static str {
2140 match self {
2141 Self::Unspecified => "KIND_UNSPECIFIED",
2142 Self::SelfCol => "KIND_SELF_COL",
2143 Self::Prev => "KIND_PREV",
2144 Self::Next => "KIND_NEXT",
2145 Self::RunningFirst => "KIND_RUNNING_FIRST",
2146 Self::RunningLast => "KIND_RUNNING_LAST",
2147 }
2148 }
2149 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2151 match value {
2152 "KIND_UNSPECIFIED" => Some(Self::Unspecified),
2153 "KIND_SELF_COL" => Some(Self::SelfCol),
2154 "KIND_PREV" => Some(Self::Prev),
2155 "KIND_NEXT" => Some(Self::Next),
2156 "KIND_RUNNING_FIRST" => Some(Self::RunningFirst),
2157 "KIND_RUNNING_LAST" => Some(Self::RunningLast),
2158 _ => None,
2159 }
2160 }
2161 }
2162}
2163#[derive(prost_helpers::AnyPB)]
2167#[derive(Clone, PartialEq, ::prost::Message)]
2168pub struct MatchRecognizeMeasure {
2169 #[prost(message, optional, tag = "1")]
2171 pub expr: ::core::option::Option<super::expr::ExprNode>,
2172 #[prost(string, tag = "2")]
2173 pub name: ::prost::alloc::string::String,
2174 #[prost(message, repeated, tag = "3")]
2175 pub slots: ::prost::alloc::vec::Vec<MatchRecognizeMeasureSlot>,
2176}
2177#[derive(prost_helpers::AnyPB)]
2179#[derive(Clone, PartialEq, ::prost::Message)]
2180pub struct MatchRecognizeMeasureSlot {
2181 #[prost(enumeration = "match_recognize_measure_slot::Kind", tag = "1")]
2182 pub kind: i32,
2183 #[prost(string, repeated, tag = "2")]
2186 pub vars: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2187 #[prost(uint32, tag = "3")]
2188 pub col_idx: u32,
2189 #[prost(message, optional, tag = "4")]
2190 pub data_type: ::core::option::Option<super::data::DataType>,
2191 #[prost(message, optional, tag = "5")]
2194 pub agg_call: ::core::option::Option<super::expr::AggCall>,
2195}
2196pub mod match_recognize_measure_slot {
2198 #[derive(prost_helpers::AnyPB)]
2199 #[derive(
2200 Clone,
2201 Copy,
2202 Debug,
2203 PartialEq,
2204 Eq,
2205 Hash,
2206 PartialOrd,
2207 Ord,
2208 ::prost::Enumeration
2209 )]
2210 #[repr(i32)]
2211 pub enum Kind {
2212 Unspecified = 0,
2213 Last = 1,
2216 First = 2,
2218 Classifier = 3,
2220 CountStar = 4,
2222 Count = 5,
2224 Min = 6,
2226 Max = 7,
2227 Sum = 8,
2230 }
2231 impl Kind {
2232 pub fn as_str_name(&self) -> &'static str {
2237 match self {
2238 Self::Unspecified => "KIND_UNSPECIFIED",
2239 Self::Last => "KIND_LAST",
2240 Self::First => "KIND_FIRST",
2241 Self::Classifier => "KIND_CLASSIFIER",
2242 Self::CountStar => "KIND_COUNT_STAR",
2243 Self::Count => "KIND_COUNT",
2244 Self::Min => "KIND_MIN",
2245 Self::Max => "KIND_MAX",
2246 Self::Sum => "KIND_SUM",
2247 }
2248 }
2249 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2251 match value {
2252 "KIND_UNSPECIFIED" => Some(Self::Unspecified),
2253 "KIND_LAST" => Some(Self::Last),
2254 "KIND_FIRST" => Some(Self::First),
2255 "KIND_CLASSIFIER" => Some(Self::Classifier),
2256 "KIND_COUNT_STAR" => Some(Self::CountStar),
2257 "KIND_COUNT" => Some(Self::Count),
2258 "KIND_MIN" => Some(Self::Min),
2259 "KIND_MAX" => Some(Self::Max),
2260 "KIND_SUM" => Some(Self::Sum),
2261 _ => None,
2262 }
2263 }
2264 }
2265}
2266#[derive(prost_helpers::AnyPB)]
2267#[derive(Clone, PartialEq, ::prost::Message)]
2268pub struct StreamNode {
2269 #[prost(uint64, tag = "1", wrapper = "crate::id::StreamNodeLocalOperatorId")]
2272 pub operator_id: crate::id::StreamNodeLocalOperatorId,
2273 #[prost(message, repeated, tag = "3")]
2275 pub input: ::prost::alloc::vec::Vec<StreamNode>,
2276 #[prost(uint32, repeated, tag = "2")]
2277 pub stream_key: ::prost::alloc::vec::Vec<u32>,
2278 #[prost(enumeration = "stream_node::StreamKind", tag = "24")]
2279 pub stream_kind: i32,
2280 #[prost(string, tag = "18")]
2281 pub identity: ::prost::alloc::string::String,
2282 #[prost(message, repeated, tag = "19")]
2284 pub fields: ::prost::alloc::vec::Vec<super::plan_common::Field>,
2285 #[prost(
2286 oneof = "stream_node::NodeBody",
2287 tags = "100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159"
2288 )]
2289 pub node_body: ::core::option::Option<stream_node::NodeBody>,
2290}
2291pub mod stream_node {
2293 #[derive(prost_helpers::AnyPB)]
2296 #[derive(
2297 Clone,
2298 Copy,
2299 Debug,
2300 PartialEq,
2301 Eq,
2302 Hash,
2303 PartialOrd,
2304 Ord,
2305 ::prost::Enumeration
2306 )]
2307 #[repr(i32)]
2308 pub enum StreamKind {
2309 Retract = 0,
2311 AppendOnly = 1,
2312 Upsert = 2,
2313 }
2314 impl StreamKind {
2315 pub fn as_str_name(&self) -> &'static str {
2320 match self {
2321 Self::Retract => "STREAM_KIND_RETRACT",
2322 Self::AppendOnly => "STREAM_KIND_APPEND_ONLY",
2323 Self::Upsert => "STREAM_KIND_UPSERT",
2324 }
2325 }
2326 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2328 match value {
2329 "STREAM_KIND_RETRACT" => Some(Self::Retract),
2330 "STREAM_KIND_APPEND_ONLY" => Some(Self::AppendOnly),
2331 "STREAM_KIND_UPSERT" => Some(Self::Upsert),
2332 _ => None,
2333 }
2334 }
2335 }
2336 #[derive(prost_helpers::AnyPB)]
2337 #[derive(::enum_as_inner::EnumAsInner, ::strum::Display, ::strum::EnumDiscriminants)]
2338 #[derive(::prost_helpers::StreamNodeBodyVariants)]
2339 #[strum_discriminants(derive(::strum::Display, Hash))]
2340 #[derive(Clone, PartialEq, ::prost::Oneof)]
2341 pub enum NodeBody {
2342 #[prost(message, tag = "100")]
2343 Source(::prost::alloc::boxed::Box<super::SourceNode>),
2344 #[prost(message, tag = "101")]
2345 Project(::prost::alloc::boxed::Box<super::ProjectNode>),
2346 #[prost(message, tag = "102")]
2347 Filter(::prost::alloc::boxed::Box<super::FilterNode>),
2348 #[prost(message, tag = "103")]
2349 Materialize(::prost::alloc::boxed::Box<super::MaterializeNode>),
2350 #[prost(message, tag = "104")]
2351 StatelessSimpleAgg(::prost::alloc::boxed::Box<super::SimpleAggNode>),
2352 #[prost(message, tag = "105")]
2353 SimpleAgg(::prost::alloc::boxed::Box<super::SimpleAggNode>),
2354 #[prost(message, tag = "106")]
2355 HashAgg(::prost::alloc::boxed::Box<super::HashAggNode>),
2356 #[prost(message, tag = "107")]
2357 AppendOnlyTopN(::prost::alloc::boxed::Box<super::TopNNode>),
2358 #[prost(message, tag = "108")]
2359 HashJoin(::prost::alloc::boxed::Box<super::HashJoinNode>),
2360 #[prost(message, tag = "109")]
2361 TopN(::prost::alloc::boxed::Box<super::TopNNode>),
2362 #[prost(message, tag = "110")]
2363 HopWindow(::prost::alloc::boxed::Box<super::HopWindowNode>),
2364 #[prost(message, tag = "111")]
2365 Merge(::prost::alloc::boxed::Box<super::MergeNode>),
2366 #[prost(message, tag = "112")]
2367 Exchange(::prost::alloc::boxed::Box<super::ExchangeNode>),
2368 #[prost(message, tag = "113")]
2369 StreamScan(::prost::alloc::boxed::Box<super::StreamScanNode>),
2370 #[prost(message, tag = "114")]
2371 BatchPlan(::prost::alloc::boxed::Box<super::BatchPlanNode>),
2372 #[prost(message, tag = "115")]
2373 Lookup(::prost::alloc::boxed::Box<super::LookupNode>),
2374 #[prost(message, tag = "116")]
2375 Arrange(::prost::alloc::boxed::Box<super::ArrangeNode>),
2376 #[prost(message, tag = "117")]
2377 LookupUnion(::prost::alloc::boxed::Box<super::LookupUnionNode>),
2378 #[prost(message, tag = "118")]
2379 Union(super::UnionNode),
2380 #[prost(message, tag = "119")]
2381 DeltaIndexJoin(::prost::alloc::boxed::Box<super::DeltaIndexJoinNode>),
2382 #[prost(message, tag = "120")]
2383 Sink(::prost::alloc::boxed::Box<super::SinkNode>),
2384 #[prost(message, tag = "121")]
2385 Expand(::prost::alloc::boxed::Box<super::ExpandNode>),
2386 #[prost(message, tag = "122")]
2387 DynamicFilter(::prost::alloc::boxed::Box<super::DynamicFilterNode>),
2388 #[prost(message, tag = "123")]
2389 ProjectSet(::prost::alloc::boxed::Box<super::ProjectSetNode>),
2390 #[prost(message, tag = "124")]
2391 GroupTopN(::prost::alloc::boxed::Box<super::GroupTopNNode>),
2392 #[prost(message, tag = "125")]
2393 Sort(::prost::alloc::boxed::Box<super::SortNode>),
2394 #[prost(message, tag = "126")]
2395 WatermarkFilter(::prost::alloc::boxed::Box<super::WatermarkFilterNode>),
2396 #[prost(message, tag = "127")]
2397 Dml(::prost::alloc::boxed::Box<super::DmlNode>),
2398 #[prost(message, tag = "128")]
2399 RowIdGen(::prost::alloc::boxed::Box<super::RowIdGenNode>),
2400 #[prost(message, tag = "129")]
2401 Now(::prost::alloc::boxed::Box<super::NowNode>),
2402 #[prost(message, tag = "130")]
2403 AppendOnlyGroupTopN(::prost::alloc::boxed::Box<super::GroupTopNNode>),
2404 #[prost(message, tag = "131")]
2405 TemporalJoin(::prost::alloc::boxed::Box<super::TemporalJoinNode>),
2406 #[prost(message, tag = "132")]
2407 BarrierRecv(::prost::alloc::boxed::Box<super::BarrierRecvNode>),
2408 #[prost(message, tag = "133")]
2409 Values(::prost::alloc::boxed::Box<super::ValuesNode>),
2410 #[prost(message, tag = "134")]
2411 AppendOnlyDedup(::prost::alloc::boxed::Box<super::DedupNode>),
2412 #[prost(message, tag = "135")]
2413 NoOp(super::NoOpNode),
2414 #[prost(message, tag = "136")]
2415 EowcOverWindow(::prost::alloc::boxed::Box<super::EowcOverWindowNode>),
2416 #[prost(message, tag = "137")]
2417 OverWindow(::prost::alloc::boxed::Box<super::OverWindowNode>),
2418 #[prost(message, tag = "138")]
2419 StreamFsFetch(::prost::alloc::boxed::Box<super::StreamFsFetchNode>),
2420 #[prost(message, tag = "139")]
2421 StreamCdcScan(::prost::alloc::boxed::Box<super::StreamCdcScanNode>),
2422 #[prost(message, tag = "140")]
2423 CdcFilter(::prost::alloc::boxed::Box<super::CdcFilterNode>),
2424 #[prost(message, tag = "142")]
2425 SourceBackfill(::prost::alloc::boxed::Box<super::SourceBackfillNode>),
2426 #[prost(message, tag = "143")]
2427 Changelog(::prost::alloc::boxed::Box<super::ChangeLogNode>),
2428 #[prost(message, tag = "144")]
2429 LocalApproxPercentile(
2430 ::prost::alloc::boxed::Box<super::LocalApproxPercentileNode>,
2431 ),
2432 #[prost(message, tag = "145")]
2433 GlobalApproxPercentile(
2434 ::prost::alloc::boxed::Box<super::GlobalApproxPercentileNode>,
2435 ),
2436 #[prost(message, tag = "146")]
2437 RowMerge(::prost::alloc::boxed::Box<super::RowMergeNode>),
2438 #[prost(message, tag = "147")]
2439 AsOfJoin(::prost::alloc::boxed::Box<super::AsOfJoinNode>),
2440 #[prost(message, tag = "148")]
2441 SyncLogStore(::prost::alloc::boxed::Box<super::SyncLogStoreNode>),
2442 #[prost(message, tag = "149")]
2443 MaterializedExprs(::prost::alloc::boxed::Box<super::MaterializedExprsNode>),
2444 #[prost(message, tag = "150")]
2445 VectorIndexWrite(::prost::alloc::boxed::Box<super::VectorIndexWriteNode>),
2446 #[prost(message, tag = "151")]
2447 UpstreamSinkUnion(::prost::alloc::boxed::Box<super::UpstreamSinkUnionNode>),
2448 #[prost(message, tag = "152")]
2449 LocalityProvider(::prost::alloc::boxed::Box<super::LocalityProviderNode>),
2450 #[prost(message, tag = "153")]
2451 EowcGapFill(::prost::alloc::boxed::Box<super::EowcGapFillNode>),
2452 #[prost(message, tag = "154")]
2453 GapFill(::prost::alloc::boxed::Box<super::GapFillNode>),
2454 #[prost(message, tag = "155")]
2455 VectorIndexLookupJoin(
2456 ::prost::alloc::boxed::Box<super::VectorIndexLookupJoinNode>,
2457 ),
2458 #[prost(message, tag = "156")]
2459 IcebergWithPkIndexWriter(
2460 ::prost::alloc::boxed::Box<super::IcebergWithPkIndexWriterNode>,
2461 ),
2462 #[prost(message, tag = "157")]
2463 IcebergWithPkIndexPositionDeleteMerger(
2464 ::prost::alloc::boxed::Box<super::IcebergWithPkIndexPositionDeleteMergerNode>,
2465 ),
2466 #[prost(message, tag = "158")]
2467 MatchRecognize(::prost::alloc::boxed::Box<super::MatchRecognizeNode>),
2468 #[prost(message, tag = "159")]
2469 CompactionResolver(::prost::alloc::boxed::Box<super::CompactionResolverNode>),
2470 }
2471}
2472#[derive(prost_helpers::AnyPB)]
2486#[derive(Clone, PartialEq, ::prost::Message)]
2487pub struct DispatchOutputMapping {
2488 #[prost(uint32, repeated, tag = "1")]
2490 pub indices: ::prost::alloc::vec::Vec<u32>,
2491 #[prost(message, repeated, tag = "2")]
2497 pub types: ::prost::alloc::vec::Vec<dispatch_output_mapping::TypePair>,
2498}
2499pub mod dispatch_output_mapping {
2501 #[derive(prost_helpers::AnyPB)]
2502 #[derive(Clone, PartialEq, ::prost::Message)]
2503 pub struct TypePair {
2504 #[prost(message, optional, tag = "1")]
2505 pub upstream: ::core::option::Option<super::super::data::DataType>,
2506 #[prost(message, optional, tag = "2")]
2507 pub downstream: ::core::option::Option<super::super::data::DataType>,
2508 }
2509}
2510#[derive(prost_helpers::AnyPB)]
2513#[derive(Clone, PartialEq, ::prost::Message)]
2514pub struct DispatchStrategy {
2515 #[prost(enumeration = "DispatcherType", tag = "1")]
2516 pub r#type: i32,
2517 #[prost(uint32, repeated, tag = "2")]
2518 pub dist_key_indices: ::prost::alloc::vec::Vec<u32>,
2519 #[prost(message, optional, tag = "3")]
2520 pub output_mapping: ::core::option::Option<DispatchOutputMapping>,
2521}
2522#[derive(prost_helpers::AnyPB)]
2525#[derive(Clone, PartialEq, ::prost::Message)]
2526pub struct Dispatcher {
2527 #[prost(enumeration = "DispatcherType", tag = "1")]
2528 pub r#type: i32,
2529 #[prost(uint32, repeated, tag = "2")]
2532 pub dist_key_indices: ::prost::alloc::vec::Vec<u32>,
2533 #[prost(message, optional, tag = "6")]
2535 pub output_mapping: ::core::option::Option<DispatchOutputMapping>,
2536 #[prost(message, optional, tag = "3")]
2539 pub hash_mapping: ::core::option::Option<ActorMapping>,
2540 #[prost(uint32, tag = "4", wrapper = "crate::id::FragmentId")]
2543 pub dispatcher_id: crate::id::FragmentId,
2544 #[prost(uint32, repeated, tag = "5", wrapper = "crate::id::ActorId")]
2546 pub downstream_actor_id: ::prost::alloc::vec::Vec<crate::id::ActorId>,
2547}
2548#[derive(prost_helpers::AnyPB)]
2550#[derive(Clone, PartialEq, ::prost::Message)]
2551pub struct StreamActor {
2552 #[prost(uint32, tag = "1", wrapper = "crate::id::ActorId")]
2553 pub actor_id: crate::id::ActorId,
2554 #[prost(uint32, tag = "2", wrapper = "crate::id::FragmentId")]
2555 pub fragment_id: crate::id::FragmentId,
2556 #[prost(message, repeated, tag = "4")]
2557 pub dispatcher: ::prost::alloc::vec::Vec<Dispatcher>,
2558 #[prost(message, optional, tag = "8")]
2561 pub vnode_bitmap: ::core::option::Option<super::common::Buffer>,
2562 #[prost(string, tag = "9")]
2564 pub mview_definition: ::prost::alloc::string::String,
2565 #[prost(message, optional, tag = "10")]
2567 pub expr_context: ::core::option::Option<super::plan_common::ExprContext>,
2568 #[prost(string, tag = "11")]
2570 pub config_override: ::prost::alloc::string::String,
2571}
2572#[derive(prost_helpers::AnyPB)]
2574#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
2575pub struct StreamContext {
2576 #[prost(string, tag = "1")]
2578 pub timezone: ::prost::alloc::string::String,
2579 #[prost(string, tag = "2")]
2581 pub config_override: ::prost::alloc::string::String,
2582}
2583#[derive(prost_helpers::AnyPB)]
2584#[derive(Clone, PartialEq, ::prost::Message)]
2585pub struct BackfillOrder {
2586 #[prost(map = "uint32, message", tag = "1", wrapper = "crate::id::RelationId")]
2587 pub order: ::std::collections::HashMap<
2588 crate::id::RelationId,
2589 super::common::Uint32Vector,
2590 >,
2591}
2592#[derive(prost_helpers::AnyPB)]
2597#[derive(Clone, PartialEq, ::prost::Message)]
2598pub struct StreamFragmentGraph {
2599 #[prost(map = "uint32, message", tag = "1", wrapper = "crate::id::FragmentId")]
2601 pub fragments: ::std::collections::HashMap<
2602 crate::id::FragmentId,
2603 stream_fragment_graph::StreamFragment,
2604 >,
2605 #[prost(message, repeated, tag = "2")]
2607 pub edges: ::prost::alloc::vec::Vec<stream_fragment_graph::StreamFragmentEdge>,
2608 #[prost(uint32, repeated, tag = "3", wrapper = "crate::id::TableId")]
2609 pub dependent_table_ids: ::prost::alloc::vec::Vec<crate::id::TableId>,
2610 #[prost(uint32, tag = "4")]
2611 pub table_ids_cnt: u32,
2612 #[prost(message, optional, tag = "5")]
2613 pub ctx: ::core::option::Option<StreamContext>,
2614 #[prost(message, optional, tag = "6")]
2616 pub parallelism: ::core::option::Option<stream_fragment_graph::Parallelism>,
2617 #[prost(message, optional, tag = "9")]
2619 pub backfill_parallelism: ::core::option::Option<stream_fragment_graph::Parallelism>,
2620 #[prost(string, tag = "10")]
2622 pub adaptive_parallelism_strategy: ::prost::alloc::string::String,
2623 #[prost(string, tag = "11")]
2625 pub backfill_adaptive_parallelism_strategy: ::prost::alloc::string::String,
2626 #[prost(uint32, tag = "7")]
2636 pub max_parallelism: u32,
2637 #[prost(message, optional, tag = "8")]
2639 pub backfill_order: ::core::option::Option<BackfillOrder>,
2640}
2641pub mod stream_fragment_graph {
2643 #[derive(prost_helpers::AnyPB)]
2644 #[derive(Clone, PartialEq, ::prost::Message)]
2645 pub struct StreamFragment {
2646 #[prost(uint32, tag = "1", wrapper = "crate::id::FragmentId")]
2648 pub fragment_id: crate::id::FragmentId,
2649 #[prost(message, optional, tag = "2")]
2651 pub node: ::core::option::Option<super::StreamNode>,
2652 #[prost(uint32, tag = "3")]
2654 pub fragment_type_mask: u32,
2655 #[prost(bool, tag = "4")]
2659 pub requires_singleton: bool,
2660 }
2661 #[derive(prost_helpers::AnyPB)]
2662 #[derive(Clone, PartialEq, ::prost::Message)]
2663 pub struct StreamFragmentEdge {
2664 #[prost(message, optional, tag = "1")]
2666 pub dispatch_strategy: ::core::option::Option<super::DispatchStrategy>,
2667 #[prost(uint64, tag = "3")]
2671 pub link_id: u64,
2672 #[prost(uint32, tag = "4", wrapper = "crate::id::FragmentId")]
2673 pub upstream_id: crate::id::FragmentId,
2674 #[prost(uint32, tag = "5", wrapper = "crate::id::FragmentId")]
2675 pub downstream_id: crate::id::FragmentId,
2676 }
2677 #[derive(prost_helpers::AnyPB)]
2678 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
2679 pub struct Parallelism {
2680 #[prost(uint64, tag = "1")]
2681 pub parallelism: u64,
2682 }
2683}
2684#[derive(prost_helpers::AnyPB)]
2686#[derive(Clone, PartialEq, ::prost::Message)]
2687pub struct SinkSchemaChange {
2688 #[prost(message, repeated, tag = "1")]
2691 pub original_schema: ::prost::alloc::vec::Vec<super::plan_common::Field>,
2692 #[prost(oneof = "sink_schema_change::Op", tags = "2, 3")]
2694 pub op: ::core::option::Option<sink_schema_change::Op>,
2695}
2696pub mod sink_schema_change {
2698 #[derive(prost_helpers::AnyPB)]
2700 #[derive(Clone, PartialEq, ::prost::Oneof)]
2701 pub enum Op {
2702 #[prost(message, tag = "2")]
2704 AddColumns(super::SinkAddColumnsOp),
2705 #[prost(message, tag = "3")]
2707 DropColumns(super::SinkDropColumnsOp),
2708 }
2709}
2710#[derive(prost_helpers::AnyPB)]
2712#[derive(Clone, PartialEq, ::prost::Message)]
2713pub struct SinkAddColumnsOp {
2714 #[prost(message, repeated, tag = "1")]
2716 pub fields: ::prost::alloc::vec::Vec<super::plan_common::Field>,
2717}
2718#[derive(prost_helpers::AnyPB)]
2720#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
2721pub struct SinkDropColumnsOp {
2722 #[prost(string, repeated, tag = "1")]
2724 pub column_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2725}
2726#[derive(prost_helpers::AnyPB)]
2727#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2728#[repr(i32)]
2729pub enum SinkLogStoreType {
2730 Unspecified = 0,
2732 KvLogStore = 1,
2733 InMemoryLogStore = 2,
2734}
2735impl SinkLogStoreType {
2736 pub fn as_str_name(&self) -> &'static str {
2741 match self {
2742 Self::Unspecified => "SINK_LOG_STORE_TYPE_UNSPECIFIED",
2743 Self::KvLogStore => "SINK_LOG_STORE_TYPE_KV_LOG_STORE",
2744 Self::InMemoryLogStore => "SINK_LOG_STORE_TYPE_IN_MEMORY_LOG_STORE",
2745 }
2746 }
2747 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2749 match value {
2750 "SINK_LOG_STORE_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
2751 "SINK_LOG_STORE_TYPE_KV_LOG_STORE" => Some(Self::KvLogStore),
2752 "SINK_LOG_STORE_TYPE_IN_MEMORY_LOG_STORE" => Some(Self::InMemoryLogStore),
2753 _ => None,
2754 }
2755 }
2756}
2757#[derive(prost_helpers::AnyPB)]
2758#[derive(prost_helpers::Version)]
2759#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2760#[repr(i32)]
2761pub enum AggNodeVersion {
2762 Unspecified = 0,
2763 Issue12140 = 1,
2765 Issue13465 = 2,
2767}
2768impl AggNodeVersion {
2769 pub fn as_str_name(&self) -> &'static str {
2774 match self {
2775 Self::Unspecified => "AGG_NODE_VERSION_UNSPECIFIED",
2776 Self::Issue12140 => "AGG_NODE_VERSION_ISSUE_12140",
2777 Self::Issue13465 => "AGG_NODE_VERSION_ISSUE_13465",
2778 }
2779 }
2780 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2782 match value {
2783 "AGG_NODE_VERSION_UNSPECIFIED" => Some(Self::Unspecified),
2784 "AGG_NODE_VERSION_ISSUE_12140" => Some(Self::Issue12140),
2785 "AGG_NODE_VERSION_ISSUE_13465" => Some(Self::Issue13465),
2786 _ => None,
2787 }
2788 }
2789}
2790#[derive(prost_helpers::AnyPB)]
2791#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2792#[repr(i32)]
2793pub enum InequalityType {
2794 Unspecified = 0,
2795 LessThan = 1,
2796 LessThanOrEqual = 2,
2797 GreaterThan = 3,
2798 GreaterThanOrEqual = 4,
2799}
2800impl InequalityType {
2801 pub fn as_str_name(&self) -> &'static str {
2806 match self {
2807 Self::Unspecified => "INEQUALITY_TYPE_UNSPECIFIED",
2808 Self::LessThan => "INEQUALITY_TYPE_LESS_THAN",
2809 Self::LessThanOrEqual => "INEQUALITY_TYPE_LESS_THAN_OR_EQUAL",
2810 Self::GreaterThan => "INEQUALITY_TYPE_GREATER_THAN",
2811 Self::GreaterThanOrEqual => "INEQUALITY_TYPE_GREATER_THAN_OR_EQUAL",
2812 }
2813 }
2814 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2816 match value {
2817 "INEQUALITY_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
2818 "INEQUALITY_TYPE_LESS_THAN" => Some(Self::LessThan),
2819 "INEQUALITY_TYPE_LESS_THAN_OR_EQUAL" => Some(Self::LessThanOrEqual),
2820 "INEQUALITY_TYPE_GREATER_THAN" => Some(Self::GreaterThan),
2821 "INEQUALITY_TYPE_GREATER_THAN_OR_EQUAL" => Some(Self::GreaterThanOrEqual),
2822 _ => None,
2823 }
2824 }
2825}
2826#[derive(prost_helpers::AnyPB)]
2827#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2828#[repr(i32)]
2829pub enum JoinEncodingType {
2830 Unspecified = 0,
2831 MemoryOptimized = 1,
2832 CpuOptimized = 2,
2833}
2834impl JoinEncodingType {
2835 pub fn as_str_name(&self) -> &'static str {
2840 match self {
2841 Self::Unspecified => "UNSPECIFIED",
2842 Self::MemoryOptimized => "MEMORY_OPTIMIZED",
2843 Self::CpuOptimized => "CPU_OPTIMIZED",
2844 }
2845 }
2846 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2848 match value {
2849 "UNSPECIFIED" => Some(Self::Unspecified),
2850 "MEMORY_OPTIMIZED" => Some(Self::MemoryOptimized),
2851 "CPU_OPTIMIZED" => Some(Self::CpuOptimized),
2852 _ => None,
2853 }
2854 }
2855}
2856#[derive(prost_helpers::AnyPB)]
2858#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2859#[repr(i32)]
2860pub enum StreamScanType {
2861 Unspecified = 0,
2862 #[deprecated]
2864 Chain = 1,
2865 #[deprecated]
2867 Rearrange = 2,
2868 #[deprecated]
2870 Backfill = 3,
2871 UpstreamOnly = 4,
2873 ArrangementBackfill = 5,
2875 SnapshotBackfill = 6,
2877 CrossDbSnapshotBackfill = 7,
2879}
2880impl StreamScanType {
2881 pub fn as_str_name(&self) -> &'static str {
2886 match self {
2887 Self::Unspecified => "STREAM_SCAN_TYPE_UNSPECIFIED",
2888 #[allow(deprecated)]
2889 Self::Chain => "STREAM_SCAN_TYPE_CHAIN",
2890 #[allow(deprecated)]
2891 Self::Rearrange => "STREAM_SCAN_TYPE_REARRANGE",
2892 #[allow(deprecated)]
2893 Self::Backfill => "STREAM_SCAN_TYPE_BACKFILL",
2894 Self::UpstreamOnly => "STREAM_SCAN_TYPE_UPSTREAM_ONLY",
2895 Self::ArrangementBackfill => "STREAM_SCAN_TYPE_ARRANGEMENT_BACKFILL",
2896 Self::SnapshotBackfill => "STREAM_SCAN_TYPE_SNAPSHOT_BACKFILL",
2897 Self::CrossDbSnapshotBackfill => {
2898 "STREAM_SCAN_TYPE_CROSS_DB_SNAPSHOT_BACKFILL"
2899 }
2900 }
2901 }
2902 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2904 match value {
2905 "STREAM_SCAN_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
2906 "STREAM_SCAN_TYPE_CHAIN" => Some(#[allow(deprecated)] Self::Chain),
2907 "STREAM_SCAN_TYPE_REARRANGE" => Some(#[allow(deprecated)] Self::Rearrange),
2908 "STREAM_SCAN_TYPE_BACKFILL" => Some(#[allow(deprecated)] Self::Backfill),
2909 "STREAM_SCAN_TYPE_UPSTREAM_ONLY" => Some(Self::UpstreamOnly),
2910 "STREAM_SCAN_TYPE_ARRANGEMENT_BACKFILL" => Some(Self::ArrangementBackfill),
2911 "STREAM_SCAN_TYPE_SNAPSHOT_BACKFILL" => Some(Self::SnapshotBackfill),
2912 "STREAM_SCAN_TYPE_CROSS_DB_SNAPSHOT_BACKFILL" => {
2913 Some(Self::CrossDbSnapshotBackfill)
2914 }
2915 _ => None,
2916 }
2917 }
2918}
2919#[derive(prost_helpers::AnyPB)]
2920#[derive(prost_helpers::Version)]
2921#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2922#[repr(i32)]
2923pub enum EowcOverWindowNodeVersion {
2924 Unspecified = 0,
2926 Issue17119 = 1,
2929}
2930impl EowcOverWindowNodeVersion {
2931 pub fn as_str_name(&self) -> &'static str {
2936 match self {
2937 Self::Unspecified => "EOWC_OVER_WINDOW_NODE_VERSION_UNSPECIFIED",
2938 Self::Issue17119 => "EOWC_OVER_WINDOW_NODE_VERSION_ISSUE_17119",
2939 }
2940 }
2941 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2943 match value {
2944 "EOWC_OVER_WINDOW_NODE_VERSION_UNSPECIFIED" => Some(Self::Unspecified),
2945 "EOWC_OVER_WINDOW_NODE_VERSION_ISSUE_17119" => Some(Self::Issue17119),
2946 _ => None,
2947 }
2948 }
2949}
2950#[derive(prost_helpers::AnyPB)]
2951#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2952#[repr(i32)]
2953pub enum OverWindowCachePolicy {
2954 Unspecified = 0,
2955 Full = 1,
2956 Recent = 2,
2957 RecentFirstN = 3,
2958 RecentLastN = 4,
2959}
2960impl OverWindowCachePolicy {
2961 pub fn as_str_name(&self) -> &'static str {
2966 match self {
2967 Self::Unspecified => "OVER_WINDOW_CACHE_POLICY_UNSPECIFIED",
2968 Self::Full => "OVER_WINDOW_CACHE_POLICY_FULL",
2969 Self::Recent => "OVER_WINDOW_CACHE_POLICY_RECENT",
2970 Self::RecentFirstN => "OVER_WINDOW_CACHE_POLICY_RECENT_FIRST_N",
2971 Self::RecentLastN => "OVER_WINDOW_CACHE_POLICY_RECENT_LAST_N",
2972 }
2973 }
2974 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2976 match value {
2977 "OVER_WINDOW_CACHE_POLICY_UNSPECIFIED" => Some(Self::Unspecified),
2978 "OVER_WINDOW_CACHE_POLICY_FULL" => Some(Self::Full),
2979 "OVER_WINDOW_CACHE_POLICY_RECENT" => Some(Self::Recent),
2980 "OVER_WINDOW_CACHE_POLICY_RECENT_FIRST_N" => Some(Self::RecentFirstN),
2981 "OVER_WINDOW_CACHE_POLICY_RECENT_LAST_N" => Some(Self::RecentLastN),
2982 _ => None,
2983 }
2984 }
2985}
2986#[derive(prost_helpers::AnyPB)]
2987#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2988#[repr(i32)]
2989pub enum MatchRecognizeInputMode {
2990 Unspecified = 0,
2991 EventTime = 1,
2992 ProcessingTime = 2,
2993}
2994impl MatchRecognizeInputMode {
2995 pub fn as_str_name(&self) -> &'static str {
3000 match self {
3001 Self::Unspecified => "MATCH_RECOGNIZE_INPUT_MODE_UNSPECIFIED",
3002 Self::EventTime => "MATCH_RECOGNIZE_INPUT_MODE_EVENT_TIME",
3003 Self::ProcessingTime => "MATCH_RECOGNIZE_INPUT_MODE_PROCESSING_TIME",
3004 }
3005 }
3006 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3008 match value {
3009 "MATCH_RECOGNIZE_INPUT_MODE_UNSPECIFIED" => Some(Self::Unspecified),
3010 "MATCH_RECOGNIZE_INPUT_MODE_EVENT_TIME" => Some(Self::EventTime),
3011 "MATCH_RECOGNIZE_INPUT_MODE_PROCESSING_TIME" => Some(Self::ProcessingTime),
3012 _ => None,
3013 }
3014 }
3015}
3016#[derive(prost_helpers::AnyPB)]
3017#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3018#[repr(i32)]
3019pub enum DispatcherType {
3020 Unspecified = 0,
3021 Hash = 1,
3023 Broadcast = 2,
3028 Simple = 3,
3030 NoShuffle = 4,
3034}
3035impl DispatcherType {
3036 pub fn as_str_name(&self) -> &'static str {
3041 match self {
3042 Self::Unspecified => "DISPATCHER_TYPE_UNSPECIFIED",
3043 Self::Hash => "DISPATCHER_TYPE_HASH",
3044 Self::Broadcast => "DISPATCHER_TYPE_BROADCAST",
3045 Self::Simple => "DISPATCHER_TYPE_SIMPLE",
3046 Self::NoShuffle => "DISPATCHER_TYPE_NO_SHUFFLE",
3047 }
3048 }
3049 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3051 match value {
3052 "DISPATCHER_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
3053 "DISPATCHER_TYPE_HASH" => Some(Self::Hash),
3054 "DISPATCHER_TYPE_BROADCAST" => Some(Self::Broadcast),
3055 "DISPATCHER_TYPE_SIMPLE" => Some(Self::Simple),
3056 "DISPATCHER_TYPE_NO_SHUFFLE" => Some(Self::NoShuffle),
3057 _ => None,
3058 }
3059 }
3060}