1#[derive(prost_helpers::AnyPB)]
4#[derive(Clone, PartialEq, ::prost::Message)]
5pub struct ColIndexMapping {
6 #[prost(uint64, tag = "1")]
8 pub target_size: u64,
9 #[prost(int64, repeated, tag = "2")]
12 pub map: ::prost::alloc::vec::Vec<i64>,
13}
14#[derive(prost_helpers::AnyPB)]
15#[derive(Eq, Hash)]
16#[derive(Clone, PartialEq, ::prost::Message)]
17pub struct WatermarkDesc {
18 #[prost(uint32, tag = "1")]
20 pub watermark_idx: u32,
21 #[prost(message, optional, tag = "2")]
23 pub expr: ::core::option::Option<super::expr::ExprNode>,
24}
25#[derive(prost_helpers::AnyPB)]
26#[derive(Eq, Hash)]
27#[derive(Clone, PartialEq, ::prost::Message)]
28pub struct StreamSourceInfo {
29 #[prost(enumeration = "super::plan_common::RowFormatType", tag = "1")]
31 pub row_format: i32,
32 #[prost(string, tag = "2")]
33 pub row_schema_location: ::prost::alloc::string::String,
34 #[prost(bool, tag = "3")]
40 pub use_schema_registry: bool,
41 #[prost(string, tag = "4")]
42 pub proto_message_name: ::prost::alloc::string::String,
43 #[prost(int32, tag = "5")]
44 pub csv_delimiter: i32,
45 #[prost(bool, tag = "6")]
46 pub csv_has_header: bool,
47 #[prost(enumeration = "super::plan_common::FormatType", tag = "8")]
48 pub format: i32,
49 #[prost(enumeration = "super::plan_common::EncodeType", tag = "9")]
50 pub row_encode: i32,
51 #[prost(enumeration = "SchemaRegistryNameStrategy", tag = "10")]
52 pub name_strategy: i32,
53 #[prost(string, optional, tag = "11")]
54 pub key_message_name: ::core::option::Option<::prost::alloc::string::String>,
55 #[prost(message, optional, tag = "12")]
56 pub external_table: ::core::option::Option<super::plan_common::ExternalTableDesc>,
57 #[prost(bool, tag = "13")]
69 pub cdc_source_job: bool,
70 #[prost(bool, tag = "15")]
76 pub is_distributed: bool,
77 #[prost(btree_map = "string, string", tag = "14")]
79 pub format_encode_options: ::prost::alloc::collections::BTreeMap<
80 ::prost::alloc::string::String,
81 ::prost::alloc::string::String,
82 >,
83 #[prost(btree_map = "string, message", tag = "16")]
86 pub format_encode_secret_refs: ::prost::alloc::collections::BTreeMap<
87 ::prost::alloc::string::String,
88 super::secret::SecretRef,
89 >,
90 #[prost(uint32, optional, tag = "17")]
92 pub connection_id: ::core::option::Option<u32>,
93}
94#[derive(prost_helpers::AnyPB)]
95#[derive(Eq, Hash)]
96#[derive(Clone, PartialEq, ::prost::Message)]
97pub struct WebhookSourceInfo {
98 #[prost(message, optional, tag = "1")]
99 pub secret_ref: ::core::option::Option<super::secret::SecretRef>,
100 #[prost(message, optional, tag = "2")]
101 pub signature_expr: ::core::option::Option<super::expr::ExprNode>,
102 #[prost(bool, tag = "3")]
104 pub wait_for_persistence: bool,
105 #[prost(bool, tag = "4")]
107 pub is_batched: bool,
108}
109#[derive(prost_helpers::AnyPB)]
110#[derive(Clone, PartialEq, ::prost::Message)]
111pub struct Source {
112 #[prost(uint32, tag = "1")]
115 pub id: u32,
116 #[prost(uint32, tag = "2")]
117 pub schema_id: u32,
118 #[prost(uint32, tag = "3")]
119 pub database_id: u32,
120 #[prost(string, tag = "4")]
121 pub name: ::prost::alloc::string::String,
122 #[prost(uint32, optional, tag = "5")]
125 pub row_id_index: ::core::option::Option<u32>,
126 #[prost(message, repeated, tag = "6")]
128 pub columns: ::prost::alloc::vec::Vec<super::plan_common::ColumnCatalog>,
129 #[prost(int32, repeated, tag = "7")]
132 pub pk_column_ids: ::prost::alloc::vec::Vec<i32>,
133 #[prost(btree_map = "string, string", tag = "8")]
135 pub with_properties: ::prost::alloc::collections::BTreeMap<
136 ::prost::alloc::string::String,
137 ::prost::alloc::string::String,
138 >,
139 #[prost(uint32, tag = "9")]
140 pub owner: u32,
141 #[prost(message, optional, tag = "10")]
142 pub info: ::core::option::Option<StreamSourceInfo>,
143 #[prost(message, repeated, tag = "11")]
146 pub watermark_descs: ::prost::alloc::vec::Vec<WatermarkDesc>,
147 #[prost(string, tag = "13")]
148 pub definition: ::prost::alloc::string::String,
149 #[prost(uint32, optional, tag = "14")]
151 pub connection_id: ::core::option::Option<u32>,
152 #[prost(uint64, optional, tag = "15")]
153 pub initialized_at_epoch: ::core::option::Option<u64>,
154 #[prost(uint64, optional, tag = "16")]
155 pub created_at_epoch: ::core::option::Option<u64>,
156 #[prost(string, optional, tag = "17")]
158 pub initialized_at_cluster_version: ::core::option::Option<
159 ::prost::alloc::string::String,
160 >,
161 #[prost(string, optional, tag = "18")]
162 pub created_at_cluster_version: ::core::option::Option<
163 ::prost::alloc::string::String,
164 >,
165 #[prost(btree_map = "string, message", tag = "19")]
168 pub secret_refs: ::prost::alloc::collections::BTreeMap<
169 ::prost::alloc::string::String,
170 super::secret::SecretRef,
171 >,
172 #[prost(uint64, tag = "100")]
174 pub version: u64,
175 #[prost(uint32, optional, tag = "101")]
176 pub rate_limit: ::core::option::Option<u32>,
177 #[prost(oneof = "source::OptionalAssociatedTableId", tags = "12")]
179 pub optional_associated_table_id: ::core::option::Option<
180 source::OptionalAssociatedTableId,
181 >,
182}
183pub mod source {
185 #[derive(prost_helpers::AnyPB)]
187 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
188 pub enum OptionalAssociatedTableId {
189 #[prost(uint32, tag = "12")]
190 AssociatedTableId(u32),
191 }
192}
193#[derive(prost_helpers::AnyPB)]
195#[derive(Clone, PartialEq, ::prost::Message)]
196pub struct SinkFormatDesc {
197 #[prost(enumeration = "super::plan_common::FormatType", tag = "1")]
198 pub format: i32,
199 #[prost(enumeration = "super::plan_common::EncodeType", tag = "2")]
200 pub encode: i32,
201 #[prost(btree_map = "string, string", tag = "3")]
202 pub options: ::prost::alloc::collections::BTreeMap<
203 ::prost::alloc::string::String,
204 ::prost::alloc::string::String,
205 >,
206 #[prost(enumeration = "super::plan_common::EncodeType", optional, tag = "4")]
207 pub key_encode: ::core::option::Option<i32>,
208 #[prost(btree_map = "string, message", tag = "5")]
210 pub secret_refs: ::prost::alloc::collections::BTreeMap<
211 ::prost::alloc::string::String,
212 super::secret::SecretRef,
213 >,
214 #[prost(uint32, optional, tag = "6")]
216 pub connection_id: ::core::option::Option<u32>,
217}
218#[derive(prost_helpers::AnyPB)]
223#[derive(Clone, PartialEq, ::prost::Message)]
224pub struct Sink {
225 #[prost(uint32, tag = "1")]
226 pub id: u32,
227 #[prost(uint32, tag = "2")]
228 pub schema_id: u32,
229 #[prost(uint32, tag = "3")]
230 pub database_id: u32,
231 #[prost(string, tag = "4")]
232 pub name: ::prost::alloc::string::String,
233 #[prost(message, repeated, tag = "5")]
234 pub columns: ::prost::alloc::vec::Vec<super::plan_common::ColumnCatalog>,
235 #[prost(message, repeated, tag = "6")]
237 pub plan_pk: ::prost::alloc::vec::Vec<super::common::ColumnOrder>,
238 #[prost(int32, repeated, tag = "8")]
239 pub distribution_key: ::prost::alloc::vec::Vec<i32>,
240 #[prost(int32, repeated, tag = "9")]
242 pub downstream_pk: ::prost::alloc::vec::Vec<i32>,
243 #[prost(enumeration = "SinkType", tag = "10")]
245 pub sink_type: i32,
246 #[prost(uint32, tag = "11")]
247 pub owner: u32,
248 #[prost(btree_map = "string, string", tag = "12")]
249 pub properties: ::prost::alloc::collections::BTreeMap<
250 ::prost::alloc::string::String,
251 ::prost::alloc::string::String,
252 >,
253 #[prost(string, tag = "13")]
254 pub definition: ::prost::alloc::string::String,
255 #[prost(uint32, optional, tag = "14")]
257 pub connection_id: ::core::option::Option<u32>,
258 #[prost(uint64, optional, tag = "15")]
259 pub initialized_at_epoch: ::core::option::Option<u64>,
260 #[prost(uint64, optional, tag = "16")]
261 pub created_at_epoch: ::core::option::Option<u64>,
262 #[prost(string, tag = "17")]
263 pub db_name: ::prost::alloc::string::String,
264 #[prost(string, tag = "18")]
265 pub sink_from_name: ::prost::alloc::string::String,
266 #[prost(enumeration = "StreamJobStatus", tag = "19")]
267 pub stream_job_status: i32,
268 #[prost(message, optional, tag = "20")]
269 pub format_desc: ::core::option::Option<SinkFormatDesc>,
270 #[prost(uint32, optional, tag = "21")]
272 pub target_table: ::core::option::Option<u32>,
273 #[prost(string, optional, tag = "22")]
275 pub initialized_at_cluster_version: ::core::option::Option<
276 ::prost::alloc::string::String,
277 >,
278 #[prost(string, optional, tag = "23")]
279 pub created_at_cluster_version: ::core::option::Option<
280 ::prost::alloc::string::String,
281 >,
282 #[prost(enumeration = "CreateType", tag = "24")]
284 pub create_type: i32,
285 #[prost(btree_map = "string, message", tag = "25")]
288 pub secret_refs: ::prost::alloc::collections::BTreeMap<
289 ::prost::alloc::string::String,
290 super::secret::SecretRef,
291 >,
292 #[prost(message, repeated, tag = "26")]
294 pub original_target_columns: ::prost::alloc::vec::Vec<
295 super::plan_common::ColumnCatalog,
296 >,
297 #[prost(uint32, optional, tag = "27")]
298 pub auto_refresh_schema_from_table: ::core::option::Option<u32>,
299}
300#[derive(prost_helpers::AnyPB)]
301#[derive(Clone, PartialEq, ::prost::Message)]
302pub struct Subscription {
303 #[prost(uint32, tag = "1")]
304 pub id: u32,
305 #[prost(string, tag = "2")]
306 pub name: ::prost::alloc::string::String,
307 #[prost(string, tag = "3")]
308 pub definition: ::prost::alloc::string::String,
309 #[prost(uint64, tag = "6")]
310 pub retention_seconds: u64,
311 #[prost(uint32, tag = "8")]
312 pub database_id: u32,
313 #[prost(uint32, tag = "9")]
314 pub schema_id: u32,
315 #[prost(uint32, tag = "10")]
316 pub dependent_table_id: u32,
317 #[prost(uint64, optional, tag = "11")]
318 pub initialized_at_epoch: ::core::option::Option<u64>,
319 #[prost(uint64, optional, tag = "12")]
320 pub created_at_epoch: ::core::option::Option<u64>,
321 #[prost(uint32, tag = "13")]
322 pub owner: u32,
323 #[prost(string, optional, tag = "15")]
324 pub initialized_at_cluster_version: ::core::option::Option<
325 ::prost::alloc::string::String,
326 >,
327 #[prost(string, optional, tag = "16")]
328 pub created_at_cluster_version: ::core::option::Option<
329 ::prost::alloc::string::String,
330 >,
331 #[prost(enumeration = "subscription::SubscriptionState", tag = "19")]
332 pub subscription_state: i32,
333}
334pub mod subscription {
336 #[derive(prost_helpers::AnyPB)]
337 #[derive(
338 Clone,
339 Copy,
340 Debug,
341 PartialEq,
342 Eq,
343 Hash,
344 PartialOrd,
345 Ord,
346 ::prost::Enumeration
347 )]
348 #[repr(i32)]
349 pub enum SubscriptionState {
350 Unspecified = 0,
351 Init = 1,
352 Created = 2,
353 }
354 impl SubscriptionState {
355 pub fn as_str_name(&self) -> &'static str {
360 match self {
361 Self::Unspecified => "UNSPECIFIED",
362 Self::Init => "INIT",
363 Self::Created => "CREATED",
364 }
365 }
366 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
368 match value {
369 "UNSPECIFIED" => Some(Self::Unspecified),
370 "INIT" => Some(Self::Init),
371 "CREATED" => Some(Self::Created),
372 _ => None,
373 }
374 }
375 }
376}
377#[derive(prost_helpers::AnyPB)]
378#[derive(Clone, PartialEq, ::prost::Message)]
379pub struct ConnectionParams {
380 #[prost(enumeration = "connection_params::ConnectionType", tag = "1")]
381 pub connection_type: i32,
382 #[prost(map = "string, string", tag = "2")]
383 pub properties: ::std::collections::HashMap<
384 ::prost::alloc::string::String,
385 ::prost::alloc::string::String,
386 >,
387 #[prost(map = "string, message", tag = "3")]
388 pub secret_refs: ::std::collections::HashMap<
389 ::prost::alloc::string::String,
390 super::secret::SecretRef,
391 >,
392}
393pub mod connection_params {
395 #[derive(prost_helpers::AnyPB)]
396 #[derive(
397 Clone,
398 Copy,
399 Debug,
400 PartialEq,
401 Eq,
402 Hash,
403 PartialOrd,
404 Ord,
405 ::prost::Enumeration
406 )]
407 #[repr(i32)]
408 pub enum ConnectionType {
409 Unspecified = 0,
410 Kafka = 1,
411 Iceberg = 2,
412 SchemaRegistry = 3,
413 Elasticsearch = 4,
414 }
415 impl ConnectionType {
416 pub fn as_str_name(&self) -> &'static str {
421 match self {
422 Self::Unspecified => "CONNECTION_TYPE_UNSPECIFIED",
423 Self::Kafka => "CONNECTION_TYPE_KAFKA",
424 Self::Iceberg => "CONNECTION_TYPE_ICEBERG",
425 Self::SchemaRegistry => "CONNECTION_TYPE_SCHEMA_REGISTRY",
426 Self::Elasticsearch => "CONNECTION_TYPE_ELASTICSEARCH",
427 }
428 }
429 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
431 match value {
432 "CONNECTION_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
433 "CONNECTION_TYPE_KAFKA" => Some(Self::Kafka),
434 "CONNECTION_TYPE_ICEBERG" => Some(Self::Iceberg),
435 "CONNECTION_TYPE_SCHEMA_REGISTRY" => Some(Self::SchemaRegistry),
436 "CONNECTION_TYPE_ELASTICSEARCH" => Some(Self::Elasticsearch),
437 _ => None,
438 }
439 }
440 }
441}
442#[derive(prost_helpers::AnyPB)]
443#[derive(Clone, PartialEq, ::prost::Message)]
444pub struct Connection {
445 #[prost(uint32, tag = "1")]
446 pub id: u32,
447 #[prost(uint32, tag = "2")]
448 pub schema_id: u32,
449 #[prost(uint32, tag = "3")]
450 pub database_id: u32,
451 #[prost(string, tag = "4")]
452 pub name: ::prost::alloc::string::String,
453 #[prost(uint32, tag = "6")]
454 pub owner: u32,
455 #[prost(oneof = "connection::Info", tags = "5, 7")]
456 pub info: ::core::option::Option<connection::Info>,
457}
458pub mod connection {
460 #[derive(prost_helpers::AnyPB)]
461 #[derive(Clone, PartialEq, ::prost::Message)]
462 pub struct PrivateLinkService {
463 #[prost(enumeration = "private_link_service::PrivateLinkProvider", tag = "1")]
464 pub provider: i32,
465 #[prost(string, tag = "2")]
466 pub service_name: ::prost::alloc::string::String,
467 #[prost(string, tag = "3")]
468 pub endpoint_id: ::prost::alloc::string::String,
469 #[prost(map = "string, string", tag = "4")]
470 pub dns_entries: ::std::collections::HashMap<
471 ::prost::alloc::string::String,
472 ::prost::alloc::string::String,
473 >,
474 #[prost(string, tag = "5")]
475 pub endpoint_dns_name: ::prost::alloc::string::String,
476 }
477 pub mod private_link_service {
479 #[derive(prost_helpers::AnyPB)]
480 #[derive(
481 Clone,
482 Copy,
483 Debug,
484 PartialEq,
485 Eq,
486 Hash,
487 PartialOrd,
488 Ord,
489 ::prost::Enumeration
490 )]
491 #[repr(i32)]
492 pub enum PrivateLinkProvider {
493 Unspecified = 0,
494 Mock = 1,
495 Aws = 2,
496 }
497 impl PrivateLinkProvider {
498 pub fn as_str_name(&self) -> &'static str {
503 match self {
504 Self::Unspecified => "UNSPECIFIED",
505 Self::Mock => "MOCK",
506 Self::Aws => "AWS",
507 }
508 }
509 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
511 match value {
512 "UNSPECIFIED" => Some(Self::Unspecified),
513 "MOCK" => Some(Self::Mock),
514 "AWS" => Some(Self::Aws),
515 _ => None,
516 }
517 }
518 }
519 }
520 #[derive(prost_helpers::AnyPB)]
521 #[derive(Clone, PartialEq, ::prost::Oneof)]
522 pub enum Info {
523 #[prost(message, tag = "5")]
524 PrivateLinkService(PrivateLinkService),
525 #[prost(message, tag = "7")]
526 ConnectionParams(super::ConnectionParams),
527 }
528}
529#[derive(prost_helpers::AnyPB)]
530#[derive(Clone, PartialEq, ::prost::Message)]
531pub struct Index {
532 #[prost(uint32, tag = "1")]
533 pub id: u32,
534 #[prost(uint32, tag = "2")]
535 pub schema_id: u32,
536 #[prost(uint32, tag = "3")]
537 pub database_id: u32,
538 #[prost(string, tag = "4")]
539 pub name: ::prost::alloc::string::String,
540 #[prost(uint32, tag = "5")]
541 pub owner: u32,
542 #[prost(uint32, tag = "6")]
543 pub index_table_id: u32,
544 #[prost(uint32, tag = "7")]
545 pub primary_table_id: u32,
546 #[prost(message, repeated, tag = "8")]
549 pub index_item: ::prost::alloc::vec::Vec<super::expr::ExprNode>,
550 #[prost(message, repeated, tag = "16")]
551 pub index_column_properties: ::prost::alloc::vec::Vec<IndexColumnProperties>,
552 #[prost(uint64, optional, tag = "10")]
553 pub initialized_at_epoch: ::core::option::Option<u64>,
554 #[prost(uint64, optional, tag = "11")]
555 pub created_at_epoch: ::core::option::Option<u64>,
556 #[prost(enumeration = "StreamJobStatus", tag = "12")]
557 pub stream_job_status: i32,
558 #[prost(uint32, tag = "13")]
561 pub index_columns_len: u32,
562 #[prost(string, optional, tag = "14")]
564 pub initialized_at_cluster_version: ::core::option::Option<
565 ::prost::alloc::string::String,
566 >,
567 #[prost(string, optional, tag = "15")]
568 pub created_at_cluster_version: ::core::option::Option<
569 ::prost::alloc::string::String,
570 >,
571}
572#[derive(prost_helpers::AnyPB)]
574#[derive(Eq, Hash)]
575#[derive(Clone, Copy, PartialEq, ::prost::Message)]
576pub struct IndexColumnProperties {
577 #[prost(bool, tag = "1")]
579 pub is_desc: bool,
580 #[prost(bool, tag = "2")]
582 pub nulls_first: bool,
583}
584#[derive(prost_helpers::AnyPB)]
585#[derive(Clone, PartialEq, ::prost::Message)]
586pub struct Function {
587 #[prost(uint32, tag = "1")]
588 pub id: u32,
589 #[prost(uint32, tag = "2")]
590 pub schema_id: u32,
591 #[prost(uint32, tag = "3")]
592 pub database_id: u32,
593 #[prost(string, tag = "4")]
594 pub name: ::prost::alloc::string::String,
595 #[prost(uint32, tag = "9")]
596 pub owner: u32,
597 #[prost(string, repeated, tag = "15")]
598 pub arg_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
599 #[prost(message, repeated, tag = "5")]
600 pub arg_types: ::prost::alloc::vec::Vec<super::data::DataType>,
601 #[prost(message, optional, tag = "6")]
602 pub return_type: ::core::option::Option<super::data::DataType>,
603 #[prost(string, tag = "7")]
604 pub language: ::prost::alloc::string::String,
605 #[prost(string, optional, tag = "8")]
606 pub link: ::core::option::Option<::prost::alloc::string::String>,
607 #[prost(string, optional, tag = "10")]
609 pub name_in_runtime: ::core::option::Option<::prost::alloc::string::String>,
610 #[prost(string, optional, tag = "14")]
612 pub body: ::core::option::Option<::prost::alloc::string::String>,
613 #[prost(bytes = "vec", optional, tag = "17")]
615 pub compressed_binary: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
616 #[prost(bool, tag = "16")]
617 pub always_retry_on_network_error: bool,
618 #[prost(string, optional, tag = "18")]
620 pub runtime: ::core::option::Option<::prost::alloc::string::String>,
621 #[prost(bool, optional, tag = "20")]
623 pub is_async: ::core::option::Option<bool>,
624 #[prost(bool, optional, tag = "21")]
625 pub is_batched: ::core::option::Option<bool>,
626 #[prost(uint64, optional, tag = "22")]
627 pub created_at_epoch: ::core::option::Option<u64>,
628 #[prost(string, optional, tag = "23")]
630 pub created_at_cluster_version: ::core::option::Option<
631 ::prost::alloc::string::String,
632 >,
633 #[prost(oneof = "function::Kind", tags = "11, 12, 13")]
634 pub kind: ::core::option::Option<function::Kind>,
635}
636pub mod function {
638 #[derive(prost_helpers::AnyPB)]
639 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
640 pub struct ScalarFunction {}
641 #[derive(prost_helpers::AnyPB)]
642 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
643 pub struct TableFunction {}
644 #[derive(prost_helpers::AnyPB)]
645 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
646 pub struct AggregateFunction {}
647 #[derive(prost_helpers::AnyPB)]
648 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
649 pub enum Kind {
650 #[prost(message, tag = "11")]
651 Scalar(ScalarFunction),
652 #[prost(message, tag = "12")]
653 Table(TableFunction),
654 #[prost(message, tag = "13")]
655 Aggregate(AggregateFunction),
656 }
657}
658#[derive(prost_helpers::AnyPB)]
659#[derive(Eq, Hash)]
660#[derive(Clone, Copy, PartialEq, ::prost::Message)]
661pub struct FlatIndexConfig {}
662#[derive(prost_helpers::AnyPB)]
663#[derive(Eq, Hash)]
664#[derive(Clone, Copy, PartialEq, ::prost::Message)]
665pub struct VectorIndexInfo {
666 #[prost(uint32, tag = "1")]
667 pub dimension: u32,
668 #[prost(enumeration = "super::common::DistanceType", tag = "2")]
669 pub distance_type: i32,
670 #[prost(oneof = "vector_index_info::Config", tags = "65")]
671 pub config: ::core::option::Option<vector_index_info::Config>,
672}
673pub mod vector_index_info {
675 #[derive(prost_helpers::AnyPB)]
676 #[derive(Eq, Hash)]
677 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
678 pub enum Config {
679 #[prost(message, tag = "65")]
681 Flat(super::FlatIndexConfig),
682 }
683}
684#[derive(prost_helpers::AnyPB)]
691#[derive(Clone, PartialEq, ::prost::Message)]
692pub struct Table {
693 #[prost(uint32, tag = "1")]
694 pub id: u32,
695 #[prost(uint32, tag = "2")]
696 pub schema_id: u32,
697 #[prost(uint32, tag = "3")]
698 pub database_id: u32,
699 #[prost(string, tag = "4")]
700 pub name: ::prost::alloc::string::String,
701 #[prost(message, repeated, tag = "5")]
702 pub columns: ::prost::alloc::vec::Vec<super::plan_common::ColumnCatalog>,
703 #[prost(message, repeated, tag = "6")]
704 pub pk: ::prost::alloc::vec::Vec<super::common::ColumnOrder>,
705 #[prost(enumeration = "table::TableType", tag = "10")]
706 pub table_type: i32,
707 #[prost(int32, repeated, tag = "12")]
708 pub distribution_key: ::prost::alloc::vec::Vec<i32>,
709 #[prost(int32, repeated, tag = "13")]
711 pub stream_key: ::prost::alloc::vec::Vec<i32>,
712 #[prost(bool, tag = "14")]
713 pub append_only: bool,
714 #[prost(uint32, tag = "15")]
715 pub owner: u32,
716 #[prost(uint32, tag = "17")]
717 pub fragment_id: u32,
718 #[prost(uint32, optional, tag = "18")]
721 pub vnode_col_index: ::core::option::Option<u32>,
722 #[prost(uint32, optional, tag = "19")]
725 pub row_id_index: ::core::option::Option<u32>,
726 #[prost(int32, repeated, tag = "20")]
730 pub value_indices: ::prost::alloc::vec::Vec<i32>,
731 #[prost(string, tag = "21")]
732 pub definition: ::prost::alloc::string::String,
733 #[prost(enumeration = "HandleConflictBehavior", tag = "22")]
735 pub handle_pk_conflict_behavior: i32,
736 #[prost(uint32, tag = "23")]
740 pub read_prefix_len_hint: u32,
741 #[prost(int32, repeated, tag = "24")]
742 pub watermark_indices: ::prost::alloc::vec::Vec<i32>,
743 #[prost(int32, repeated, tag = "25")]
744 pub dist_key_in_pk: ::prost::alloc::vec::Vec<i32>,
745 #[prost(uint32, optional, tag = "26")]
748 pub dml_fragment_id: ::core::option::Option<u32>,
749 #[prost(message, optional, tag = "27")]
753 pub cardinality: ::core::option::Option<super::plan_common::Cardinality>,
754 #[prost(uint64, optional, tag = "28")]
755 pub initialized_at_epoch: ::core::option::Option<u64>,
756 #[prost(uint64, optional, tag = "29")]
757 pub created_at_epoch: ::core::option::Option<u64>,
758 #[prost(bool, tag = "30")]
762 pub cleaned_by_watermark: bool,
763 #[prost(enumeration = "StreamJobStatus", tag = "31")]
765 pub stream_job_status: i32,
766 #[prost(enumeration = "CreateType", tag = "32")]
767 pub create_type: i32,
768 #[prost(string, optional, tag = "33")]
770 pub description: ::core::option::Option<::prost::alloc::string::String>,
771 #[prost(uint32, repeated, tag = "34")]
773 pub incoming_sinks: ::prost::alloc::vec::Vec<u32>,
774 #[prost(string, optional, tag = "35")]
776 pub initialized_at_cluster_version: ::core::option::Option<
777 ::prost::alloc::string::String,
778 >,
779 #[prost(string, optional, tag = "36")]
780 pub created_at_cluster_version: ::core::option::Option<
781 ::prost::alloc::string::String,
782 >,
783 #[prost(uint32, optional, tag = "37")]
786 pub retention_seconds: ::core::option::Option<u32>,
787 #[prost(uint32, optional, tag = "38")]
791 pub version_column_index: ::core::option::Option<u32>,
792 #[prost(string, optional, tag = "39")]
796 pub cdc_table_id: ::core::option::Option<::prost::alloc::string::String>,
797 #[prost(uint32, optional, tag = "40")]
810 pub maybe_vnode_count: ::core::option::Option<u32>,
811 #[prost(message, optional, tag = "41")]
813 pub webhook_info: ::core::option::Option<WebhookSourceInfo>,
814 #[prost(uint32, optional, tag = "42")]
816 pub job_id: ::core::option::Option<u32>,
817 #[prost(enumeration = "table::Engine", optional, tag = "43")]
819 pub engine: ::core::option::Option<i32>,
820 #[prost(int32, optional, tag = "44")]
823 pub clean_watermark_index_in_pk: ::core::option::Option<i32>,
824 #[prost(bool, tag = "45")]
827 pub refreshable: bool,
828 #[prost(message, optional, tag = "46")]
830 pub vector_index_info: ::core::option::Option<VectorIndexInfo>,
831 #[prost(message, optional, tag = "100")]
835 pub version: ::core::option::Option<table::TableVersion>,
836 #[prost(oneof = "table::OptionalAssociatedSourceId", tags = "9")]
837 pub optional_associated_source_id: ::core::option::Option<
838 table::OptionalAssociatedSourceId,
839 >,
840}
841pub mod table {
843 #[derive(prost_helpers::AnyPB)]
844 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
845 pub struct TableVersion {
846 #[prost(uint64, tag = "1")]
849 pub version: u64,
850 #[prost(int32, tag = "2")]
853 pub next_column_id: i32,
854 }
855 #[derive(prost_helpers::AnyPB)]
856 #[derive(
857 Clone,
858 Copy,
859 Debug,
860 PartialEq,
861 Eq,
862 Hash,
863 PartialOrd,
864 Ord,
865 ::prost::Enumeration
866 )]
867 #[repr(i32)]
868 pub enum TableType {
869 Unspecified = 0,
870 Table = 1,
871 MaterializedView = 2,
872 Index = 3,
873 Internal = 4,
874 }
875 impl TableType {
876 pub fn as_str_name(&self) -> &'static str {
881 match self {
882 Self::Unspecified => "UNSPECIFIED",
883 Self::Table => "TABLE",
884 Self::MaterializedView => "MATERIALIZED_VIEW",
885 Self::Index => "INDEX",
886 Self::Internal => "INTERNAL",
887 }
888 }
889 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
891 match value {
892 "UNSPECIFIED" => Some(Self::Unspecified),
893 "TABLE" => Some(Self::Table),
894 "MATERIALIZED_VIEW" => Some(Self::MaterializedView),
895 "INDEX" => Some(Self::Index),
896 "INTERNAL" => Some(Self::Internal),
897 _ => None,
898 }
899 }
900 }
901 #[derive(prost_helpers::AnyPB)]
902 #[derive(
903 Clone,
904 Copy,
905 Debug,
906 PartialEq,
907 Eq,
908 Hash,
909 PartialOrd,
910 Ord,
911 ::prost::Enumeration
912 )]
913 #[repr(i32)]
914 pub enum Engine {
915 Unspecified = 0,
916 Hummock = 1,
917 Iceberg = 2,
918 }
919 impl Engine {
920 pub fn as_str_name(&self) -> &'static str {
925 match self {
926 Self::Unspecified => "ENGINE_UNSPECIFIED",
927 Self::Hummock => "HUMMOCK",
928 Self::Iceberg => "ICEBERG",
929 }
930 }
931 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
933 match value {
934 "ENGINE_UNSPECIFIED" => Some(Self::Unspecified),
935 "HUMMOCK" => Some(Self::Hummock),
936 "ICEBERG" => Some(Self::Iceberg),
937 _ => None,
938 }
939 }
940 }
941 #[derive(prost_helpers::AnyPB)]
942 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
943 pub enum OptionalAssociatedSourceId {
944 #[prost(uint32, tag = "9")]
945 AssociatedSourceId(u32),
946 }
947}
948#[derive(prost_helpers::AnyPB)]
949#[derive(Clone, PartialEq, ::prost::Message)]
950pub struct View {
951 #[prost(uint32, tag = "1")]
952 pub id: u32,
953 #[prost(uint32, tag = "2")]
954 pub schema_id: u32,
955 #[prost(uint32, tag = "3")]
956 pub database_id: u32,
957 #[prost(string, tag = "4")]
958 pub name: ::prost::alloc::string::String,
959 #[prost(uint32, tag = "5")]
960 pub owner: u32,
961 #[prost(btree_map = "string, string", tag = "6")]
962 pub properties: ::prost::alloc::collections::BTreeMap<
963 ::prost::alloc::string::String,
964 ::prost::alloc::string::String,
965 >,
966 #[prost(string, tag = "7")]
967 pub sql: ::prost::alloc::string::String,
968 #[prost(message, repeated, tag = "9")]
970 pub columns: ::prost::alloc::vec::Vec<super::plan_common::Field>,
971}
972#[derive(prost_helpers::AnyPB)]
973#[derive(Clone, PartialEq, ::prost::Message)]
974pub struct Schema {
975 #[prost(uint32, tag = "1")]
976 pub id: u32,
977 #[prost(uint32, tag = "2")]
978 pub database_id: u32,
979 #[prost(string, tag = "3")]
980 pub name: ::prost::alloc::string::String,
981 #[prost(uint32, tag = "4")]
982 pub owner: u32,
983}
984#[derive(prost_helpers::AnyPB)]
985#[derive(Clone, PartialEq, ::prost::Message)]
986pub struct Database {
987 #[prost(uint32, tag = "1")]
988 pub id: u32,
989 #[prost(string, tag = "2")]
990 pub name: ::prost::alloc::string::String,
991 #[prost(uint32, tag = "3")]
992 pub owner: u32,
993 #[prost(string, tag = "4")]
994 pub resource_group: ::prost::alloc::string::String,
995 #[prost(uint32, optional, tag = "5")]
996 pub barrier_interval_ms: ::core::option::Option<u32>,
997 #[prost(uint64, optional, tag = "6")]
998 pub checkpoint_frequency: ::core::option::Option<u64>,
999}
1000#[derive(prost_helpers::AnyPB)]
1001#[derive(Clone, PartialEq, ::prost::Message)]
1002pub struct Comment {
1003 #[prost(uint32, tag = "1")]
1004 pub table_id: u32,
1005 #[prost(uint32, tag = "2")]
1006 pub schema_id: u32,
1007 #[prost(uint32, tag = "3")]
1008 pub database_id: u32,
1009 #[prost(uint32, optional, tag = "4")]
1010 pub column_index: ::core::option::Option<u32>,
1011 #[prost(string, optional, tag = "5")]
1012 pub description: ::core::option::Option<::prost::alloc::string::String>,
1013}
1014#[derive(prost_helpers::AnyPB)]
1015#[derive(Clone, PartialEq, ::prost::Message)]
1016pub struct Secret {
1017 #[prost(uint32, tag = "1")]
1018 pub id: u32,
1019 #[prost(string, tag = "2")]
1020 pub name: ::prost::alloc::string::String,
1021 #[prost(uint32, tag = "3")]
1022 pub database_id: u32,
1023 #[prost(bytes = "vec", tag = "4")]
1025 pub value: ::prost::alloc::vec::Vec<u8>,
1026 #[prost(uint32, tag = "5")]
1027 pub owner: u32,
1028 #[prost(uint32, tag = "6")]
1029 pub schema_id: u32,
1030}
1031#[derive(prost_helpers::AnyPB)]
1032#[derive(Clone, PartialEq, ::prost::Message)]
1033pub struct OptionsWithSecret {
1034 #[prost(map = "string, string", tag = "1")]
1035 pub options: ::std::collections::HashMap<
1036 ::prost::alloc::string::String,
1037 ::prost::alloc::string::String,
1038 >,
1039 #[prost(map = "string, message", tag = "2")]
1040 pub secret_refs: ::std::collections::HashMap<
1041 ::prost::alloc::string::String,
1042 super::secret::SecretRef,
1043 >,
1044}
1045#[derive(prost_helpers::AnyPB)]
1046#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1047#[repr(i32)]
1048pub enum SchemaRegistryNameStrategy {
1049 Unspecified = 0,
1050 RecordNameStrategy = 1,
1051 TopicRecordNameStrategy = 2,
1052}
1053impl SchemaRegistryNameStrategy {
1054 pub fn as_str_name(&self) -> &'static str {
1059 match self {
1060 Self::Unspecified => "SCHEMA_REGISTRY_NAME_STRATEGY_UNSPECIFIED",
1061 Self::RecordNameStrategy => {
1062 "SCHEMA_REGISTRY_NAME_STRATEGY_RECORD_NAME_STRATEGY"
1063 }
1064 Self::TopicRecordNameStrategy => {
1065 "SCHEMA_REGISTRY_NAME_STRATEGY_TOPIC_RECORD_NAME_STRATEGY"
1066 }
1067 }
1068 }
1069 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1071 match value {
1072 "SCHEMA_REGISTRY_NAME_STRATEGY_UNSPECIFIED" => Some(Self::Unspecified),
1073 "SCHEMA_REGISTRY_NAME_STRATEGY_RECORD_NAME_STRATEGY" => {
1074 Some(Self::RecordNameStrategy)
1075 }
1076 "SCHEMA_REGISTRY_NAME_STRATEGY_TOPIC_RECORD_NAME_STRATEGY" => {
1077 Some(Self::TopicRecordNameStrategy)
1078 }
1079 _ => None,
1080 }
1081 }
1082}
1083#[derive(prost_helpers::AnyPB)]
1084#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1085#[repr(i32)]
1086pub enum StreamJobStatus {
1087 Unspecified = 0,
1089 Creating = 1,
1090 Created = 2,
1091}
1092impl StreamJobStatus {
1093 pub fn as_str_name(&self) -> &'static str {
1098 match self {
1099 Self::Unspecified => "STREAM_JOB_STATUS_UNSPECIFIED",
1100 Self::Creating => "STREAM_JOB_STATUS_CREATING",
1101 Self::Created => "STREAM_JOB_STATUS_CREATED",
1102 }
1103 }
1104 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1106 match value {
1107 "STREAM_JOB_STATUS_UNSPECIFIED" => Some(Self::Unspecified),
1108 "STREAM_JOB_STATUS_CREATING" => Some(Self::Creating),
1109 "STREAM_JOB_STATUS_CREATED" => Some(Self::Created),
1110 _ => None,
1111 }
1112 }
1113}
1114#[derive(prost_helpers::AnyPB)]
1117#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1118#[repr(i32)]
1119pub enum CreateType {
1120 Unspecified = 0,
1121 Background = 1,
1122 Foreground = 2,
1123}
1124impl CreateType {
1125 pub fn as_str_name(&self) -> &'static str {
1130 match self {
1131 Self::Unspecified => "CREATE_TYPE_UNSPECIFIED",
1132 Self::Background => "CREATE_TYPE_BACKGROUND",
1133 Self::Foreground => "CREATE_TYPE_FOREGROUND",
1134 }
1135 }
1136 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1138 match value {
1139 "CREATE_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
1140 "CREATE_TYPE_BACKGROUND" => Some(Self::Background),
1141 "CREATE_TYPE_FOREGROUND" => Some(Self::Foreground),
1142 _ => None,
1143 }
1144 }
1145}
1146#[derive(prost_helpers::AnyPB)]
1147#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1148#[repr(i32)]
1149pub enum SinkType {
1150 Unspecified = 0,
1151 AppendOnly = 1,
1152 ForceAppendOnly = 2,
1153 Upsert = 3,
1154}
1155impl SinkType {
1156 pub fn as_str_name(&self) -> &'static str {
1161 match self {
1162 Self::Unspecified => "SINK_TYPE_UNSPECIFIED",
1163 Self::AppendOnly => "SINK_TYPE_APPEND_ONLY",
1164 Self::ForceAppendOnly => "SINK_TYPE_FORCE_APPEND_ONLY",
1165 Self::Upsert => "SINK_TYPE_UPSERT",
1166 }
1167 }
1168 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1170 match value {
1171 "SINK_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
1172 "SINK_TYPE_APPEND_ONLY" => Some(Self::AppendOnly),
1173 "SINK_TYPE_FORCE_APPEND_ONLY" => Some(Self::ForceAppendOnly),
1174 "SINK_TYPE_UPSERT" => Some(Self::Upsert),
1175 _ => None,
1176 }
1177 }
1178}
1179#[derive(prost_helpers::AnyPB)]
1180#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1181#[repr(i32)]
1182pub enum HandleConflictBehavior {
1183 Unspecified = 0,
1184 Overwrite = 1,
1185 Ignore = 2,
1186 NoCheck = 3,
1187 DoUpdateIfNotNull = 4,
1188}
1189impl HandleConflictBehavior {
1190 pub fn as_str_name(&self) -> &'static str {
1195 match self {
1196 Self::Unspecified => "HANDLE_CONFLICT_BEHAVIOR_UNSPECIFIED",
1197 Self::Overwrite => "HANDLE_CONFLICT_BEHAVIOR_OVERWRITE",
1198 Self::Ignore => "HANDLE_CONFLICT_BEHAVIOR_IGNORE",
1199 Self::NoCheck => "HANDLE_CONFLICT_BEHAVIOR_NO_CHECK",
1200 Self::DoUpdateIfNotNull => "HANDLE_CONFLICT_BEHAVIOR_DO_UPDATE_IF_NOT_NULL",
1201 }
1202 }
1203 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1205 match value {
1206 "HANDLE_CONFLICT_BEHAVIOR_UNSPECIFIED" => Some(Self::Unspecified),
1207 "HANDLE_CONFLICT_BEHAVIOR_OVERWRITE" => Some(Self::Overwrite),
1208 "HANDLE_CONFLICT_BEHAVIOR_IGNORE" => Some(Self::Ignore),
1209 "HANDLE_CONFLICT_BEHAVIOR_NO_CHECK" => Some(Self::NoCheck),
1210 "HANDLE_CONFLICT_BEHAVIOR_DO_UPDATE_IF_NOT_NULL" => {
1211 Some(Self::DoUpdateIfNotNull)
1212 }
1213 _ => None,
1214 }
1215 }
1216}