risingwave_pb/
ddl_service.rs

1// This file is @generated by prost-build.
2#[derive(prost_helpers::AnyPB)]
3#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
4pub struct WaitVersion {
5    #[prost(uint64, tag = "1")]
6    pub catalog_version: u64,
7    #[prost(uint64, tag = "2", wrapper = "crate::id::HummockVersionId")]
8    pub hummock_version_id: crate::id::HummockVersionId,
9}
10#[derive(prost_helpers::AnyPB)]
11#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
12pub struct CreateDatabaseRequest {
13    #[prost(message, optional, tag = "1")]
14    pub db: ::core::option::Option<super::catalog::Database>,
15}
16#[derive(prost_helpers::AnyPB)]
17#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
18pub struct CreateDatabaseResponse {
19    #[prost(message, optional, tag = "1")]
20    pub status: ::core::option::Option<super::common::Status>,
21    #[prost(message, optional, tag = "2")]
22    pub version: ::core::option::Option<WaitVersion>,
23}
24#[derive(prost_helpers::AnyPB)]
25#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
26pub struct DropDatabaseRequest {
27    #[prost(uint32, tag = "1", wrapper = "crate::id::DatabaseId")]
28    pub database_id: crate::id::DatabaseId,
29}
30#[derive(prost_helpers::AnyPB)]
31#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
32pub struct DropDatabaseResponse {
33    #[prost(message, optional, tag = "1")]
34    pub status: ::core::option::Option<super::common::Status>,
35    #[prost(message, optional, tag = "2")]
36    pub version: ::core::option::Option<WaitVersion>,
37}
38#[derive(prost_helpers::AnyPB)]
39#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
40pub struct CreateSchemaRequest {
41    #[prost(message, optional, tag = "1")]
42    pub schema: ::core::option::Option<super::catalog::Schema>,
43}
44#[derive(prost_helpers::AnyPB)]
45#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
46pub struct CreateSchemaResponse {
47    #[prost(message, optional, tag = "1")]
48    pub status: ::core::option::Option<super::common::Status>,
49    #[prost(message, optional, tag = "2")]
50    pub version: ::core::option::Option<WaitVersion>,
51}
52#[derive(prost_helpers::AnyPB)]
53#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
54pub struct DropSchemaRequest {
55    #[prost(uint32, tag = "1", wrapper = "crate::id::SchemaId")]
56    pub schema_id: crate::id::SchemaId,
57    #[prost(bool, tag = "2")]
58    pub cascade: bool,
59}
60#[derive(prost_helpers::AnyPB)]
61#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
62pub struct DropSchemaResponse {
63    #[prost(message, optional, tag = "1")]
64    pub status: ::core::option::Option<super::common::Status>,
65    #[prost(message, optional, tag = "2")]
66    pub version: ::core::option::Option<WaitVersion>,
67}
68#[derive(prost_helpers::AnyPB)]
69#[derive(Clone, PartialEq, ::prost::Message)]
70pub struct CreateSourceRequest {
71    #[prost(message, optional, tag = "1")]
72    pub source: ::core::option::Option<super::catalog::Source>,
73    #[prost(message, optional, tag = "2")]
74    pub fragment_graph: ::core::option::Option<super::stream_plan::StreamFragmentGraph>,
75    #[prost(bool, tag = "3")]
76    pub if_not_exists: bool,
77}
78#[derive(prost_helpers::AnyPB)]
79#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
80pub struct CreateSourceResponse {
81    #[prost(message, optional, tag = "1")]
82    pub status: ::core::option::Option<super::common::Status>,
83    #[prost(message, optional, tag = "2")]
84    pub version: ::core::option::Option<WaitVersion>,
85}
86#[derive(prost_helpers::AnyPB)]
87#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
88pub struct DropSourceRequest {
89    #[prost(uint32, tag = "1", wrapper = "crate::id::SourceId")]
90    pub source_id: crate::id::SourceId,
91    #[prost(bool, tag = "2")]
92    pub cascade: bool,
93}
94#[derive(prost_helpers::AnyPB)]
95#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
96pub struct DropSourceResponse {
97    #[prost(message, optional, tag = "1")]
98    pub status: ::core::option::Option<super::common::Status>,
99    #[prost(message, optional, tag = "2")]
100    pub version: ::core::option::Option<WaitVersion>,
101}
102/// Only for non-shared source
103#[derive(prost_helpers::AnyPB)]
104#[derive(Clone, PartialEq, ::prost::Message)]
105pub struct AlterSourceRequest {
106    #[prost(message, optional, tag = "1")]
107    pub source: ::core::option::Option<super::catalog::Source>,
108}
109/// Only for non-shared source
110#[derive(prost_helpers::AnyPB)]
111#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
112pub struct AlterSourceResponse {
113    #[prost(message, optional, tag = "1")]
114    pub status: ::core::option::Option<super::common::Status>,
115    #[prost(message, optional, tag = "2")]
116    pub version: ::core::option::Option<WaitVersion>,
117}
118/// Reset CDC source offset to latest (for handling expired binlog/oplog)
119#[derive(prost_helpers::AnyPB)]
120#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
121pub struct ResetSourceRequest {
122    #[prost(uint32, tag = "1", wrapper = "crate::id::SourceId")]
123    pub source_id: crate::id::SourceId,
124}
125#[derive(prost_helpers::AnyPB)]
126#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
127pub struct ResetSourceResponse {
128    #[prost(message, optional, tag = "1")]
129    pub status: ::core::option::Option<super::common::Status>,
130    #[prost(message, optional, tag = "2")]
131    pub version: ::core::option::Option<WaitVersion>,
132}
133#[derive(prost_helpers::AnyPB)]
134#[derive(Clone, PartialEq, ::prost::Message)]
135pub struct CreateSinkRequest {
136    #[prost(message, optional, tag = "1")]
137    pub sink: ::core::option::Option<super::catalog::Sink>,
138    #[prost(message, optional, tag = "2")]
139    pub fragment_graph: ::core::option::Option<super::stream_plan::StreamFragmentGraph>,
140    /// The list of object IDs that this sink depends on.
141    #[prost(uint32, repeated, tag = "4", wrapper = "crate::id::ObjectId")]
142    pub dependencies: ::prost::alloc::vec::Vec<crate::id::ObjectId>,
143    #[prost(bool, tag = "5")]
144    pub if_not_exists: bool,
145    #[prost(message, optional, tag = "6")]
146    pub resource_type: ::core::option::Option<StreamingJobResourceType>,
147}
148#[derive(prost_helpers::AnyPB)]
149#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
150pub struct CreateSinkResponse {
151    #[prost(message, optional, tag = "1")]
152    pub status: ::core::option::Option<super::common::Status>,
153    #[prost(message, optional, tag = "2")]
154    pub version: ::core::option::Option<WaitVersion>,
155}
156#[derive(prost_helpers::AnyPB)]
157#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
158pub struct DropSinkRequest {
159    #[prost(uint32, tag = "1", wrapper = "crate::id::SinkId")]
160    pub sink_id: crate::id::SinkId,
161    #[prost(bool, tag = "2")]
162    pub cascade: bool,
163}
164#[derive(prost_helpers::AnyPB)]
165#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
166pub struct DropSinkResponse {
167    #[prost(message, optional, tag = "1")]
168    pub status: ::core::option::Option<super::common::Status>,
169    #[prost(message, optional, tag = "2")]
170    pub version: ::core::option::Option<WaitVersion>,
171}
172#[derive(prost_helpers::AnyPB)]
173#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
174pub struct CreateSubscriptionRequest {
175    #[prost(message, optional, tag = "1")]
176    pub subscription: ::core::option::Option<super::catalog::Subscription>,
177}
178#[derive(prost_helpers::AnyPB)]
179#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
180pub struct CreateSubscriptionResponse {
181    #[prost(message, optional, tag = "1")]
182    pub status: ::core::option::Option<super::common::Status>,
183    #[prost(message, optional, tag = "2")]
184    pub version: ::core::option::Option<WaitVersion>,
185}
186#[derive(prost_helpers::AnyPB)]
187#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
188pub struct DropSubscriptionRequest {
189    #[prost(uint32, tag = "1", wrapper = "crate::id::SubscriptionId")]
190    pub subscription_id: crate::id::SubscriptionId,
191    #[prost(bool, tag = "2")]
192    pub cascade: bool,
193}
194#[derive(prost_helpers::AnyPB)]
195#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
196pub struct DropSubscriptionResponse {
197    #[prost(message, optional, tag = "1")]
198    pub status: ::core::option::Option<super::common::Status>,
199    #[prost(message, optional, tag = "2")]
200    pub version: ::core::option::Option<WaitVersion>,
201}
202/// If SERVERLESS, the materialized view should be created using serverless backfill
203/// For that the controller will create a new compute node, which does backfilling and then is deleted.
204/// May alleviate pressure on the cluster during backfill process.
205#[derive(prost_helpers::AnyPB)]
206#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
207pub struct StreamingJobResourceType {
208    #[prost(oneof = "streaming_job_resource_type::ResourceType", tags = "1, 2, 3")]
209    pub resource_type: ::core::option::Option<streaming_job_resource_type::ResourceType>,
210}
211/// Nested message and enum types in `StreamingJobResourceType`.
212pub mod streaming_job_resource_type {
213    #[derive(prost_helpers::AnyPB)]
214    #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
215    pub enum ResourceType {
216        #[prost(bool, tag = "1")]
217        Regular(bool),
218        /// The specific resource group to use for the streaming job. If not set, the database resource group is used.
219        #[prost(string, tag = "2")]
220        SpecificResourceGroup(::prost::alloc::string::String),
221        #[prost(string, tag = "3")]
222        ServerlessBackfillResourceGroup(::prost::alloc::string::String),
223    }
224}
225#[derive(prost_helpers::AnyPB)]
226#[derive(Clone, PartialEq, ::prost::Message)]
227pub struct CreateMaterializedViewRequest {
228    #[prost(message, optional, tag = "1")]
229    pub materialized_view: ::core::option::Option<super::catalog::Table>,
230    #[prost(message, optional, tag = "2")]
231    pub fragment_graph: ::core::option::Option<super::stream_plan::StreamFragmentGraph>,
232    #[prost(message, optional, tag = "3")]
233    pub resource_type: ::core::option::Option<StreamingJobResourceType>,
234    /// The list of object IDs that this materialized view depends on.
235    #[prost(uint32, repeated, tag = "4", wrapper = "crate::id::ObjectId")]
236    pub dependencies: ::prost::alloc::vec::Vec<crate::id::ObjectId>,
237    #[prost(bool, tag = "6")]
238    pub if_not_exists: bool,
239    #[prost(uint64, optional, tag = "7")]
240    pub refresh_interval_sec: ::core::option::Option<u64>,
241}
242#[derive(prost_helpers::AnyPB)]
243#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
244pub struct CreateMaterializedViewResponse {
245    #[prost(message, optional, tag = "1")]
246    pub status: ::core::option::Option<super::common::Status>,
247    #[prost(message, optional, tag = "2")]
248    pub version: ::core::option::Option<WaitVersion>,
249}
250#[derive(prost_helpers::AnyPB)]
251#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
252pub struct DropMaterializedViewRequest {
253    #[prost(uint32, tag = "1", wrapper = "crate::id::TableId")]
254    pub table_id: crate::id::TableId,
255    #[prost(bool, tag = "2")]
256    pub cascade: bool,
257}
258#[derive(prost_helpers::AnyPB)]
259#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
260pub struct DropMaterializedViewResponse {
261    #[prost(message, optional, tag = "1")]
262    pub status: ::core::option::Option<super::common::Status>,
263    #[prost(message, optional, tag = "2")]
264    pub version: ::core::option::Option<WaitVersion>,
265}
266#[derive(prost_helpers::AnyPB)]
267#[derive(Clone, PartialEq, ::prost::Message)]
268pub struct CreateViewRequest {
269    #[prost(message, optional, tag = "1")]
270    pub view: ::core::option::Option<super::catalog::View>,
271    /// The list of object IDs that this view depends on.
272    #[prost(uint32, repeated, tag = "2", wrapper = "crate::id::ObjectId")]
273    pub dependencies: ::prost::alloc::vec::Vec<crate::id::ObjectId>,
274}
275#[derive(prost_helpers::AnyPB)]
276#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
277pub struct CreateViewResponse {
278    #[prost(message, optional, tag = "1")]
279    pub status: ::core::option::Option<super::common::Status>,
280    #[prost(message, optional, tag = "2")]
281    pub version: ::core::option::Option<WaitVersion>,
282}
283#[derive(prost_helpers::AnyPB)]
284#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
285pub struct DropViewRequest {
286    #[prost(uint32, tag = "1", wrapper = "crate::id::ViewId")]
287    pub view_id: crate::id::ViewId,
288    #[prost(bool, tag = "2")]
289    pub cascade: bool,
290}
291#[derive(prost_helpers::AnyPB)]
292#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
293pub struct DropViewResponse {
294    #[prost(message, optional, tag = "1")]
295    pub status: ::core::option::Option<super::common::Status>,
296    #[prost(message, optional, tag = "2")]
297    pub version: ::core::option::Option<WaitVersion>,
298}
299#[derive(prost_helpers::AnyPB)]
300#[derive(Clone, PartialEq, ::prost::Message)]
301pub struct CreateTableRequest {
302    /// An optional field and will be `Some` for tables with an external connector. If so, the table
303    /// will subscribe to the changes of the external connector and materialize the data.
304    #[prost(message, optional, tag = "1")]
305    pub source: ::core::option::Option<super::catalog::Source>,
306    #[prost(message, optional, tag = "2")]
307    pub materialized_view: ::core::option::Option<super::catalog::Table>,
308    #[prost(message, optional, tag = "3")]
309    pub fragment_graph: ::core::option::Option<super::stream_plan::StreamFragmentGraph>,
310    #[prost(enumeration = "TableJobType", tag = "4")]
311    pub job_type: i32,
312    #[prost(bool, tag = "5")]
313    pub if_not_exists: bool,
314    /// The list of object IDs that this table depends on, currently only used for `SHARED_CDC_SOURCE`.
315    #[prost(uint32, repeated, tag = "6", wrapper = "crate::id::ObjectId")]
316    pub dependencies: ::prost::alloc::vec::Vec<crate::id::ObjectId>,
317}
318#[derive(prost_helpers::AnyPB)]
319#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
320pub struct CreateTableResponse {
321    #[prost(message, optional, tag = "1")]
322    pub status: ::core::option::Option<super::common::Status>,
323    #[prost(message, optional, tag = "2")]
324    pub version: ::core::option::Option<WaitVersion>,
325}
326#[derive(prost_helpers::AnyPB)]
327#[derive(Clone, PartialEq, ::prost::Message)]
328pub struct CreateIcebergTableRequest {
329    #[prost(message, optional, tag = "1")]
330    pub table_info: ::core::option::Option<create_iceberg_table_request::TableJobInfo>,
331    #[prost(message, optional, tag = "2")]
332    pub sink_info: ::core::option::Option<create_iceberg_table_request::SinkJobInfo>,
333    #[prost(message, optional, tag = "3")]
334    pub iceberg_source: ::core::option::Option<super::catalog::Source>,
335    #[prost(bool, tag = "5")]
336    pub if_not_exists: bool,
337}
338/// Nested message and enum types in `CreateIcebergTableRequest`.
339pub mod create_iceberg_table_request {
340    #[derive(prost_helpers::AnyPB)]
341    #[derive(Clone, PartialEq, ::prost::Message)]
342    pub struct TableJobInfo {
343        #[prost(message, optional, tag = "1")]
344        pub source: ::core::option::Option<super::super::catalog::Source>,
345        #[prost(message, optional, tag = "2")]
346        pub table: ::core::option::Option<super::super::catalog::Table>,
347        #[prost(message, optional, tag = "3")]
348        pub fragment_graph: ::core::option::Option<
349            super::super::stream_plan::StreamFragmentGraph,
350        >,
351        #[prost(enumeration = "super::TableJobType", tag = "4")]
352        pub job_type: i32,
353    }
354    #[derive(prost_helpers::AnyPB)]
355    #[derive(Clone, PartialEq, ::prost::Message)]
356    pub struct SinkJobInfo {
357        #[prost(message, optional, tag = "1")]
358        pub sink: ::core::option::Option<super::super::catalog::Sink>,
359        #[prost(message, optional, tag = "2")]
360        pub fragment_graph: ::core::option::Option<
361            super::super::stream_plan::StreamFragmentGraph,
362        >,
363    }
364}
365#[derive(prost_helpers::AnyPB)]
366#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
367pub struct CreateIcebergTableResponse {
368    #[prost(message, optional, tag = "1")]
369    pub status: ::core::option::Option<super::common::Status>,
370    #[prost(message, optional, tag = "2")]
371    pub version: ::core::option::Option<WaitVersion>,
372}
373#[derive(prost_helpers::AnyPB)]
374#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
375pub struct AlterNameRequest {
376    #[prost(string, tag = "20")]
377    pub new_name: ::prost::alloc::string::String,
378    #[prost(oneof = "alter_name_request::Object", tags = "1, 2, 3, 4, 5, 6, 7, 8")]
379    pub object: ::core::option::Option<alter_name_request::Object>,
380}
381/// Nested message and enum types in `AlterNameRequest`.
382pub mod alter_name_request {
383    #[derive(prost_helpers::AnyPB)]
384    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
385    pub enum Object {
386        #[prost(uint32, tag = "1", wrapper = "crate::id::TableId")]
387        TableId(crate::id::TableId),
388        #[prost(uint32, tag = "2", wrapper = "crate::id::ViewId")]
389        ViewId(crate::id::ViewId),
390        #[prost(uint32, tag = "3", wrapper = "crate::id::IndexId")]
391        IndexId(crate::id::IndexId),
392        #[prost(uint32, tag = "4", wrapper = "crate::id::SinkId")]
393        SinkId(crate::id::SinkId),
394        #[prost(uint32, tag = "5", wrapper = "crate::id::SourceId")]
395        SourceId(crate::id::SourceId),
396        #[prost(uint32, tag = "6", wrapper = "crate::id::SchemaId")]
397        SchemaId(crate::id::SchemaId),
398        #[prost(uint32, tag = "7", wrapper = "crate::id::DatabaseId")]
399        DatabaseId(crate::id::DatabaseId),
400        #[prost(uint32, tag = "8", wrapper = "crate::id::SubscriptionId")]
401        SubscriptionId(crate::id::SubscriptionId),
402    }
403}
404#[derive(prost_helpers::AnyPB)]
405#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
406pub struct AlterNameResponse {
407    #[prost(message, optional, tag = "1")]
408    pub status: ::core::option::Option<super::common::Status>,
409    #[prost(message, optional, tag = "2")]
410    pub version: ::core::option::Option<WaitVersion>,
411}
412#[derive(prost_helpers::AnyPB)]
413#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
414pub struct AlterOwnerRequest {
415    #[prost(uint32, tag = "20", wrapper = "crate::id::UserId")]
416    pub owner_id: crate::id::UserId,
417    #[prost(
418        oneof = "alter_owner_request::Object",
419        tags = "1, 2, 3, 4, 5, 6, 7, 8, 9, 10"
420    )]
421    pub object: ::core::option::Option<alter_owner_request::Object>,
422}
423/// Nested message and enum types in `AlterOwnerRequest`.
424pub mod alter_owner_request {
425    #[derive(prost_helpers::AnyPB)]
426    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
427    pub enum Object {
428        #[prost(uint32, tag = "1", wrapper = "crate::id::TableId")]
429        TableId(crate::id::TableId),
430        #[prost(uint32, tag = "2", wrapper = "crate::id::ViewId")]
431        ViewId(crate::id::ViewId),
432        #[prost(uint32, tag = "3", wrapper = "crate::id::SourceId")]
433        SourceId(crate::id::SourceId),
434        #[prost(uint32, tag = "4", wrapper = "crate::id::SinkId")]
435        SinkId(crate::id::SinkId),
436        #[prost(uint32, tag = "5", wrapper = "crate::id::SchemaId")]
437        SchemaId(crate::id::SchemaId),
438        #[prost(uint32, tag = "6", wrapper = "crate::id::DatabaseId")]
439        DatabaseId(crate::id::DatabaseId),
440        #[prost(uint32, tag = "7", wrapper = "crate::id::SubscriptionId")]
441        SubscriptionId(crate::id::SubscriptionId),
442        #[prost(uint32, tag = "8", wrapper = "crate::id::ConnectionId")]
443        ConnectionId(crate::id::ConnectionId),
444        #[prost(uint32, tag = "9", wrapper = "crate::id::SecretId")]
445        SecretId(crate::id::SecretId),
446        #[prost(uint32, tag = "10", wrapper = "crate::id::FunctionId")]
447        FunctionId(crate::id::FunctionId),
448    }
449}
450#[derive(prost_helpers::AnyPB)]
451#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
452pub struct AlterSetSchemaRequest {
453    #[prost(uint32, tag = "20", wrapper = "crate::id::SchemaId")]
454    pub new_schema_id: crate::id::SchemaId,
455    #[prost(oneof = "alter_set_schema_request::Object", tags = "1, 2, 3, 4, 5, 6, 7")]
456    pub object: ::core::option::Option<alter_set_schema_request::Object>,
457}
458/// Nested message and enum types in `AlterSetSchemaRequest`.
459pub mod alter_set_schema_request {
460    #[derive(prost_helpers::AnyPB)]
461    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
462    pub enum Object {
463        #[prost(uint32, tag = "1", wrapper = "crate::id::TableId")]
464        TableId(crate::id::TableId),
465        #[prost(uint32, tag = "2", wrapper = "crate::id::ViewId")]
466        ViewId(crate::id::ViewId),
467        #[prost(uint32, tag = "3", wrapper = "crate::id::SourceId")]
468        SourceId(crate::id::SourceId),
469        #[prost(uint32, tag = "4", wrapper = "crate::id::SinkId")]
470        SinkId(crate::id::SinkId),
471        #[prost(uint32, tag = "5", wrapper = "crate::id::FunctionId")]
472        FunctionId(crate::id::FunctionId),
473        #[prost(uint32, tag = "6", wrapper = "crate::id::ConnectionId")]
474        ConnectionId(crate::id::ConnectionId),
475        #[prost(uint32, tag = "7", wrapper = "crate::id::SubscriptionId")]
476        SubscriptionId(crate::id::SubscriptionId),
477    }
478}
479#[derive(prost_helpers::AnyPB)]
480#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
481pub struct AlterSetSchemaResponse {
482    #[prost(message, optional, tag = "1")]
483    pub status: ::core::option::Option<super::common::Status>,
484    #[prost(message, optional, tag = "2")]
485    pub version: ::core::option::Option<WaitVersion>,
486}
487#[derive(prost_helpers::AnyPB)]
488#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
489pub struct AlterParallelismRequest {
490    /// job id
491    #[prost(uint32, tag = "1", wrapper = "crate::id::JobId")]
492    pub table_id: crate::id::JobId,
493    #[prost(message, optional, tag = "2")]
494    pub parallelism: ::core::option::Option<super::meta::TableParallelism>,
495    #[prost(bool, tag = "3")]
496    pub deferred: bool,
497    #[prost(string, optional, tag = "4")]
498    pub adaptive_parallelism_strategy: ::core::option::Option<
499        ::prost::alloc::string::String,
500    >,
501}
502#[derive(prost_helpers::AnyPB)]
503#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
504pub struct AlterParallelismResponse {}
505#[derive(prost_helpers::AnyPB)]
506#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
507pub struct AlterBackfillParallelismRequest {
508    /// job id
509    #[prost(uint32, tag = "1", wrapper = "crate::id::JobId")]
510    pub table_id: crate::id::JobId,
511    /// When `parallelism` is `None`, it indicates resetting to no backfill override.
512    #[prost(message, optional, tag = "2")]
513    pub parallelism: ::core::option::Option<super::meta::TableParallelism>,
514    #[prost(bool, tag = "3")]
515    pub deferred: bool,
516    #[prost(string, optional, tag = "4")]
517    pub adaptive_parallelism_strategy: ::core::option::Option<
518        ::prost::alloc::string::String,
519    >,
520}
521#[derive(prost_helpers::AnyPB)]
522#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
523pub struct AlterBackfillParallelismResponse {}
524#[derive(prost_helpers::AnyPB)]
525#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
526pub struct AlterFragmentParallelismRequest {
527    #[prost(uint32, repeated, tag = "1", wrapper = "crate::id::FragmentId")]
528    pub fragment_ids: ::prost::alloc::vec::Vec<crate::id::FragmentId>,
529    /// When `parallelism` is `None`, it indicates resetting to the job's parallelism.
530    #[prost(message, optional, tag = "2")]
531    pub parallelism: ::core::option::Option<super::meta::TableParallelism>,
532}
533#[derive(prost_helpers::AnyPB)]
534#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
535pub struct AlterFragmentParallelismResponse {}
536#[derive(prost_helpers::AnyPB)]
537#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
538pub struct AlterCdcTableBackfillParallelismRequest {
539    #[prost(uint32, tag = "1", wrapper = "crate::id::JobId")]
540    pub table_id: crate::id::JobId,
541    #[prost(message, optional, tag = "2")]
542    pub parallelism: ::core::option::Option<super::meta::TableParallelism>,
543}
544#[derive(prost_helpers::AnyPB)]
545#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
546pub struct AlterCdcTableBackfillParallelismResponse {}
547#[derive(prost_helpers::AnyPB)]
548#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
549pub struct AlterResourceGroupRequest {
550    #[prost(uint32, tag = "1", wrapper = "crate::id::JobId")]
551    pub job_id: crate::id::JobId,
552    #[prost(string, optional, tag = "2")]
553    pub resource_group: ::core::option::Option<::prost::alloc::string::String>,
554    #[prost(bool, tag = "3")]
555    pub deferred: bool,
556}
557#[derive(prost_helpers::AnyPB)]
558#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
559pub struct AlterResourceGroupResponse {}
560#[derive(prost_helpers::AnyPB)]
561#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
562pub struct AlterDatabaseResourceGroupRequest {
563    #[prost(uint32, tag = "1", wrapper = "crate::id::DatabaseId")]
564    pub database_id: crate::id::DatabaseId,
565    #[prost(string, optional, tag = "2")]
566    pub resource_group: ::core::option::Option<::prost::alloc::string::String>,
567    #[prost(bool, tag = "3")]
568    pub deferred: bool,
569}
570#[derive(prost_helpers::AnyPB)]
571#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
572pub struct AlterDatabaseResourceGroupResponse {
573    #[prost(message, optional, tag = "1")]
574    pub status: ::core::option::Option<super::common::Status>,
575    #[prost(message, optional, tag = "2")]
576    pub version: ::core::option::Option<WaitVersion>,
577}
578#[derive(prost_helpers::AnyPB)]
579#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
580pub struct AlterOwnerResponse {
581    #[prost(message, optional, tag = "1")]
582    pub status: ::core::option::Option<super::common::Status>,
583    #[prost(message, optional, tag = "2")]
584    pub version: ::core::option::Option<WaitVersion>,
585}
586#[derive(prost_helpers::AnyPB)]
587#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
588pub struct AlterSubscriptionRetentionRequest {
589    #[prost(uint32, tag = "1", wrapper = "crate::id::SubscriptionId")]
590    pub subscription_id: crate::id::SubscriptionId,
591    #[prost(uint64, tag = "2")]
592    pub retention_seconds: u64,
593    #[prost(string, tag = "3")]
594    pub definition: ::prost::alloc::string::String,
595}
596#[derive(prost_helpers::AnyPB)]
597#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
598pub struct AlterSubscriptionRetentionResponse {
599    #[prost(message, optional, tag = "1")]
600    pub status: ::core::option::Option<super::common::Status>,
601    #[prost(message, optional, tag = "2")]
602    pub version: ::core::option::Option<WaitVersion>,
603}
604#[derive(prost_helpers::AnyPB)]
605#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
606pub struct AlterSwapRenameRequest {
607    #[prost(oneof = "alter_swap_rename_request::Object", tags = "1, 2, 3, 4, 5, 6")]
608    pub object: ::core::option::Option<alter_swap_rename_request::Object>,
609}
610/// Nested message and enum types in `AlterSwapRenameRequest`.
611pub mod alter_swap_rename_request {
612    #[derive(prost_helpers::AnyPB)]
613    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
614    pub struct ObjectNameSwapPair {
615        #[prost(uint32, tag = "1", wrapper = "crate::id::ObjectId")]
616        pub src_object_id: crate::id::ObjectId,
617        #[prost(uint32, tag = "2", wrapper = "crate::id::ObjectId")]
618        pub dst_object_id: crate::id::ObjectId,
619    }
620    #[derive(prost_helpers::AnyPB)]
621    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
622    pub enum Object {
623        #[prost(message, tag = "1")]
624        Schema(ObjectNameSwapPair),
625        #[prost(message, tag = "2")]
626        Table(ObjectNameSwapPair),
627        #[prost(message, tag = "3")]
628        View(ObjectNameSwapPair),
629        #[prost(message, tag = "4")]
630        Source(ObjectNameSwapPair),
631        #[prost(message, tag = "5")]
632        Sink(ObjectNameSwapPair),
633        #[prost(message, tag = "6")]
634        Subscription(ObjectNameSwapPair),
635    }
636}
637#[derive(prost_helpers::AnyPB)]
638#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
639pub struct AlterSwapRenameResponse {
640    #[prost(message, optional, tag = "1")]
641    pub status: ::core::option::Option<super::common::Status>,
642    #[prost(message, optional, tag = "2")]
643    pub version: ::core::option::Option<WaitVersion>,
644}
645#[derive(prost_helpers::AnyPB)]
646#[derive(Clone, PartialEq, ::prost::Message)]
647pub struct CreateFunctionRequest {
648    #[prost(message, optional, tag = "1")]
649    pub function: ::core::option::Option<super::catalog::Function>,
650}
651#[derive(prost_helpers::AnyPB)]
652#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
653pub struct CreateFunctionResponse {
654    #[prost(message, optional, tag = "1")]
655    pub status: ::core::option::Option<super::common::Status>,
656    #[prost(message, optional, tag = "2")]
657    pub version: ::core::option::Option<WaitVersion>,
658}
659#[derive(prost_helpers::AnyPB)]
660#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
661pub struct DropFunctionRequest {
662    #[prost(uint32, tag = "1", wrapper = "crate::id::FunctionId")]
663    pub function_id: crate::id::FunctionId,
664    #[prost(bool, tag = "2")]
665    pub cascade: bool,
666}
667#[derive(prost_helpers::AnyPB)]
668#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
669pub struct DropFunctionResponse {
670    #[prost(message, optional, tag = "1")]
671    pub status: ::core::option::Option<super::common::Status>,
672    #[prost(message, optional, tag = "2")]
673    pub version: ::core::option::Option<WaitVersion>,
674}
675#[derive(prost_helpers::AnyPB)]
676#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
677pub struct DropTableRequest {
678    #[prost(uint32, tag = "2", wrapper = "crate::id::TableId")]
679    pub table_id: crate::id::TableId,
680    #[prost(bool, tag = "3")]
681    pub cascade: bool,
682    #[prost(oneof = "drop_table_request::SourceId", tags = "1")]
683    pub source_id: ::core::option::Option<drop_table_request::SourceId>,
684}
685/// Nested message and enum types in `DropTableRequest`.
686pub mod drop_table_request {
687    #[derive(prost_helpers::AnyPB)]
688    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
689    pub enum SourceId {
690        #[prost(uint32, tag = "1", wrapper = "crate::id::SourceId")]
691        Id(crate::id::SourceId),
692    }
693}
694#[derive(prost_helpers::AnyPB)]
695#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
696pub struct DropTableResponse {
697    #[prost(message, optional, tag = "1")]
698    pub status: ::core::option::Option<super::common::Status>,
699    #[prost(message, optional, tag = "2")]
700    pub version: ::core::option::Option<WaitVersion>,
701}
702/// Used by risectl (and in the future, dashboard)
703#[derive(prost_helpers::AnyPB)]
704#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
705pub struct RisectlListStateTablesRequest {}
706/// Used by risectl (and in the future, dashboard)
707#[derive(prost_helpers::AnyPB)]
708#[derive(Clone, PartialEq, ::prost::Message)]
709pub struct RisectlListStateTablesResponse {
710    #[prost(message, repeated, tag = "1")]
711    pub tables: ::prost::alloc::vec::Vec<super::catalog::Table>,
712}
713/// Used by risectl
714#[derive(prost_helpers::AnyPB)]
715#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
716pub struct RisectlResumeBackfillRequest {
717    #[prost(oneof = "risectl_resume_backfill_request::Target", tags = "1, 2")]
718    pub target: ::core::option::Option<risectl_resume_backfill_request::Target>,
719}
720/// Nested message and enum types in `RisectlResumeBackfillRequest`.
721pub mod risectl_resume_backfill_request {
722    #[derive(prost_helpers::AnyPB)]
723    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
724    pub enum Target {
725        #[prost(uint32, tag = "1", wrapper = "crate::id::JobId")]
726        JobId(crate::id::JobId),
727        #[prost(uint32, tag = "2", wrapper = "crate::id::FragmentId")]
728        FragmentId(crate::id::FragmentId),
729    }
730}
731/// Used by risectl
732#[derive(prost_helpers::AnyPB)]
733#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
734pub struct RisectlResumeBackfillResponse {}
735#[derive(prost_helpers::AnyPB)]
736#[derive(Clone, PartialEq, ::prost::Message)]
737pub struct CreateIndexRequest {
738    #[prost(message, optional, tag = "1")]
739    pub index: ::core::option::Option<super::catalog::Index>,
740    #[prost(message, optional, tag = "2")]
741    pub index_table: ::core::option::Option<super::catalog::Table>,
742    #[prost(message, optional, tag = "3")]
743    pub fragment_graph: ::core::option::Option<super::stream_plan::StreamFragmentGraph>,
744    #[prost(bool, tag = "4")]
745    pub if_not_exists: bool,
746    #[prost(message, optional, tag = "5")]
747    pub resource_type: ::core::option::Option<StreamingJobResourceType>,
748}
749#[derive(prost_helpers::AnyPB)]
750#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
751pub struct CreateIndexResponse {
752    #[prost(message, optional, tag = "1")]
753    pub status: ::core::option::Option<super::common::Status>,
754    #[prost(message, optional, tag = "2")]
755    pub version: ::core::option::Option<WaitVersion>,
756}
757#[derive(prost_helpers::AnyPB)]
758#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
759pub struct DropIndexRequest {
760    #[prost(uint32, tag = "1", wrapper = "crate::id::IndexId")]
761    pub index_id: crate::id::IndexId,
762    #[prost(bool, tag = "2")]
763    pub cascade: bool,
764}
765#[derive(prost_helpers::AnyPB)]
766#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
767pub struct DropIndexResponse {
768    #[prost(message, optional, tag = "1")]
769    pub status: ::core::option::Option<super::common::Status>,
770    #[prost(message, optional, tag = "2")]
771    pub version: ::core::option::Option<WaitVersion>,
772}
773#[derive(prost_helpers::AnyPB)]
774#[derive(Clone, PartialEq, ::prost::Message)]
775pub struct ReplaceJobPlan {
776    /// The new materialization plan, where all schema are updated.
777    #[prost(message, optional, tag = "1")]
778    pub fragment_graph: ::core::option::Option<super::stream_plan::StreamFragmentGraph>,
779    #[prost(oneof = "replace_job_plan::ReplaceJob", tags = "3, 4, 5")]
780    pub replace_job: ::core::option::Option<replace_job_plan::ReplaceJob>,
781}
782/// Nested message and enum types in `ReplaceJobPlan`.
783pub mod replace_job_plan {
784    #[derive(prost_helpers::AnyPB)]
785    #[derive(Clone, PartialEq, ::prost::Message)]
786    pub struct ReplaceTable {
787        /// The new table catalog, with the correct (old) table ID and a new version.
788        /// If the new version does not match the subsequent version in the meta service's
789        /// catalog, this request will be rejected.
790        #[prost(message, optional, tag = "1")]
791        pub table: ::core::option::Option<super::super::catalog::Table>,
792        /// Source catalog of table's associated source
793        #[prost(message, optional, tag = "2")]
794        pub source: ::core::option::Option<super::super::catalog::Source>,
795        #[prost(enumeration = "super::TableJobType", tag = "3")]
796        pub job_type: i32,
797    }
798    #[derive(prost_helpers::AnyPB)]
799    #[derive(Clone, PartialEq, ::prost::Message)]
800    pub struct ReplaceSource {
801        #[prost(message, optional, tag = "1")]
802        pub source: ::core::option::Option<super::super::catalog::Source>,
803    }
804    #[derive(prost_helpers::AnyPB)]
805    #[derive(Clone, PartialEq, ::prost::Message)]
806    pub struct ReplaceMaterializedView {
807        #[prost(message, optional, tag = "1")]
808        pub table: ::core::option::Option<super::super::catalog::Table>,
809    }
810    #[derive(prost_helpers::AnyPB)]
811    #[derive(Clone, PartialEq, ::prost::Oneof)]
812    pub enum ReplaceJob {
813        #[prost(message, tag = "3")]
814        ReplaceTable(ReplaceTable),
815        #[prost(message, tag = "4")]
816        ReplaceSource(ReplaceSource),
817        #[prost(message, tag = "5")]
818        ReplaceMaterializedView(ReplaceMaterializedView),
819    }
820}
821#[derive(prost_helpers::AnyPB)]
822#[derive(Clone, PartialEq, ::prost::Message)]
823pub struct ReplaceJobPlanRequest {
824    #[prost(message, optional, tag = "1")]
825    pub plan: ::core::option::Option<ReplaceJobPlan>,
826}
827#[derive(prost_helpers::AnyPB)]
828#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
829pub struct ReplaceJobPlanResponse {
830    #[prost(message, optional, tag = "1")]
831    pub status: ::core::option::Option<super::common::Status>,
832    /// The new global catalog version.
833    #[prost(message, optional, tag = "2")]
834    pub version: ::core::option::Option<WaitVersion>,
835}
836#[derive(prost_helpers::AnyPB)]
837#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
838pub struct GetTableRequest {
839    #[prost(string, tag = "1")]
840    pub database_name: ::prost::alloc::string::String,
841    #[prost(string, tag = "2")]
842    pub table_name: ::prost::alloc::string::String,
843}
844#[derive(prost_helpers::AnyPB)]
845#[derive(Clone, PartialEq, ::prost::Message)]
846pub struct GetTableResponse {
847    #[prost(message, optional, tag = "1")]
848    pub table: ::core::option::Option<super::catalog::Table>,
849}
850#[derive(prost_helpers::AnyPB)]
851#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
852pub struct GetDdlProgressRequest {}
853#[derive(prost_helpers::AnyPB)]
854#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
855pub struct DdlProgress {
856    #[prost(uint64, tag = "1")]
857    pub id: u64,
858    #[prost(string, tag = "2")]
859    pub statement: ::prost::alloc::string::String,
860    #[prost(string, tag = "3")]
861    pub progress: ::prost::alloc::string::String,
862    #[prost(string, tag = "4")]
863    pub create_type: ::prost::alloc::string::String,
864    #[prost(int64, tag = "5")]
865    pub initialized_at_time_millis: i64,
866    #[prost(bool, tag = "6")]
867    pub is_serverless_backfill: bool,
868    #[prost(enumeration = "BackfillType", tag = "7")]
869    pub backfill_type: i32,
870}
871#[derive(prost_helpers::AnyPB)]
872#[derive(Clone, PartialEq, ::prost::Message)]
873pub struct GetDdlProgressResponse {
874    #[prost(message, repeated, tag = "1")]
875    pub ddl_progress: ::prost::alloc::vec::Vec<DdlProgress>,
876}
877#[derive(prost_helpers::AnyPB)]
878#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
879pub struct CreateSecretRequest {
880    #[prost(string, tag = "1")]
881    pub name: ::prost::alloc::string::String,
882    #[prost(bytes = "vec", tag = "2")]
883    pub value: ::prost::alloc::vec::Vec<u8>,
884    #[prost(uint32, tag = "3", wrapper = "crate::id::DatabaseId")]
885    pub database_id: crate::id::DatabaseId,
886    #[prost(uint32, tag = "4", wrapper = "crate::id::SchemaId")]
887    pub schema_id: crate::id::SchemaId,
888    #[prost(uint32, tag = "5", wrapper = "crate::id::UserId")]
889    pub owner_id: crate::id::UserId,
890}
891#[derive(prost_helpers::AnyPB)]
892#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
893pub struct CreateSecretResponse {
894    #[prost(message, optional, tag = "1")]
895    pub version: ::core::option::Option<WaitVersion>,
896}
897#[derive(prost_helpers::AnyPB)]
898#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
899pub struct DropSecretRequest {
900    #[prost(uint32, tag = "1", wrapper = "crate::id::SecretId")]
901    pub secret_id: crate::id::SecretId,
902    #[prost(bool, tag = "2")]
903    pub cascade: bool,
904}
905#[derive(prost_helpers::AnyPB)]
906#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
907pub struct DropSecretResponse {
908    #[prost(message, optional, tag = "1")]
909    pub version: ::core::option::Option<WaitVersion>,
910    #[prost(message, optional, tag = "2")]
911    pub status: ::core::option::Option<super::common::Status>,
912}
913#[derive(prost_helpers::AnyPB)]
914#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
915pub struct AlterSecretRequest {
916    #[prost(uint32, tag = "1", wrapper = "crate::id::SecretId")]
917    pub secret_id: crate::id::SecretId,
918    #[prost(string, tag = "2")]
919    pub name: ::prost::alloc::string::String,
920    #[prost(bytes = "vec", tag = "3")]
921    pub value: ::prost::alloc::vec::Vec<u8>,
922    #[prost(uint32, tag = "4", wrapper = "crate::id::DatabaseId")]
923    pub database_id: crate::id::DatabaseId,
924    #[prost(uint32, tag = "5", wrapper = "crate::id::SchemaId")]
925    pub schema_id: crate::id::SchemaId,
926    #[prost(uint32, tag = "6", wrapper = "crate::id::UserId")]
927    pub owner_id: crate::id::UserId,
928}
929#[derive(prost_helpers::AnyPB)]
930#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
931pub struct AlterSecretResponse {
932    #[prost(message, optional, tag = "1")]
933    pub version: ::core::option::Option<WaitVersion>,
934}
935#[derive(prost_helpers::AnyPB)]
936#[derive(Clone, PartialEq, ::prost::Message)]
937pub struct CreateConnectionRequest {
938    #[prost(string, tag = "1")]
939    pub name: ::prost::alloc::string::String,
940    #[prost(uint32, tag = "2", wrapper = "crate::id::DatabaseId")]
941    pub database_id: crate::id::DatabaseId,
942    #[prost(uint32, tag = "3", wrapper = "crate::id::SchemaId")]
943    pub schema_id: crate::id::SchemaId,
944    #[prost(uint32, tag = "5", wrapper = "crate::id::UserId")]
945    pub owner_id: crate::id::UserId,
946    #[prost(oneof = "create_connection_request::Payload", tags = "4, 6")]
947    pub payload: ::core::option::Option<create_connection_request::Payload>,
948}
949/// Nested message and enum types in `CreateConnectionRequest`.
950pub mod create_connection_request {
951    #[derive(prost_helpers::AnyPB)]
952    #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
953    pub struct PrivateLink {
954        #[prost(
955            enumeration = "super::super::catalog::connection::private_link_service::PrivateLinkProvider",
956            tag = "1"
957        )]
958        pub provider: i32,
959        #[prost(string, tag = "2")]
960        pub service_name: ::prost::alloc::string::String,
961        #[prost(string, optional, tag = "3")]
962        pub tags: ::core::option::Option<::prost::alloc::string::String>,
963    }
964    #[derive(prost_helpers::AnyPB)]
965    #[derive(Clone, PartialEq, ::prost::Oneof)]
966    pub enum Payload {
967        #[deprecated]
968        #[prost(message, tag = "4")]
969        PrivateLink(PrivateLink),
970        #[prost(message, tag = "6")]
971        ConnectionParams(super::super::catalog::ConnectionParams),
972    }
973}
974#[derive(prost_helpers::AnyPB)]
975#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
976pub struct CreateConnectionResponse {
977    /// global catalog version
978    #[prost(message, optional, tag = "1")]
979    pub version: ::core::option::Option<WaitVersion>,
980}
981#[derive(prost_helpers::AnyPB)]
982#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
983pub struct ListConnectionsRequest {}
984#[derive(prost_helpers::AnyPB)]
985#[derive(Clone, PartialEq, ::prost::Message)]
986pub struct ListConnectionsResponse {
987    #[prost(message, repeated, tag = "1")]
988    pub connections: ::prost::alloc::vec::Vec<super::catalog::Connection>,
989}
990#[derive(prost_helpers::AnyPB)]
991#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
992pub struct DropConnectionRequest {
993    #[prost(uint32, tag = "1", wrapper = "crate::id::ConnectionId")]
994    pub connection_id: crate::id::ConnectionId,
995    #[prost(bool, tag = "2")]
996    pub cascade: bool,
997}
998#[derive(prost_helpers::AnyPB)]
999#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1000pub struct DropConnectionResponse {
1001    #[prost(message, optional, tag = "1")]
1002    pub status: ::core::option::Option<super::common::Status>,
1003    #[prost(message, optional, tag = "2")]
1004    pub version: ::core::option::Option<WaitVersion>,
1005}
1006#[derive(prost_helpers::AnyPB)]
1007#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1008pub struct GetTablesRequest {
1009    #[prost(uint32, repeated, tag = "1", wrapper = "crate::id::TableId")]
1010    pub table_ids: ::prost::alloc::vec::Vec<crate::id::TableId>,
1011    #[prost(bool, tag = "2")]
1012    pub include_dropped_tables: bool,
1013}
1014#[derive(prost_helpers::AnyPB)]
1015#[derive(Clone, PartialEq, ::prost::Message)]
1016pub struct GetTablesResponse {
1017    #[prost(map = "uint32, message", tag = "1", wrapper = "crate::id::TableId")]
1018    pub tables: ::std::collections::HashMap<crate::id::TableId, super::catalog::Table>,
1019}
1020#[derive(prost_helpers::AnyPB)]
1021#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1022pub struct WaitRequest {
1023    #[prost(uint32, optional, tag = "1", wrapper = "crate::id::JobId")]
1024    pub job_id: ::core::option::Option<crate::id::JobId>,
1025}
1026#[derive(prost_helpers::AnyPB)]
1027#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1028pub struct WaitResponse {
1029    #[prost(message, optional, tag = "1")]
1030    pub version: ::core::option::Option<WaitVersion>,
1031}
1032#[derive(prost_helpers::AnyPB)]
1033#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1034pub struct CommentOnRequest {
1035    #[prost(message, optional, tag = "1")]
1036    pub comment: ::core::option::Option<super::catalog::Comment>,
1037}
1038#[derive(prost_helpers::AnyPB)]
1039#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1040pub struct CommentOnResponse {
1041    #[prost(message, optional, tag = "1")]
1042    pub status: ::core::option::Option<super::common::Status>,
1043    #[prost(message, optional, tag = "2")]
1044    pub version: ::core::option::Option<WaitVersion>,
1045}
1046#[derive(prost_helpers::AnyPB)]
1047#[derive(Clone, PartialEq, ::prost::Message)]
1048pub struct TableSchemaChange {
1049    #[prost(enumeration = "table_schema_change::TableChangeType", tag = "1")]
1050    pub change_type: i32,
1051    #[prost(string, tag = "2")]
1052    pub cdc_table_id: ::prost::alloc::string::String,
1053    #[prost(message, repeated, tag = "3")]
1054    pub columns: ::prost::alloc::vec::Vec<super::plan_common::ColumnCatalog>,
1055    #[prost(string, tag = "4")]
1056    pub upstream_ddl: ::prost::alloc::string::String,
1057}
1058/// Nested message and enum types in `TableSchemaChange`.
1059pub mod table_schema_change {
1060    #[derive(prost_helpers::AnyPB)]
1061    #[derive(
1062        Clone,
1063        Copy,
1064        Debug,
1065        PartialEq,
1066        Eq,
1067        Hash,
1068        PartialOrd,
1069        Ord,
1070        ::prost::Enumeration
1071    )]
1072    #[repr(i32)]
1073    pub enum TableChangeType {
1074        Unspecified = 0,
1075        Alter = 1,
1076        Create = 2,
1077        Drop = 3,
1078    }
1079    impl TableChangeType {
1080        /// String value of the enum field names used in the ProtoBuf definition.
1081        ///
1082        /// The values are not transformed in any way and thus are considered stable
1083        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1084        pub fn as_str_name(&self) -> &'static str {
1085            match self {
1086                Self::Unspecified => "UNSPECIFIED",
1087                Self::Alter => "ALTER",
1088                Self::Create => "CREATE",
1089                Self::Drop => "DROP",
1090            }
1091        }
1092        /// Creates an enum from field names used in the ProtoBuf definition.
1093        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1094            match value {
1095                "UNSPECIFIED" => Some(Self::Unspecified),
1096                "ALTER" => Some(Self::Alter),
1097                "CREATE" => Some(Self::Create),
1098                "DROP" => Some(Self::Drop),
1099                _ => None,
1100            }
1101        }
1102    }
1103}
1104#[derive(prost_helpers::AnyPB)]
1105#[derive(Clone, PartialEq, ::prost::Message)]
1106pub struct SchemaChangeEnvelope {
1107    #[prost(message, repeated, tag = "1")]
1108    pub table_changes: ::prost::alloc::vec::Vec<TableSchemaChange>,
1109}
1110#[derive(prost_helpers::AnyPB)]
1111#[derive(Clone, PartialEq, ::prost::Message)]
1112pub struct AutoSchemaChangeRequest {
1113    #[prost(message, optional, tag = "1")]
1114    pub schema_change: ::core::option::Option<SchemaChangeEnvelope>,
1115}
1116#[derive(prost_helpers::AnyPB)]
1117#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1118pub struct AutoSchemaChangeResponse {}
1119#[derive(prost_helpers::AnyPB)]
1120#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1121pub struct AlterDatabaseParamRequest {
1122    #[prost(uint32, tag = "1", wrapper = "crate::id::DatabaseId")]
1123    pub database_id: crate::id::DatabaseId,
1124    #[prost(oneof = "alter_database_param_request::Param", tags = "2, 3")]
1125    pub param: ::core::option::Option<alter_database_param_request::Param>,
1126}
1127/// Nested message and enum types in `AlterDatabaseParamRequest`.
1128pub mod alter_database_param_request {
1129    #[derive(prost_helpers::AnyPB)]
1130    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
1131    pub enum Param {
1132        #[prost(message, tag = "2")]
1133        BarrierIntervalMs(super::super::common::OptionalUint32),
1134        #[prost(message, tag = "3")]
1135        CheckpointFrequency(super::super::common::OptionalUint64),
1136    }
1137}
1138#[derive(prost_helpers::AnyPB)]
1139#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1140pub struct AlterDatabaseParamResponse {
1141    #[prost(message, optional, tag = "1")]
1142    pub status: ::core::option::Option<super::common::Status>,
1143    #[prost(message, optional, tag = "2")]
1144    pub version: ::core::option::Option<WaitVersion>,
1145}
1146#[derive(prost_helpers::AnyPB)]
1147#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1148pub struct CompactIcebergTableRequest {
1149    #[prost(uint32, tag = "1", wrapper = "crate::id::SinkId")]
1150    pub sink_id: crate::id::SinkId,
1151}
1152#[derive(prost_helpers::AnyPB)]
1153#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1154pub struct CompactIcebergTableResponse {
1155    #[prost(message, optional, tag = "1")]
1156    pub status: ::core::option::Option<super::common::Status>,
1157    /// The compaction task ID that was triggered
1158    #[prost(uint64, tag = "2")]
1159    pub task_id: u64,
1160}
1161#[derive(prost_helpers::AnyPB)]
1162#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1163pub struct ExpireIcebergTableSnapshotsRequest {
1164    #[prost(uint32, tag = "1", wrapper = "crate::id::SinkId")]
1165    pub sink_id: crate::id::SinkId,
1166}
1167#[derive(prost_helpers::AnyPB)]
1168#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1169pub struct ExpireIcebergTableSnapshotsResponse {
1170    #[prost(message, optional, tag = "1")]
1171    pub status: ::core::option::Option<super::common::Status>,
1172}
1173#[derive(prost_helpers::AnyPB)]
1174#[derive(Clone, PartialEq, ::prost::Message)]
1175pub struct AlterStreamingJobConfigRequest {
1176    #[prost(uint32, tag = "1", wrapper = "crate::id::JobId")]
1177    pub job_id: crate::id::JobId,
1178    #[prost(map = "string, string", tag = "2")]
1179    pub entries_to_add: ::std::collections::HashMap<
1180        ::prost::alloc::string::String,
1181        ::prost::alloc::string::String,
1182    >,
1183    #[prost(string, repeated, tag = "3")]
1184    pub keys_to_remove: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1185}
1186#[derive(prost_helpers::AnyPB)]
1187#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1188pub struct AlterStreamingJobConfigResponse {}
1189/// An enum to distinguish different types of the `Table` streaming job.
1190///
1191/// * GENERAL: Table streaming jobs w/ or w/o a connector
1192/// * SHARED_CDC_SOURCE: The table streaming job is created based on a shared CDC source job (risingwavelabs/rfcs#73).
1193///
1194/// And one may add other types to support Table jobs that based on other shared sources (risingwavelabs/rfcs#72).
1195///
1196/// Currently, it's usages include:
1197///
1198/// * When creating the streaming actor graph, different table jobs may need different treatment.
1199/// * Some adhoc validation when creating the streaming job. e.g., `validate_cdc_table`.
1200///
1201/// It's not included in `catalog.Table`, and thus not persisted. It's only used in the `CreateTableRequest`.
1202#[derive(prost_helpers::AnyPB)]
1203#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1204#[repr(i32)]
1205pub enum TableJobType {
1206    Unspecified = 0,
1207    /// table streaming jobs excepts the `SHARED_CDC_SOURCE` type
1208    General = 1,
1209    /// table streaming job sharing a CDC source job
1210    SharedCdcSource = 2,
1211}
1212impl TableJobType {
1213    /// String value of the enum field names used in the ProtoBuf definition.
1214    ///
1215    /// The values are not transformed in any way and thus are considered stable
1216    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1217    pub fn as_str_name(&self) -> &'static str {
1218        match self {
1219            Self::Unspecified => "TABLE_JOB_TYPE_UNSPECIFIED",
1220            Self::General => "TABLE_JOB_TYPE_GENERAL",
1221            Self::SharedCdcSource => "TABLE_JOB_TYPE_SHARED_CDC_SOURCE",
1222        }
1223    }
1224    /// Creates an enum from field names used in the ProtoBuf definition.
1225    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1226        match value {
1227            "TABLE_JOB_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
1228            "TABLE_JOB_TYPE_GENERAL" => Some(Self::General),
1229            "TABLE_JOB_TYPE_SHARED_CDC_SOURCE" => Some(Self::SharedCdcSource),
1230            _ => None,
1231        }
1232    }
1233}
1234#[derive(prost_helpers::AnyPB)]
1235#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1236#[repr(i32)]
1237pub enum BackfillType {
1238    Unspecified = 0,
1239    NormalBackfill = 1,
1240    SnapshotBackfill = 2,
1241}
1242impl BackfillType {
1243    /// String value of the enum field names used in the ProtoBuf definition.
1244    ///
1245    /// The values are not transformed in any way and thus are considered stable
1246    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1247    pub fn as_str_name(&self) -> &'static str {
1248        match self {
1249            Self::Unspecified => "BACKFILL_TYPE_UNSPECIFIED",
1250            Self::NormalBackfill => "NORMAL_BACKFILL",
1251            Self::SnapshotBackfill => "SNAPSHOT_BACKFILL",
1252        }
1253    }
1254    /// Creates an enum from field names used in the ProtoBuf definition.
1255    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1256        match value {
1257            "BACKFILL_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
1258            "NORMAL_BACKFILL" => Some(Self::NormalBackfill),
1259            "SNAPSHOT_BACKFILL" => Some(Self::SnapshotBackfill),
1260            _ => None,
1261        }
1262    }
1263}
1264/// Generated client implementations.
1265pub mod ddl_service_client {
1266    #![allow(
1267        unused_variables,
1268        dead_code,
1269        missing_docs,
1270        clippy::wildcard_imports,
1271        clippy::let_unit_value,
1272    )]
1273    use tonic::codegen::*;
1274    use tonic::codegen::http::Uri;
1275    #[derive(Debug, Clone)]
1276    pub struct DdlServiceClient<T> {
1277        inner: tonic::client::Grpc<T>,
1278    }
1279    impl DdlServiceClient<tonic::transport::Channel> {
1280        /// Attempt to create a new client by connecting to a given endpoint.
1281        pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
1282        where
1283            D: TryInto<tonic::transport::Endpoint>,
1284            D::Error: Into<StdError>,
1285        {
1286            let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
1287            Ok(Self::new(conn))
1288        }
1289    }
1290    impl<T> DdlServiceClient<T>
1291    where
1292        T: tonic::client::GrpcService<tonic::body::Body>,
1293        T::Error: Into<StdError>,
1294        T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
1295        <T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
1296    {
1297        pub fn new(inner: T) -> Self {
1298            let inner = tonic::client::Grpc::new(inner);
1299            Self { inner }
1300        }
1301        pub fn with_origin(inner: T, origin: Uri) -> Self {
1302            let inner = tonic::client::Grpc::with_origin(inner, origin);
1303            Self { inner }
1304        }
1305        pub fn with_interceptor<F>(
1306            inner: T,
1307            interceptor: F,
1308        ) -> DdlServiceClient<InterceptedService<T, F>>
1309        where
1310            F: tonic::service::Interceptor,
1311            T::ResponseBody: Default,
1312            T: tonic::codegen::Service<
1313                http::Request<tonic::body::Body>,
1314                Response = http::Response<
1315                    <T as tonic::client::GrpcService<tonic::body::Body>>::ResponseBody,
1316                >,
1317            >,
1318            <T as tonic::codegen::Service<
1319                http::Request<tonic::body::Body>,
1320            >>::Error: Into<StdError> + std::marker::Send + std::marker::Sync,
1321        {
1322            DdlServiceClient::new(InterceptedService::new(inner, interceptor))
1323        }
1324        /// Compress requests with the given encoding.
1325        ///
1326        /// This requires the server to support it otherwise it might respond with an
1327        /// error.
1328        #[must_use]
1329        pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
1330            self.inner = self.inner.send_compressed(encoding);
1331            self
1332        }
1333        /// Enable decompressing responses.
1334        #[must_use]
1335        pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
1336            self.inner = self.inner.accept_compressed(encoding);
1337            self
1338        }
1339        /// Limits the maximum size of a decoded message.
1340        ///
1341        /// Default: `4MB`
1342        #[must_use]
1343        pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
1344            self.inner = self.inner.max_decoding_message_size(limit);
1345            self
1346        }
1347        /// Limits the maximum size of an encoded message.
1348        ///
1349        /// Default: `usize::MAX`
1350        #[must_use]
1351        pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
1352            self.inner = self.inner.max_encoding_message_size(limit);
1353            self
1354        }
1355        pub async fn create_database(
1356            &mut self,
1357            request: impl tonic::IntoRequest<super::CreateDatabaseRequest>,
1358        ) -> std::result::Result<
1359            tonic::Response<super::CreateDatabaseResponse>,
1360            tonic::Status,
1361        > {
1362            self.inner
1363                .ready()
1364                .await
1365                .map_err(|e| {
1366                    tonic::Status::unknown(
1367                        format!("Service was not ready: {}", e.into()),
1368                    )
1369                })?;
1370            let codec = tonic_prost::ProstCodec::default();
1371            let path = http::uri::PathAndQuery::from_static(
1372                "/ddl_service.DdlService/CreateDatabase",
1373            );
1374            let mut req = request.into_request();
1375            req.extensions_mut()
1376                .insert(GrpcMethod::new("ddl_service.DdlService", "CreateDatabase"));
1377            self.inner.unary(req, path, codec).await
1378        }
1379        pub async fn drop_database(
1380            &mut self,
1381            request: impl tonic::IntoRequest<super::DropDatabaseRequest>,
1382        ) -> std::result::Result<
1383            tonic::Response<super::DropDatabaseResponse>,
1384            tonic::Status,
1385        > {
1386            self.inner
1387                .ready()
1388                .await
1389                .map_err(|e| {
1390                    tonic::Status::unknown(
1391                        format!("Service was not ready: {}", e.into()),
1392                    )
1393                })?;
1394            let codec = tonic_prost::ProstCodec::default();
1395            let path = http::uri::PathAndQuery::from_static(
1396                "/ddl_service.DdlService/DropDatabase",
1397            );
1398            let mut req = request.into_request();
1399            req.extensions_mut()
1400                .insert(GrpcMethod::new("ddl_service.DdlService", "DropDatabase"));
1401            self.inner.unary(req, path, codec).await
1402        }
1403        pub async fn create_schema(
1404            &mut self,
1405            request: impl tonic::IntoRequest<super::CreateSchemaRequest>,
1406        ) -> std::result::Result<
1407            tonic::Response<super::CreateSchemaResponse>,
1408            tonic::Status,
1409        > {
1410            self.inner
1411                .ready()
1412                .await
1413                .map_err(|e| {
1414                    tonic::Status::unknown(
1415                        format!("Service was not ready: {}", e.into()),
1416                    )
1417                })?;
1418            let codec = tonic_prost::ProstCodec::default();
1419            let path = http::uri::PathAndQuery::from_static(
1420                "/ddl_service.DdlService/CreateSchema",
1421            );
1422            let mut req = request.into_request();
1423            req.extensions_mut()
1424                .insert(GrpcMethod::new("ddl_service.DdlService", "CreateSchema"));
1425            self.inner.unary(req, path, codec).await
1426        }
1427        pub async fn drop_schema(
1428            &mut self,
1429            request: impl tonic::IntoRequest<super::DropSchemaRequest>,
1430        ) -> std::result::Result<
1431            tonic::Response<super::DropSchemaResponse>,
1432            tonic::Status,
1433        > {
1434            self.inner
1435                .ready()
1436                .await
1437                .map_err(|e| {
1438                    tonic::Status::unknown(
1439                        format!("Service was not ready: {}", e.into()),
1440                    )
1441                })?;
1442            let codec = tonic_prost::ProstCodec::default();
1443            let path = http::uri::PathAndQuery::from_static(
1444                "/ddl_service.DdlService/DropSchema",
1445            );
1446            let mut req = request.into_request();
1447            req.extensions_mut()
1448                .insert(GrpcMethod::new("ddl_service.DdlService", "DropSchema"));
1449            self.inner.unary(req, path, codec).await
1450        }
1451        pub async fn create_source(
1452            &mut self,
1453            request: impl tonic::IntoRequest<super::CreateSourceRequest>,
1454        ) -> std::result::Result<
1455            tonic::Response<super::CreateSourceResponse>,
1456            tonic::Status,
1457        > {
1458            self.inner
1459                .ready()
1460                .await
1461                .map_err(|e| {
1462                    tonic::Status::unknown(
1463                        format!("Service was not ready: {}", e.into()),
1464                    )
1465                })?;
1466            let codec = tonic_prost::ProstCodec::default();
1467            let path = http::uri::PathAndQuery::from_static(
1468                "/ddl_service.DdlService/CreateSource",
1469            );
1470            let mut req = request.into_request();
1471            req.extensions_mut()
1472                .insert(GrpcMethod::new("ddl_service.DdlService", "CreateSource"));
1473            self.inner.unary(req, path, codec).await
1474        }
1475        pub async fn drop_source(
1476            &mut self,
1477            request: impl tonic::IntoRequest<super::DropSourceRequest>,
1478        ) -> std::result::Result<
1479            tonic::Response<super::DropSourceResponse>,
1480            tonic::Status,
1481        > {
1482            self.inner
1483                .ready()
1484                .await
1485                .map_err(|e| {
1486                    tonic::Status::unknown(
1487                        format!("Service was not ready: {}", e.into()),
1488                    )
1489                })?;
1490            let codec = tonic_prost::ProstCodec::default();
1491            let path = http::uri::PathAndQuery::from_static(
1492                "/ddl_service.DdlService/DropSource",
1493            );
1494            let mut req = request.into_request();
1495            req.extensions_mut()
1496                .insert(GrpcMethod::new("ddl_service.DdlService", "DropSource"));
1497            self.inner.unary(req, path, codec).await
1498        }
1499        pub async fn create_sink(
1500            &mut self,
1501            request: impl tonic::IntoRequest<super::CreateSinkRequest>,
1502        ) -> std::result::Result<
1503            tonic::Response<super::CreateSinkResponse>,
1504            tonic::Status,
1505        > {
1506            self.inner
1507                .ready()
1508                .await
1509                .map_err(|e| {
1510                    tonic::Status::unknown(
1511                        format!("Service was not ready: {}", e.into()),
1512                    )
1513                })?;
1514            let codec = tonic_prost::ProstCodec::default();
1515            let path = http::uri::PathAndQuery::from_static(
1516                "/ddl_service.DdlService/CreateSink",
1517            );
1518            let mut req = request.into_request();
1519            req.extensions_mut()
1520                .insert(GrpcMethod::new("ddl_service.DdlService", "CreateSink"));
1521            self.inner.unary(req, path, codec).await
1522        }
1523        pub async fn create_subscription(
1524            &mut self,
1525            request: impl tonic::IntoRequest<super::CreateSubscriptionRequest>,
1526        ) -> std::result::Result<
1527            tonic::Response<super::CreateSubscriptionResponse>,
1528            tonic::Status,
1529        > {
1530            self.inner
1531                .ready()
1532                .await
1533                .map_err(|e| {
1534                    tonic::Status::unknown(
1535                        format!("Service was not ready: {}", e.into()),
1536                    )
1537                })?;
1538            let codec = tonic_prost::ProstCodec::default();
1539            let path = http::uri::PathAndQuery::from_static(
1540                "/ddl_service.DdlService/CreateSubscription",
1541            );
1542            let mut req = request.into_request();
1543            req.extensions_mut()
1544                .insert(GrpcMethod::new("ddl_service.DdlService", "CreateSubscription"));
1545            self.inner.unary(req, path, codec).await
1546        }
1547        pub async fn drop_sink(
1548            &mut self,
1549            request: impl tonic::IntoRequest<super::DropSinkRequest>,
1550        ) -> std::result::Result<
1551            tonic::Response<super::DropSinkResponse>,
1552            tonic::Status,
1553        > {
1554            self.inner
1555                .ready()
1556                .await
1557                .map_err(|e| {
1558                    tonic::Status::unknown(
1559                        format!("Service was not ready: {}", e.into()),
1560                    )
1561                })?;
1562            let codec = tonic_prost::ProstCodec::default();
1563            let path = http::uri::PathAndQuery::from_static(
1564                "/ddl_service.DdlService/DropSink",
1565            );
1566            let mut req = request.into_request();
1567            req.extensions_mut()
1568                .insert(GrpcMethod::new("ddl_service.DdlService", "DropSink"));
1569            self.inner.unary(req, path, codec).await
1570        }
1571        pub async fn drop_subscription(
1572            &mut self,
1573            request: impl tonic::IntoRequest<super::DropSubscriptionRequest>,
1574        ) -> std::result::Result<
1575            tonic::Response<super::DropSubscriptionResponse>,
1576            tonic::Status,
1577        > {
1578            self.inner
1579                .ready()
1580                .await
1581                .map_err(|e| {
1582                    tonic::Status::unknown(
1583                        format!("Service was not ready: {}", e.into()),
1584                    )
1585                })?;
1586            let codec = tonic_prost::ProstCodec::default();
1587            let path = http::uri::PathAndQuery::from_static(
1588                "/ddl_service.DdlService/DropSubscription",
1589            );
1590            let mut req = request.into_request();
1591            req.extensions_mut()
1592                .insert(GrpcMethod::new("ddl_service.DdlService", "DropSubscription"));
1593            self.inner.unary(req, path, codec).await
1594        }
1595        pub async fn create_materialized_view(
1596            &mut self,
1597            request: impl tonic::IntoRequest<super::CreateMaterializedViewRequest>,
1598        ) -> std::result::Result<
1599            tonic::Response<super::CreateMaterializedViewResponse>,
1600            tonic::Status,
1601        > {
1602            self.inner
1603                .ready()
1604                .await
1605                .map_err(|e| {
1606                    tonic::Status::unknown(
1607                        format!("Service was not ready: {}", e.into()),
1608                    )
1609                })?;
1610            let codec = tonic_prost::ProstCodec::default();
1611            let path = http::uri::PathAndQuery::from_static(
1612                "/ddl_service.DdlService/CreateMaterializedView",
1613            );
1614            let mut req = request.into_request();
1615            req.extensions_mut()
1616                .insert(
1617                    GrpcMethod::new("ddl_service.DdlService", "CreateMaterializedView"),
1618                );
1619            self.inner.unary(req, path, codec).await
1620        }
1621        pub async fn drop_materialized_view(
1622            &mut self,
1623            request: impl tonic::IntoRequest<super::DropMaterializedViewRequest>,
1624        ) -> std::result::Result<
1625            tonic::Response<super::DropMaterializedViewResponse>,
1626            tonic::Status,
1627        > {
1628            self.inner
1629                .ready()
1630                .await
1631                .map_err(|e| {
1632                    tonic::Status::unknown(
1633                        format!("Service was not ready: {}", e.into()),
1634                    )
1635                })?;
1636            let codec = tonic_prost::ProstCodec::default();
1637            let path = http::uri::PathAndQuery::from_static(
1638                "/ddl_service.DdlService/DropMaterializedView",
1639            );
1640            let mut req = request.into_request();
1641            req.extensions_mut()
1642                .insert(
1643                    GrpcMethod::new("ddl_service.DdlService", "DropMaterializedView"),
1644                );
1645            self.inner.unary(req, path, codec).await
1646        }
1647        pub async fn create_table(
1648            &mut self,
1649            request: impl tonic::IntoRequest<super::CreateTableRequest>,
1650        ) -> std::result::Result<
1651            tonic::Response<super::CreateTableResponse>,
1652            tonic::Status,
1653        > {
1654            self.inner
1655                .ready()
1656                .await
1657                .map_err(|e| {
1658                    tonic::Status::unknown(
1659                        format!("Service was not ready: {}", e.into()),
1660                    )
1661                })?;
1662            let codec = tonic_prost::ProstCodec::default();
1663            let path = http::uri::PathAndQuery::from_static(
1664                "/ddl_service.DdlService/CreateTable",
1665            );
1666            let mut req = request.into_request();
1667            req.extensions_mut()
1668                .insert(GrpcMethod::new("ddl_service.DdlService", "CreateTable"));
1669            self.inner.unary(req, path, codec).await
1670        }
1671        pub async fn create_iceberg_table(
1672            &mut self,
1673            request: impl tonic::IntoRequest<super::CreateIcebergTableRequest>,
1674        ) -> std::result::Result<
1675            tonic::Response<super::CreateIcebergTableResponse>,
1676            tonic::Status,
1677        > {
1678            self.inner
1679                .ready()
1680                .await
1681                .map_err(|e| {
1682                    tonic::Status::unknown(
1683                        format!("Service was not ready: {}", e.into()),
1684                    )
1685                })?;
1686            let codec = tonic_prost::ProstCodec::default();
1687            let path = http::uri::PathAndQuery::from_static(
1688                "/ddl_service.DdlService/CreateIcebergTable",
1689            );
1690            let mut req = request.into_request();
1691            req.extensions_mut()
1692                .insert(GrpcMethod::new("ddl_service.DdlService", "CreateIcebergTable"));
1693            self.inner.unary(req, path, codec).await
1694        }
1695        pub async fn create_secret(
1696            &mut self,
1697            request: impl tonic::IntoRequest<super::CreateSecretRequest>,
1698        ) -> std::result::Result<
1699            tonic::Response<super::CreateSecretResponse>,
1700            tonic::Status,
1701        > {
1702            self.inner
1703                .ready()
1704                .await
1705                .map_err(|e| {
1706                    tonic::Status::unknown(
1707                        format!("Service was not ready: {}", e.into()),
1708                    )
1709                })?;
1710            let codec = tonic_prost::ProstCodec::default();
1711            let path = http::uri::PathAndQuery::from_static(
1712                "/ddl_service.DdlService/CreateSecret",
1713            );
1714            let mut req = request.into_request();
1715            req.extensions_mut()
1716                .insert(GrpcMethod::new("ddl_service.DdlService", "CreateSecret"));
1717            self.inner.unary(req, path, codec).await
1718        }
1719        pub async fn drop_secret(
1720            &mut self,
1721            request: impl tonic::IntoRequest<super::DropSecretRequest>,
1722        ) -> std::result::Result<
1723            tonic::Response<super::DropSecretResponse>,
1724            tonic::Status,
1725        > {
1726            self.inner
1727                .ready()
1728                .await
1729                .map_err(|e| {
1730                    tonic::Status::unknown(
1731                        format!("Service was not ready: {}", e.into()),
1732                    )
1733                })?;
1734            let codec = tonic_prost::ProstCodec::default();
1735            let path = http::uri::PathAndQuery::from_static(
1736                "/ddl_service.DdlService/DropSecret",
1737            );
1738            let mut req = request.into_request();
1739            req.extensions_mut()
1740                .insert(GrpcMethod::new("ddl_service.DdlService", "DropSecret"));
1741            self.inner.unary(req, path, codec).await
1742        }
1743        pub async fn alter_secret(
1744            &mut self,
1745            request: impl tonic::IntoRequest<super::AlterSecretRequest>,
1746        ) -> std::result::Result<
1747            tonic::Response<super::AlterSecretResponse>,
1748            tonic::Status,
1749        > {
1750            self.inner
1751                .ready()
1752                .await
1753                .map_err(|e| {
1754                    tonic::Status::unknown(
1755                        format!("Service was not ready: {}", e.into()),
1756                    )
1757                })?;
1758            let codec = tonic_prost::ProstCodec::default();
1759            let path = http::uri::PathAndQuery::from_static(
1760                "/ddl_service.DdlService/AlterSecret",
1761            );
1762            let mut req = request.into_request();
1763            req.extensions_mut()
1764                .insert(GrpcMethod::new("ddl_service.DdlService", "AlterSecret"));
1765            self.inner.unary(req, path, codec).await
1766        }
1767        pub async fn alter_name(
1768            &mut self,
1769            request: impl tonic::IntoRequest<super::AlterNameRequest>,
1770        ) -> std::result::Result<
1771            tonic::Response<super::AlterNameResponse>,
1772            tonic::Status,
1773        > {
1774            self.inner
1775                .ready()
1776                .await
1777                .map_err(|e| {
1778                    tonic::Status::unknown(
1779                        format!("Service was not ready: {}", e.into()),
1780                    )
1781                })?;
1782            let codec = tonic_prost::ProstCodec::default();
1783            let path = http::uri::PathAndQuery::from_static(
1784                "/ddl_service.DdlService/AlterName",
1785            );
1786            let mut req = request.into_request();
1787            req.extensions_mut()
1788                .insert(GrpcMethod::new("ddl_service.DdlService", "AlterName"));
1789            self.inner.unary(req, path, codec).await
1790        }
1791        pub async fn alter_source(
1792            &mut self,
1793            request: impl tonic::IntoRequest<super::AlterSourceRequest>,
1794        ) -> std::result::Result<
1795            tonic::Response<super::AlterSourceResponse>,
1796            tonic::Status,
1797        > {
1798            self.inner
1799                .ready()
1800                .await
1801                .map_err(|e| {
1802                    tonic::Status::unknown(
1803                        format!("Service was not ready: {}", e.into()),
1804                    )
1805                })?;
1806            let codec = tonic_prost::ProstCodec::default();
1807            let path = http::uri::PathAndQuery::from_static(
1808                "/ddl_service.DdlService/AlterSource",
1809            );
1810            let mut req = request.into_request();
1811            req.extensions_mut()
1812                .insert(GrpcMethod::new("ddl_service.DdlService", "AlterSource"));
1813            self.inner.unary(req, path, codec).await
1814        }
1815        pub async fn reset_source(
1816            &mut self,
1817            request: impl tonic::IntoRequest<super::ResetSourceRequest>,
1818        ) -> std::result::Result<
1819            tonic::Response<super::ResetSourceResponse>,
1820            tonic::Status,
1821        > {
1822            self.inner
1823                .ready()
1824                .await
1825                .map_err(|e| {
1826                    tonic::Status::unknown(
1827                        format!("Service was not ready: {}", e.into()),
1828                    )
1829                })?;
1830            let codec = tonic_prost::ProstCodec::default();
1831            let path = http::uri::PathAndQuery::from_static(
1832                "/ddl_service.DdlService/ResetSource",
1833            );
1834            let mut req = request.into_request();
1835            req.extensions_mut()
1836                .insert(GrpcMethod::new("ddl_service.DdlService", "ResetSource"));
1837            self.inner.unary(req, path, codec).await
1838        }
1839        pub async fn alter_owner(
1840            &mut self,
1841            request: impl tonic::IntoRequest<super::AlterOwnerRequest>,
1842        ) -> std::result::Result<
1843            tonic::Response<super::AlterOwnerResponse>,
1844            tonic::Status,
1845        > {
1846            self.inner
1847                .ready()
1848                .await
1849                .map_err(|e| {
1850                    tonic::Status::unknown(
1851                        format!("Service was not ready: {}", e.into()),
1852                    )
1853                })?;
1854            let codec = tonic_prost::ProstCodec::default();
1855            let path = http::uri::PathAndQuery::from_static(
1856                "/ddl_service.DdlService/AlterOwner",
1857            );
1858            let mut req = request.into_request();
1859            req.extensions_mut()
1860                .insert(GrpcMethod::new("ddl_service.DdlService", "AlterOwner"));
1861            self.inner.unary(req, path, codec).await
1862        }
1863        pub async fn alter_subscription_retention(
1864            &mut self,
1865            request: impl tonic::IntoRequest<super::AlterSubscriptionRetentionRequest>,
1866        ) -> std::result::Result<
1867            tonic::Response<super::AlterSubscriptionRetentionResponse>,
1868            tonic::Status,
1869        > {
1870            self.inner
1871                .ready()
1872                .await
1873                .map_err(|e| {
1874                    tonic::Status::unknown(
1875                        format!("Service was not ready: {}", e.into()),
1876                    )
1877                })?;
1878            let codec = tonic_prost::ProstCodec::default();
1879            let path = http::uri::PathAndQuery::from_static(
1880                "/ddl_service.DdlService/AlterSubscriptionRetention",
1881            );
1882            let mut req = request.into_request();
1883            req.extensions_mut()
1884                .insert(
1885                    GrpcMethod::new(
1886                        "ddl_service.DdlService",
1887                        "AlterSubscriptionRetention",
1888                    ),
1889                );
1890            self.inner.unary(req, path, codec).await
1891        }
1892        pub async fn alter_set_schema(
1893            &mut self,
1894            request: impl tonic::IntoRequest<super::AlterSetSchemaRequest>,
1895        ) -> std::result::Result<
1896            tonic::Response<super::AlterSetSchemaResponse>,
1897            tonic::Status,
1898        > {
1899            self.inner
1900                .ready()
1901                .await
1902                .map_err(|e| {
1903                    tonic::Status::unknown(
1904                        format!("Service was not ready: {}", e.into()),
1905                    )
1906                })?;
1907            let codec = tonic_prost::ProstCodec::default();
1908            let path = http::uri::PathAndQuery::from_static(
1909                "/ddl_service.DdlService/AlterSetSchema",
1910            );
1911            let mut req = request.into_request();
1912            req.extensions_mut()
1913                .insert(GrpcMethod::new("ddl_service.DdlService", "AlterSetSchema"));
1914            self.inner.unary(req, path, codec).await
1915        }
1916        pub async fn alter_parallelism(
1917            &mut self,
1918            request: impl tonic::IntoRequest<super::AlterParallelismRequest>,
1919        ) -> std::result::Result<
1920            tonic::Response<super::AlterParallelismResponse>,
1921            tonic::Status,
1922        > {
1923            self.inner
1924                .ready()
1925                .await
1926                .map_err(|e| {
1927                    tonic::Status::unknown(
1928                        format!("Service was not ready: {}", e.into()),
1929                    )
1930                })?;
1931            let codec = tonic_prost::ProstCodec::default();
1932            let path = http::uri::PathAndQuery::from_static(
1933                "/ddl_service.DdlService/AlterParallelism",
1934            );
1935            let mut req = request.into_request();
1936            req.extensions_mut()
1937                .insert(GrpcMethod::new("ddl_service.DdlService", "AlterParallelism"));
1938            self.inner.unary(req, path, codec).await
1939        }
1940        pub async fn alter_backfill_parallelism(
1941            &mut self,
1942            request: impl tonic::IntoRequest<super::AlterBackfillParallelismRequest>,
1943        ) -> std::result::Result<
1944            tonic::Response<super::AlterBackfillParallelismResponse>,
1945            tonic::Status,
1946        > {
1947            self.inner
1948                .ready()
1949                .await
1950                .map_err(|e| {
1951                    tonic::Status::unknown(
1952                        format!("Service was not ready: {}", e.into()),
1953                    )
1954                })?;
1955            let codec = tonic_prost::ProstCodec::default();
1956            let path = http::uri::PathAndQuery::from_static(
1957                "/ddl_service.DdlService/AlterBackfillParallelism",
1958            );
1959            let mut req = request.into_request();
1960            req.extensions_mut()
1961                .insert(
1962                    GrpcMethod::new("ddl_service.DdlService", "AlterBackfillParallelism"),
1963                );
1964            self.inner.unary(req, path, codec).await
1965        }
1966        pub async fn alter_fragment_parallelism(
1967            &mut self,
1968            request: impl tonic::IntoRequest<super::AlterFragmentParallelismRequest>,
1969        ) -> std::result::Result<
1970            tonic::Response<super::AlterFragmentParallelismResponse>,
1971            tonic::Status,
1972        > {
1973            self.inner
1974                .ready()
1975                .await
1976                .map_err(|e| {
1977                    tonic::Status::unknown(
1978                        format!("Service was not ready: {}", e.into()),
1979                    )
1980                })?;
1981            let codec = tonic_prost::ProstCodec::default();
1982            let path = http::uri::PathAndQuery::from_static(
1983                "/ddl_service.DdlService/AlterFragmentParallelism",
1984            );
1985            let mut req = request.into_request();
1986            req.extensions_mut()
1987                .insert(
1988                    GrpcMethod::new("ddl_service.DdlService", "AlterFragmentParallelism"),
1989                );
1990            self.inner.unary(req, path, codec).await
1991        }
1992        pub async fn alter_resource_group(
1993            &mut self,
1994            request: impl tonic::IntoRequest<super::AlterResourceGroupRequest>,
1995        ) -> std::result::Result<
1996            tonic::Response<super::AlterResourceGroupResponse>,
1997            tonic::Status,
1998        > {
1999            self.inner
2000                .ready()
2001                .await
2002                .map_err(|e| {
2003                    tonic::Status::unknown(
2004                        format!("Service was not ready: {}", e.into()),
2005                    )
2006                })?;
2007            let codec = tonic_prost::ProstCodec::default();
2008            let path = http::uri::PathAndQuery::from_static(
2009                "/ddl_service.DdlService/AlterResourceGroup",
2010            );
2011            let mut req = request.into_request();
2012            req.extensions_mut()
2013                .insert(GrpcMethod::new("ddl_service.DdlService", "AlterResourceGroup"));
2014            self.inner.unary(req, path, codec).await
2015        }
2016        pub async fn alter_database_resource_group(
2017            &mut self,
2018            request: impl tonic::IntoRequest<super::AlterDatabaseResourceGroupRequest>,
2019        ) -> std::result::Result<
2020            tonic::Response<super::AlterDatabaseResourceGroupResponse>,
2021            tonic::Status,
2022        > {
2023            self.inner
2024                .ready()
2025                .await
2026                .map_err(|e| {
2027                    tonic::Status::unknown(
2028                        format!("Service was not ready: {}", e.into()),
2029                    )
2030                })?;
2031            let codec = tonic_prost::ProstCodec::default();
2032            let path = http::uri::PathAndQuery::from_static(
2033                "/ddl_service.DdlService/AlterDatabaseResourceGroup",
2034            );
2035            let mut req = request.into_request();
2036            req.extensions_mut()
2037                .insert(
2038                    GrpcMethod::new(
2039                        "ddl_service.DdlService",
2040                        "AlterDatabaseResourceGroup",
2041                    ),
2042                );
2043            self.inner.unary(req, path, codec).await
2044        }
2045        pub async fn drop_table(
2046            &mut self,
2047            request: impl tonic::IntoRequest<super::DropTableRequest>,
2048        ) -> std::result::Result<
2049            tonic::Response<super::DropTableResponse>,
2050            tonic::Status,
2051        > {
2052            self.inner
2053                .ready()
2054                .await
2055                .map_err(|e| {
2056                    tonic::Status::unknown(
2057                        format!("Service was not ready: {}", e.into()),
2058                    )
2059                })?;
2060            let codec = tonic_prost::ProstCodec::default();
2061            let path = http::uri::PathAndQuery::from_static(
2062                "/ddl_service.DdlService/DropTable",
2063            );
2064            let mut req = request.into_request();
2065            req.extensions_mut()
2066                .insert(GrpcMethod::new("ddl_service.DdlService", "DropTable"));
2067            self.inner.unary(req, path, codec).await
2068        }
2069        pub async fn risectl_list_state_tables(
2070            &mut self,
2071            request: impl tonic::IntoRequest<super::RisectlListStateTablesRequest>,
2072        ) -> std::result::Result<
2073            tonic::Response<super::RisectlListStateTablesResponse>,
2074            tonic::Status,
2075        > {
2076            self.inner
2077                .ready()
2078                .await
2079                .map_err(|e| {
2080                    tonic::Status::unknown(
2081                        format!("Service was not ready: {}", e.into()),
2082                    )
2083                })?;
2084            let codec = tonic_prost::ProstCodec::default();
2085            let path = http::uri::PathAndQuery::from_static(
2086                "/ddl_service.DdlService/RisectlListStateTables",
2087            );
2088            let mut req = request.into_request();
2089            req.extensions_mut()
2090                .insert(
2091                    GrpcMethod::new("ddl_service.DdlService", "RisectlListStateTables"),
2092                );
2093            self.inner.unary(req, path, codec).await
2094        }
2095        pub async fn risectl_resume_backfill(
2096            &mut self,
2097            request: impl tonic::IntoRequest<super::RisectlResumeBackfillRequest>,
2098        ) -> std::result::Result<
2099            tonic::Response<super::RisectlResumeBackfillResponse>,
2100            tonic::Status,
2101        > {
2102            self.inner
2103                .ready()
2104                .await
2105                .map_err(|e| {
2106                    tonic::Status::unknown(
2107                        format!("Service was not ready: {}", e.into()),
2108                    )
2109                })?;
2110            let codec = tonic_prost::ProstCodec::default();
2111            let path = http::uri::PathAndQuery::from_static(
2112                "/ddl_service.DdlService/RisectlResumeBackfill",
2113            );
2114            let mut req = request.into_request();
2115            req.extensions_mut()
2116                .insert(
2117                    GrpcMethod::new("ddl_service.DdlService", "RisectlResumeBackfill"),
2118                );
2119            self.inner.unary(req, path, codec).await
2120        }
2121        pub async fn create_view(
2122            &mut self,
2123            request: impl tonic::IntoRequest<super::CreateViewRequest>,
2124        ) -> std::result::Result<
2125            tonic::Response<super::CreateViewResponse>,
2126            tonic::Status,
2127        > {
2128            self.inner
2129                .ready()
2130                .await
2131                .map_err(|e| {
2132                    tonic::Status::unknown(
2133                        format!("Service was not ready: {}", e.into()),
2134                    )
2135                })?;
2136            let codec = tonic_prost::ProstCodec::default();
2137            let path = http::uri::PathAndQuery::from_static(
2138                "/ddl_service.DdlService/CreateView",
2139            );
2140            let mut req = request.into_request();
2141            req.extensions_mut()
2142                .insert(GrpcMethod::new("ddl_service.DdlService", "CreateView"));
2143            self.inner.unary(req, path, codec).await
2144        }
2145        pub async fn drop_view(
2146            &mut self,
2147            request: impl tonic::IntoRequest<super::DropViewRequest>,
2148        ) -> std::result::Result<
2149            tonic::Response<super::DropViewResponse>,
2150            tonic::Status,
2151        > {
2152            self.inner
2153                .ready()
2154                .await
2155                .map_err(|e| {
2156                    tonic::Status::unknown(
2157                        format!("Service was not ready: {}", e.into()),
2158                    )
2159                })?;
2160            let codec = tonic_prost::ProstCodec::default();
2161            let path = http::uri::PathAndQuery::from_static(
2162                "/ddl_service.DdlService/DropView",
2163            );
2164            let mut req = request.into_request();
2165            req.extensions_mut()
2166                .insert(GrpcMethod::new("ddl_service.DdlService", "DropView"));
2167            self.inner.unary(req, path, codec).await
2168        }
2169        pub async fn create_index(
2170            &mut self,
2171            request: impl tonic::IntoRequest<super::CreateIndexRequest>,
2172        ) -> std::result::Result<
2173            tonic::Response<super::CreateIndexResponse>,
2174            tonic::Status,
2175        > {
2176            self.inner
2177                .ready()
2178                .await
2179                .map_err(|e| {
2180                    tonic::Status::unknown(
2181                        format!("Service was not ready: {}", e.into()),
2182                    )
2183                })?;
2184            let codec = tonic_prost::ProstCodec::default();
2185            let path = http::uri::PathAndQuery::from_static(
2186                "/ddl_service.DdlService/CreateIndex",
2187            );
2188            let mut req = request.into_request();
2189            req.extensions_mut()
2190                .insert(GrpcMethod::new("ddl_service.DdlService", "CreateIndex"));
2191            self.inner.unary(req, path, codec).await
2192        }
2193        pub async fn drop_index(
2194            &mut self,
2195            request: impl tonic::IntoRequest<super::DropIndexRequest>,
2196        ) -> std::result::Result<
2197            tonic::Response<super::DropIndexResponse>,
2198            tonic::Status,
2199        > {
2200            self.inner
2201                .ready()
2202                .await
2203                .map_err(|e| {
2204                    tonic::Status::unknown(
2205                        format!("Service was not ready: {}", e.into()),
2206                    )
2207                })?;
2208            let codec = tonic_prost::ProstCodec::default();
2209            let path = http::uri::PathAndQuery::from_static(
2210                "/ddl_service.DdlService/DropIndex",
2211            );
2212            let mut req = request.into_request();
2213            req.extensions_mut()
2214                .insert(GrpcMethod::new("ddl_service.DdlService", "DropIndex"));
2215            self.inner.unary(req, path, codec).await
2216        }
2217        pub async fn create_function(
2218            &mut self,
2219            request: impl tonic::IntoRequest<super::CreateFunctionRequest>,
2220        ) -> std::result::Result<
2221            tonic::Response<super::CreateFunctionResponse>,
2222            tonic::Status,
2223        > {
2224            self.inner
2225                .ready()
2226                .await
2227                .map_err(|e| {
2228                    tonic::Status::unknown(
2229                        format!("Service was not ready: {}", e.into()),
2230                    )
2231                })?;
2232            let codec = tonic_prost::ProstCodec::default();
2233            let path = http::uri::PathAndQuery::from_static(
2234                "/ddl_service.DdlService/CreateFunction",
2235            );
2236            let mut req = request.into_request();
2237            req.extensions_mut()
2238                .insert(GrpcMethod::new("ddl_service.DdlService", "CreateFunction"));
2239            self.inner.unary(req, path, codec).await
2240        }
2241        pub async fn drop_function(
2242            &mut self,
2243            request: impl tonic::IntoRequest<super::DropFunctionRequest>,
2244        ) -> std::result::Result<
2245            tonic::Response<super::DropFunctionResponse>,
2246            tonic::Status,
2247        > {
2248            self.inner
2249                .ready()
2250                .await
2251                .map_err(|e| {
2252                    tonic::Status::unknown(
2253                        format!("Service was not ready: {}", e.into()),
2254                    )
2255                })?;
2256            let codec = tonic_prost::ProstCodec::default();
2257            let path = http::uri::PathAndQuery::from_static(
2258                "/ddl_service.DdlService/DropFunction",
2259            );
2260            let mut req = request.into_request();
2261            req.extensions_mut()
2262                .insert(GrpcMethod::new("ddl_service.DdlService", "DropFunction"));
2263            self.inner.unary(req, path, codec).await
2264        }
2265        pub async fn replace_job_plan(
2266            &mut self,
2267            request: impl tonic::IntoRequest<super::ReplaceJobPlanRequest>,
2268        ) -> std::result::Result<
2269            tonic::Response<super::ReplaceJobPlanResponse>,
2270            tonic::Status,
2271        > {
2272            self.inner
2273                .ready()
2274                .await
2275                .map_err(|e| {
2276                    tonic::Status::unknown(
2277                        format!("Service was not ready: {}", e.into()),
2278                    )
2279                })?;
2280            let codec = tonic_prost::ProstCodec::default();
2281            let path = http::uri::PathAndQuery::from_static(
2282                "/ddl_service.DdlService/ReplaceJobPlan",
2283            );
2284            let mut req = request.into_request();
2285            req.extensions_mut()
2286                .insert(GrpcMethod::new("ddl_service.DdlService", "ReplaceJobPlan"));
2287            self.inner.unary(req, path, codec).await
2288        }
2289        pub async fn get_table(
2290            &mut self,
2291            request: impl tonic::IntoRequest<super::GetTableRequest>,
2292        ) -> std::result::Result<
2293            tonic::Response<super::GetTableResponse>,
2294            tonic::Status,
2295        > {
2296            self.inner
2297                .ready()
2298                .await
2299                .map_err(|e| {
2300                    tonic::Status::unknown(
2301                        format!("Service was not ready: {}", e.into()),
2302                    )
2303                })?;
2304            let codec = tonic_prost::ProstCodec::default();
2305            let path = http::uri::PathAndQuery::from_static(
2306                "/ddl_service.DdlService/GetTable",
2307            );
2308            let mut req = request.into_request();
2309            req.extensions_mut()
2310                .insert(GrpcMethod::new("ddl_service.DdlService", "GetTable"));
2311            self.inner.unary(req, path, codec).await
2312        }
2313        pub async fn get_ddl_progress(
2314            &mut self,
2315            request: impl tonic::IntoRequest<super::GetDdlProgressRequest>,
2316        ) -> std::result::Result<
2317            tonic::Response<super::GetDdlProgressResponse>,
2318            tonic::Status,
2319        > {
2320            self.inner
2321                .ready()
2322                .await
2323                .map_err(|e| {
2324                    tonic::Status::unknown(
2325                        format!("Service was not ready: {}", e.into()),
2326                    )
2327                })?;
2328            let codec = tonic_prost::ProstCodec::default();
2329            let path = http::uri::PathAndQuery::from_static(
2330                "/ddl_service.DdlService/GetDdlProgress",
2331            );
2332            let mut req = request.into_request();
2333            req.extensions_mut()
2334                .insert(GrpcMethod::new("ddl_service.DdlService", "GetDdlProgress"));
2335            self.inner.unary(req, path, codec).await
2336        }
2337        pub async fn create_connection(
2338            &mut self,
2339            request: impl tonic::IntoRequest<super::CreateConnectionRequest>,
2340        ) -> std::result::Result<
2341            tonic::Response<super::CreateConnectionResponse>,
2342            tonic::Status,
2343        > {
2344            self.inner
2345                .ready()
2346                .await
2347                .map_err(|e| {
2348                    tonic::Status::unknown(
2349                        format!("Service was not ready: {}", e.into()),
2350                    )
2351                })?;
2352            let codec = tonic_prost::ProstCodec::default();
2353            let path = http::uri::PathAndQuery::from_static(
2354                "/ddl_service.DdlService/CreateConnection",
2355            );
2356            let mut req = request.into_request();
2357            req.extensions_mut()
2358                .insert(GrpcMethod::new("ddl_service.DdlService", "CreateConnection"));
2359            self.inner.unary(req, path, codec).await
2360        }
2361        pub async fn list_connections(
2362            &mut self,
2363            request: impl tonic::IntoRequest<super::ListConnectionsRequest>,
2364        ) -> std::result::Result<
2365            tonic::Response<super::ListConnectionsResponse>,
2366            tonic::Status,
2367        > {
2368            self.inner
2369                .ready()
2370                .await
2371                .map_err(|e| {
2372                    tonic::Status::unknown(
2373                        format!("Service was not ready: {}", e.into()),
2374                    )
2375                })?;
2376            let codec = tonic_prost::ProstCodec::default();
2377            let path = http::uri::PathAndQuery::from_static(
2378                "/ddl_service.DdlService/ListConnections",
2379            );
2380            let mut req = request.into_request();
2381            req.extensions_mut()
2382                .insert(GrpcMethod::new("ddl_service.DdlService", "ListConnections"));
2383            self.inner.unary(req, path, codec).await
2384        }
2385        pub async fn drop_connection(
2386            &mut self,
2387            request: impl tonic::IntoRequest<super::DropConnectionRequest>,
2388        ) -> std::result::Result<
2389            tonic::Response<super::DropConnectionResponse>,
2390            tonic::Status,
2391        > {
2392            self.inner
2393                .ready()
2394                .await
2395                .map_err(|e| {
2396                    tonic::Status::unknown(
2397                        format!("Service was not ready: {}", e.into()),
2398                    )
2399                })?;
2400            let codec = tonic_prost::ProstCodec::default();
2401            let path = http::uri::PathAndQuery::from_static(
2402                "/ddl_service.DdlService/DropConnection",
2403            );
2404            let mut req = request.into_request();
2405            req.extensions_mut()
2406                .insert(GrpcMethod::new("ddl_service.DdlService", "DropConnection"));
2407            self.inner.unary(req, path, codec).await
2408        }
2409        pub async fn get_tables(
2410            &mut self,
2411            request: impl tonic::IntoRequest<super::GetTablesRequest>,
2412        ) -> std::result::Result<
2413            tonic::Response<super::GetTablesResponse>,
2414            tonic::Status,
2415        > {
2416            self.inner
2417                .ready()
2418                .await
2419                .map_err(|e| {
2420                    tonic::Status::unknown(
2421                        format!("Service was not ready: {}", e.into()),
2422                    )
2423                })?;
2424            let codec = tonic_prost::ProstCodec::default();
2425            let path = http::uri::PathAndQuery::from_static(
2426                "/ddl_service.DdlService/GetTables",
2427            );
2428            let mut req = request.into_request();
2429            req.extensions_mut()
2430                .insert(GrpcMethod::new("ddl_service.DdlService", "GetTables"));
2431            self.inner.unary(req, path, codec).await
2432        }
2433        pub async fn wait(
2434            &mut self,
2435            request: impl tonic::IntoRequest<super::WaitRequest>,
2436        ) -> std::result::Result<tonic::Response<super::WaitResponse>, tonic::Status> {
2437            self.inner
2438                .ready()
2439                .await
2440                .map_err(|e| {
2441                    tonic::Status::unknown(
2442                        format!("Service was not ready: {}", e.into()),
2443                    )
2444                })?;
2445            let codec = tonic_prost::ProstCodec::default();
2446            let path = http::uri::PathAndQuery::from_static(
2447                "/ddl_service.DdlService/Wait",
2448            );
2449            let mut req = request.into_request();
2450            req.extensions_mut()
2451                .insert(GrpcMethod::new("ddl_service.DdlService", "Wait"));
2452            self.inner.unary(req, path, codec).await
2453        }
2454        pub async fn comment_on(
2455            &mut self,
2456            request: impl tonic::IntoRequest<super::CommentOnRequest>,
2457        ) -> std::result::Result<
2458            tonic::Response<super::CommentOnResponse>,
2459            tonic::Status,
2460        > {
2461            self.inner
2462                .ready()
2463                .await
2464                .map_err(|e| {
2465                    tonic::Status::unknown(
2466                        format!("Service was not ready: {}", e.into()),
2467                    )
2468                })?;
2469            let codec = tonic_prost::ProstCodec::default();
2470            let path = http::uri::PathAndQuery::from_static(
2471                "/ddl_service.DdlService/CommentOn",
2472            );
2473            let mut req = request.into_request();
2474            req.extensions_mut()
2475                .insert(GrpcMethod::new("ddl_service.DdlService", "CommentOn"));
2476            self.inner.unary(req, path, codec).await
2477        }
2478        pub async fn auto_schema_change(
2479            &mut self,
2480            request: impl tonic::IntoRequest<super::AutoSchemaChangeRequest>,
2481        ) -> std::result::Result<
2482            tonic::Response<super::AutoSchemaChangeResponse>,
2483            tonic::Status,
2484        > {
2485            self.inner
2486                .ready()
2487                .await
2488                .map_err(|e| {
2489                    tonic::Status::unknown(
2490                        format!("Service was not ready: {}", e.into()),
2491                    )
2492                })?;
2493            let codec = tonic_prost::ProstCodec::default();
2494            let path = http::uri::PathAndQuery::from_static(
2495                "/ddl_service.DdlService/AutoSchemaChange",
2496            );
2497            let mut req = request.into_request();
2498            req.extensions_mut()
2499                .insert(GrpcMethod::new("ddl_service.DdlService", "AutoSchemaChange"));
2500            self.inner.unary(req, path, codec).await
2501        }
2502        pub async fn alter_swap_rename(
2503            &mut self,
2504            request: impl tonic::IntoRequest<super::AlterSwapRenameRequest>,
2505        ) -> std::result::Result<
2506            tonic::Response<super::AlterSwapRenameResponse>,
2507            tonic::Status,
2508        > {
2509            self.inner
2510                .ready()
2511                .await
2512                .map_err(|e| {
2513                    tonic::Status::unknown(
2514                        format!("Service was not ready: {}", e.into()),
2515                    )
2516                })?;
2517            let codec = tonic_prost::ProstCodec::default();
2518            let path = http::uri::PathAndQuery::from_static(
2519                "/ddl_service.DdlService/AlterSwapRename",
2520            );
2521            let mut req = request.into_request();
2522            req.extensions_mut()
2523                .insert(GrpcMethod::new("ddl_service.DdlService", "AlterSwapRename"));
2524            self.inner.unary(req, path, codec).await
2525        }
2526        pub async fn alter_database_param(
2527            &mut self,
2528            request: impl tonic::IntoRequest<super::AlterDatabaseParamRequest>,
2529        ) -> std::result::Result<
2530            tonic::Response<super::AlterDatabaseParamResponse>,
2531            tonic::Status,
2532        > {
2533            self.inner
2534                .ready()
2535                .await
2536                .map_err(|e| {
2537                    tonic::Status::unknown(
2538                        format!("Service was not ready: {}", e.into()),
2539                    )
2540                })?;
2541            let codec = tonic_prost::ProstCodec::default();
2542            let path = http::uri::PathAndQuery::from_static(
2543                "/ddl_service.DdlService/AlterDatabaseParam",
2544            );
2545            let mut req = request.into_request();
2546            req.extensions_mut()
2547                .insert(GrpcMethod::new("ddl_service.DdlService", "AlterDatabaseParam"));
2548            self.inner.unary(req, path, codec).await
2549        }
2550        pub async fn compact_iceberg_table(
2551            &mut self,
2552            request: impl tonic::IntoRequest<super::CompactIcebergTableRequest>,
2553        ) -> std::result::Result<
2554            tonic::Response<super::CompactIcebergTableResponse>,
2555            tonic::Status,
2556        > {
2557            self.inner
2558                .ready()
2559                .await
2560                .map_err(|e| {
2561                    tonic::Status::unknown(
2562                        format!("Service was not ready: {}", e.into()),
2563                    )
2564                })?;
2565            let codec = tonic_prost::ProstCodec::default();
2566            let path = http::uri::PathAndQuery::from_static(
2567                "/ddl_service.DdlService/CompactIcebergTable",
2568            );
2569            let mut req = request.into_request();
2570            req.extensions_mut()
2571                .insert(
2572                    GrpcMethod::new("ddl_service.DdlService", "CompactIcebergTable"),
2573                );
2574            self.inner.unary(req, path, codec).await
2575        }
2576        pub async fn expire_iceberg_table_snapshots(
2577            &mut self,
2578            request: impl tonic::IntoRequest<super::ExpireIcebergTableSnapshotsRequest>,
2579        ) -> std::result::Result<
2580            tonic::Response<super::ExpireIcebergTableSnapshotsResponse>,
2581            tonic::Status,
2582        > {
2583            self.inner
2584                .ready()
2585                .await
2586                .map_err(|e| {
2587                    tonic::Status::unknown(
2588                        format!("Service was not ready: {}", e.into()),
2589                    )
2590                })?;
2591            let codec = tonic_prost::ProstCodec::default();
2592            let path = http::uri::PathAndQuery::from_static(
2593                "/ddl_service.DdlService/ExpireIcebergTableSnapshots",
2594            );
2595            let mut req = request.into_request();
2596            req.extensions_mut()
2597                .insert(
2598                    GrpcMethod::new(
2599                        "ddl_service.DdlService",
2600                        "ExpireIcebergTableSnapshots",
2601                    ),
2602                );
2603            self.inner.unary(req, path, codec).await
2604        }
2605        pub async fn alter_cdc_table_backfill_parallelism(
2606            &mut self,
2607            request: impl tonic::IntoRequest<
2608                super::AlterCdcTableBackfillParallelismRequest,
2609            >,
2610        ) -> std::result::Result<
2611            tonic::Response<super::AlterCdcTableBackfillParallelismResponse>,
2612            tonic::Status,
2613        > {
2614            self.inner
2615                .ready()
2616                .await
2617                .map_err(|e| {
2618                    tonic::Status::unknown(
2619                        format!("Service was not ready: {}", e.into()),
2620                    )
2621                })?;
2622            let codec = tonic_prost::ProstCodec::default();
2623            let path = http::uri::PathAndQuery::from_static(
2624                "/ddl_service.DdlService/AlterCdcTableBackfillParallelism",
2625            );
2626            let mut req = request.into_request();
2627            req.extensions_mut()
2628                .insert(
2629                    GrpcMethod::new(
2630                        "ddl_service.DdlService",
2631                        "AlterCdcTableBackfillParallelism",
2632                    ),
2633                );
2634            self.inner.unary(req, path, codec).await
2635        }
2636        pub async fn alter_streaming_job_config(
2637            &mut self,
2638            request: impl tonic::IntoRequest<super::AlterStreamingJobConfigRequest>,
2639        ) -> std::result::Result<
2640            tonic::Response<super::AlterStreamingJobConfigResponse>,
2641            tonic::Status,
2642        > {
2643            self.inner
2644                .ready()
2645                .await
2646                .map_err(|e| {
2647                    tonic::Status::unknown(
2648                        format!("Service was not ready: {}", e.into()),
2649                    )
2650                })?;
2651            let codec = tonic_prost::ProstCodec::default();
2652            let path = http::uri::PathAndQuery::from_static(
2653                "/ddl_service.DdlService/AlterStreamingJobConfig",
2654            );
2655            let mut req = request.into_request();
2656            req.extensions_mut()
2657                .insert(
2658                    GrpcMethod::new("ddl_service.DdlService", "AlterStreamingJobConfig"),
2659                );
2660            self.inner.unary(req, path, codec).await
2661        }
2662    }
2663}
2664/// Generated server implementations.
2665pub mod ddl_service_server {
2666    #![allow(
2667        unused_variables,
2668        dead_code,
2669        missing_docs,
2670        clippy::wildcard_imports,
2671        clippy::let_unit_value,
2672    )]
2673    use tonic::codegen::*;
2674    /// Generated trait containing gRPC methods that should be implemented for use with DdlServiceServer.
2675    #[async_trait]
2676    pub trait DdlService: std::marker::Send + std::marker::Sync + 'static {
2677        async fn create_database(
2678            &self,
2679            request: tonic::Request<super::CreateDatabaseRequest>,
2680        ) -> std::result::Result<
2681            tonic::Response<super::CreateDatabaseResponse>,
2682            tonic::Status,
2683        >;
2684        async fn drop_database(
2685            &self,
2686            request: tonic::Request<super::DropDatabaseRequest>,
2687        ) -> std::result::Result<
2688            tonic::Response<super::DropDatabaseResponse>,
2689            tonic::Status,
2690        >;
2691        async fn create_schema(
2692            &self,
2693            request: tonic::Request<super::CreateSchemaRequest>,
2694        ) -> std::result::Result<
2695            tonic::Response<super::CreateSchemaResponse>,
2696            tonic::Status,
2697        >;
2698        async fn drop_schema(
2699            &self,
2700            request: tonic::Request<super::DropSchemaRequest>,
2701        ) -> std::result::Result<
2702            tonic::Response<super::DropSchemaResponse>,
2703            tonic::Status,
2704        >;
2705        async fn create_source(
2706            &self,
2707            request: tonic::Request<super::CreateSourceRequest>,
2708        ) -> std::result::Result<
2709            tonic::Response<super::CreateSourceResponse>,
2710            tonic::Status,
2711        >;
2712        async fn drop_source(
2713            &self,
2714            request: tonic::Request<super::DropSourceRequest>,
2715        ) -> std::result::Result<
2716            tonic::Response<super::DropSourceResponse>,
2717            tonic::Status,
2718        >;
2719        async fn create_sink(
2720            &self,
2721            request: tonic::Request<super::CreateSinkRequest>,
2722        ) -> std::result::Result<
2723            tonic::Response<super::CreateSinkResponse>,
2724            tonic::Status,
2725        >;
2726        async fn create_subscription(
2727            &self,
2728            request: tonic::Request<super::CreateSubscriptionRequest>,
2729        ) -> std::result::Result<
2730            tonic::Response<super::CreateSubscriptionResponse>,
2731            tonic::Status,
2732        >;
2733        async fn drop_sink(
2734            &self,
2735            request: tonic::Request<super::DropSinkRequest>,
2736        ) -> std::result::Result<
2737            tonic::Response<super::DropSinkResponse>,
2738            tonic::Status,
2739        >;
2740        async fn drop_subscription(
2741            &self,
2742            request: tonic::Request<super::DropSubscriptionRequest>,
2743        ) -> std::result::Result<
2744            tonic::Response<super::DropSubscriptionResponse>,
2745            tonic::Status,
2746        >;
2747        async fn create_materialized_view(
2748            &self,
2749            request: tonic::Request<super::CreateMaterializedViewRequest>,
2750        ) -> std::result::Result<
2751            tonic::Response<super::CreateMaterializedViewResponse>,
2752            tonic::Status,
2753        >;
2754        async fn drop_materialized_view(
2755            &self,
2756            request: tonic::Request<super::DropMaterializedViewRequest>,
2757        ) -> std::result::Result<
2758            tonic::Response<super::DropMaterializedViewResponse>,
2759            tonic::Status,
2760        >;
2761        async fn create_table(
2762            &self,
2763            request: tonic::Request<super::CreateTableRequest>,
2764        ) -> std::result::Result<
2765            tonic::Response<super::CreateTableResponse>,
2766            tonic::Status,
2767        >;
2768        async fn create_iceberg_table(
2769            &self,
2770            request: tonic::Request<super::CreateIcebergTableRequest>,
2771        ) -> std::result::Result<
2772            tonic::Response<super::CreateIcebergTableResponse>,
2773            tonic::Status,
2774        >;
2775        async fn create_secret(
2776            &self,
2777            request: tonic::Request<super::CreateSecretRequest>,
2778        ) -> std::result::Result<
2779            tonic::Response<super::CreateSecretResponse>,
2780            tonic::Status,
2781        >;
2782        async fn drop_secret(
2783            &self,
2784            request: tonic::Request<super::DropSecretRequest>,
2785        ) -> std::result::Result<
2786            tonic::Response<super::DropSecretResponse>,
2787            tonic::Status,
2788        >;
2789        async fn alter_secret(
2790            &self,
2791            request: tonic::Request<super::AlterSecretRequest>,
2792        ) -> std::result::Result<
2793            tonic::Response<super::AlterSecretResponse>,
2794            tonic::Status,
2795        >;
2796        async fn alter_name(
2797            &self,
2798            request: tonic::Request<super::AlterNameRequest>,
2799        ) -> std::result::Result<
2800            tonic::Response<super::AlterNameResponse>,
2801            tonic::Status,
2802        >;
2803        async fn alter_source(
2804            &self,
2805            request: tonic::Request<super::AlterSourceRequest>,
2806        ) -> std::result::Result<
2807            tonic::Response<super::AlterSourceResponse>,
2808            tonic::Status,
2809        >;
2810        async fn reset_source(
2811            &self,
2812            request: tonic::Request<super::ResetSourceRequest>,
2813        ) -> std::result::Result<
2814            tonic::Response<super::ResetSourceResponse>,
2815            tonic::Status,
2816        >;
2817        async fn alter_owner(
2818            &self,
2819            request: tonic::Request<super::AlterOwnerRequest>,
2820        ) -> std::result::Result<
2821            tonic::Response<super::AlterOwnerResponse>,
2822            tonic::Status,
2823        >;
2824        async fn alter_subscription_retention(
2825            &self,
2826            request: tonic::Request<super::AlterSubscriptionRetentionRequest>,
2827        ) -> std::result::Result<
2828            tonic::Response<super::AlterSubscriptionRetentionResponse>,
2829            tonic::Status,
2830        >;
2831        async fn alter_set_schema(
2832            &self,
2833            request: tonic::Request<super::AlterSetSchemaRequest>,
2834        ) -> std::result::Result<
2835            tonic::Response<super::AlterSetSchemaResponse>,
2836            tonic::Status,
2837        >;
2838        async fn alter_parallelism(
2839            &self,
2840            request: tonic::Request<super::AlterParallelismRequest>,
2841        ) -> std::result::Result<
2842            tonic::Response<super::AlterParallelismResponse>,
2843            tonic::Status,
2844        >;
2845        async fn alter_backfill_parallelism(
2846            &self,
2847            request: tonic::Request<super::AlterBackfillParallelismRequest>,
2848        ) -> std::result::Result<
2849            tonic::Response<super::AlterBackfillParallelismResponse>,
2850            tonic::Status,
2851        >;
2852        async fn alter_fragment_parallelism(
2853            &self,
2854            request: tonic::Request<super::AlterFragmentParallelismRequest>,
2855        ) -> std::result::Result<
2856            tonic::Response<super::AlterFragmentParallelismResponse>,
2857            tonic::Status,
2858        >;
2859        async fn alter_resource_group(
2860            &self,
2861            request: tonic::Request<super::AlterResourceGroupRequest>,
2862        ) -> std::result::Result<
2863            tonic::Response<super::AlterResourceGroupResponse>,
2864            tonic::Status,
2865        >;
2866        async fn alter_database_resource_group(
2867            &self,
2868            request: tonic::Request<super::AlterDatabaseResourceGroupRequest>,
2869        ) -> std::result::Result<
2870            tonic::Response<super::AlterDatabaseResourceGroupResponse>,
2871            tonic::Status,
2872        >;
2873        async fn drop_table(
2874            &self,
2875            request: tonic::Request<super::DropTableRequest>,
2876        ) -> std::result::Result<
2877            tonic::Response<super::DropTableResponse>,
2878            tonic::Status,
2879        >;
2880        async fn risectl_list_state_tables(
2881            &self,
2882            request: tonic::Request<super::RisectlListStateTablesRequest>,
2883        ) -> std::result::Result<
2884            tonic::Response<super::RisectlListStateTablesResponse>,
2885            tonic::Status,
2886        >;
2887        async fn risectl_resume_backfill(
2888            &self,
2889            request: tonic::Request<super::RisectlResumeBackfillRequest>,
2890        ) -> std::result::Result<
2891            tonic::Response<super::RisectlResumeBackfillResponse>,
2892            tonic::Status,
2893        >;
2894        async fn create_view(
2895            &self,
2896            request: tonic::Request<super::CreateViewRequest>,
2897        ) -> std::result::Result<
2898            tonic::Response<super::CreateViewResponse>,
2899            tonic::Status,
2900        >;
2901        async fn drop_view(
2902            &self,
2903            request: tonic::Request<super::DropViewRequest>,
2904        ) -> std::result::Result<
2905            tonic::Response<super::DropViewResponse>,
2906            tonic::Status,
2907        >;
2908        async fn create_index(
2909            &self,
2910            request: tonic::Request<super::CreateIndexRequest>,
2911        ) -> std::result::Result<
2912            tonic::Response<super::CreateIndexResponse>,
2913            tonic::Status,
2914        >;
2915        async fn drop_index(
2916            &self,
2917            request: tonic::Request<super::DropIndexRequest>,
2918        ) -> std::result::Result<
2919            tonic::Response<super::DropIndexResponse>,
2920            tonic::Status,
2921        >;
2922        async fn create_function(
2923            &self,
2924            request: tonic::Request<super::CreateFunctionRequest>,
2925        ) -> std::result::Result<
2926            tonic::Response<super::CreateFunctionResponse>,
2927            tonic::Status,
2928        >;
2929        async fn drop_function(
2930            &self,
2931            request: tonic::Request<super::DropFunctionRequest>,
2932        ) -> std::result::Result<
2933            tonic::Response<super::DropFunctionResponse>,
2934            tonic::Status,
2935        >;
2936        async fn replace_job_plan(
2937            &self,
2938            request: tonic::Request<super::ReplaceJobPlanRequest>,
2939        ) -> std::result::Result<
2940            tonic::Response<super::ReplaceJobPlanResponse>,
2941            tonic::Status,
2942        >;
2943        async fn get_table(
2944            &self,
2945            request: tonic::Request<super::GetTableRequest>,
2946        ) -> std::result::Result<
2947            tonic::Response<super::GetTableResponse>,
2948            tonic::Status,
2949        >;
2950        async fn get_ddl_progress(
2951            &self,
2952            request: tonic::Request<super::GetDdlProgressRequest>,
2953        ) -> std::result::Result<
2954            tonic::Response<super::GetDdlProgressResponse>,
2955            tonic::Status,
2956        >;
2957        async fn create_connection(
2958            &self,
2959            request: tonic::Request<super::CreateConnectionRequest>,
2960        ) -> std::result::Result<
2961            tonic::Response<super::CreateConnectionResponse>,
2962            tonic::Status,
2963        >;
2964        async fn list_connections(
2965            &self,
2966            request: tonic::Request<super::ListConnectionsRequest>,
2967        ) -> std::result::Result<
2968            tonic::Response<super::ListConnectionsResponse>,
2969            tonic::Status,
2970        >;
2971        async fn drop_connection(
2972            &self,
2973            request: tonic::Request<super::DropConnectionRequest>,
2974        ) -> std::result::Result<
2975            tonic::Response<super::DropConnectionResponse>,
2976            tonic::Status,
2977        >;
2978        async fn get_tables(
2979            &self,
2980            request: tonic::Request<super::GetTablesRequest>,
2981        ) -> std::result::Result<
2982            tonic::Response<super::GetTablesResponse>,
2983            tonic::Status,
2984        >;
2985        async fn wait(
2986            &self,
2987            request: tonic::Request<super::WaitRequest>,
2988        ) -> std::result::Result<tonic::Response<super::WaitResponse>, tonic::Status>;
2989        async fn comment_on(
2990            &self,
2991            request: tonic::Request<super::CommentOnRequest>,
2992        ) -> std::result::Result<
2993            tonic::Response<super::CommentOnResponse>,
2994            tonic::Status,
2995        >;
2996        async fn auto_schema_change(
2997            &self,
2998            request: tonic::Request<super::AutoSchemaChangeRequest>,
2999        ) -> std::result::Result<
3000            tonic::Response<super::AutoSchemaChangeResponse>,
3001            tonic::Status,
3002        >;
3003        async fn alter_swap_rename(
3004            &self,
3005            request: tonic::Request<super::AlterSwapRenameRequest>,
3006        ) -> std::result::Result<
3007            tonic::Response<super::AlterSwapRenameResponse>,
3008            tonic::Status,
3009        >;
3010        async fn alter_database_param(
3011            &self,
3012            request: tonic::Request<super::AlterDatabaseParamRequest>,
3013        ) -> std::result::Result<
3014            tonic::Response<super::AlterDatabaseParamResponse>,
3015            tonic::Status,
3016        >;
3017        async fn compact_iceberg_table(
3018            &self,
3019            request: tonic::Request<super::CompactIcebergTableRequest>,
3020        ) -> std::result::Result<
3021            tonic::Response<super::CompactIcebergTableResponse>,
3022            tonic::Status,
3023        >;
3024        async fn expire_iceberg_table_snapshots(
3025            &self,
3026            request: tonic::Request<super::ExpireIcebergTableSnapshotsRequest>,
3027        ) -> std::result::Result<
3028            tonic::Response<super::ExpireIcebergTableSnapshotsResponse>,
3029            tonic::Status,
3030        >;
3031        async fn alter_cdc_table_backfill_parallelism(
3032            &self,
3033            request: tonic::Request<super::AlterCdcTableBackfillParallelismRequest>,
3034        ) -> std::result::Result<
3035            tonic::Response<super::AlterCdcTableBackfillParallelismResponse>,
3036            tonic::Status,
3037        >;
3038        async fn alter_streaming_job_config(
3039            &self,
3040            request: tonic::Request<super::AlterStreamingJobConfigRequest>,
3041        ) -> std::result::Result<
3042            tonic::Response<super::AlterStreamingJobConfigResponse>,
3043            tonic::Status,
3044        >;
3045    }
3046    #[derive(Debug)]
3047    pub struct DdlServiceServer<T> {
3048        inner: Arc<T>,
3049        accept_compression_encodings: EnabledCompressionEncodings,
3050        send_compression_encodings: EnabledCompressionEncodings,
3051        max_decoding_message_size: Option<usize>,
3052        max_encoding_message_size: Option<usize>,
3053    }
3054    impl<T> DdlServiceServer<T> {
3055        pub fn new(inner: T) -> Self {
3056            Self::from_arc(Arc::new(inner))
3057        }
3058        pub fn from_arc(inner: Arc<T>) -> Self {
3059            Self {
3060                inner,
3061                accept_compression_encodings: Default::default(),
3062                send_compression_encodings: Default::default(),
3063                max_decoding_message_size: None,
3064                max_encoding_message_size: None,
3065            }
3066        }
3067        pub fn with_interceptor<F>(
3068            inner: T,
3069            interceptor: F,
3070        ) -> InterceptedService<Self, F>
3071        where
3072            F: tonic::service::Interceptor,
3073        {
3074            InterceptedService::new(Self::new(inner), interceptor)
3075        }
3076        /// Enable decompressing requests with the given encoding.
3077        #[must_use]
3078        pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
3079            self.accept_compression_encodings.enable(encoding);
3080            self
3081        }
3082        /// Compress responses with the given encoding, if the client supports it.
3083        #[must_use]
3084        pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
3085            self.send_compression_encodings.enable(encoding);
3086            self
3087        }
3088        /// Limits the maximum size of a decoded message.
3089        ///
3090        /// Default: `4MB`
3091        #[must_use]
3092        pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
3093            self.max_decoding_message_size = Some(limit);
3094            self
3095        }
3096        /// Limits the maximum size of an encoded message.
3097        ///
3098        /// Default: `usize::MAX`
3099        #[must_use]
3100        pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
3101            self.max_encoding_message_size = Some(limit);
3102            self
3103        }
3104    }
3105    impl<T, B> tonic::codegen::Service<http::Request<B>> for DdlServiceServer<T>
3106    where
3107        T: DdlService,
3108        B: Body + std::marker::Send + 'static,
3109        B::Error: Into<StdError> + std::marker::Send + 'static,
3110    {
3111        type Response = http::Response<tonic::body::Body>;
3112        type Error = std::convert::Infallible;
3113        type Future = BoxFuture<Self::Response, Self::Error>;
3114        fn poll_ready(
3115            &mut self,
3116            _cx: &mut Context<'_>,
3117        ) -> Poll<std::result::Result<(), Self::Error>> {
3118            Poll::Ready(Ok(()))
3119        }
3120        fn call(&mut self, req: http::Request<B>) -> Self::Future {
3121            match req.uri().path() {
3122                "/ddl_service.DdlService/CreateDatabase" => {
3123                    #[allow(non_camel_case_types)]
3124                    struct CreateDatabaseSvc<T: DdlService>(pub Arc<T>);
3125                    impl<
3126                        T: DdlService,
3127                    > tonic::server::UnaryService<super::CreateDatabaseRequest>
3128                    for CreateDatabaseSvc<T> {
3129                        type Response = super::CreateDatabaseResponse;
3130                        type Future = BoxFuture<
3131                            tonic::Response<Self::Response>,
3132                            tonic::Status,
3133                        >;
3134                        fn call(
3135                            &mut self,
3136                            request: tonic::Request<super::CreateDatabaseRequest>,
3137                        ) -> Self::Future {
3138                            let inner = Arc::clone(&self.0);
3139                            let fut = async move {
3140                                <T as DdlService>::create_database(&inner, request).await
3141                            };
3142                            Box::pin(fut)
3143                        }
3144                    }
3145                    let accept_compression_encodings = self.accept_compression_encodings;
3146                    let send_compression_encodings = self.send_compression_encodings;
3147                    let max_decoding_message_size = self.max_decoding_message_size;
3148                    let max_encoding_message_size = self.max_encoding_message_size;
3149                    let inner = self.inner.clone();
3150                    let fut = async move {
3151                        let method = CreateDatabaseSvc(inner);
3152                        let codec = tonic_prost::ProstCodec::default();
3153                        let mut grpc = tonic::server::Grpc::new(codec)
3154                            .apply_compression_config(
3155                                accept_compression_encodings,
3156                                send_compression_encodings,
3157                            )
3158                            .apply_max_message_size_config(
3159                                max_decoding_message_size,
3160                                max_encoding_message_size,
3161                            );
3162                        let res = grpc.unary(method, req).await;
3163                        Ok(res)
3164                    };
3165                    Box::pin(fut)
3166                }
3167                "/ddl_service.DdlService/DropDatabase" => {
3168                    #[allow(non_camel_case_types)]
3169                    struct DropDatabaseSvc<T: DdlService>(pub Arc<T>);
3170                    impl<
3171                        T: DdlService,
3172                    > tonic::server::UnaryService<super::DropDatabaseRequest>
3173                    for DropDatabaseSvc<T> {
3174                        type Response = super::DropDatabaseResponse;
3175                        type Future = BoxFuture<
3176                            tonic::Response<Self::Response>,
3177                            tonic::Status,
3178                        >;
3179                        fn call(
3180                            &mut self,
3181                            request: tonic::Request<super::DropDatabaseRequest>,
3182                        ) -> Self::Future {
3183                            let inner = Arc::clone(&self.0);
3184                            let fut = async move {
3185                                <T as DdlService>::drop_database(&inner, request).await
3186                            };
3187                            Box::pin(fut)
3188                        }
3189                    }
3190                    let accept_compression_encodings = self.accept_compression_encodings;
3191                    let send_compression_encodings = self.send_compression_encodings;
3192                    let max_decoding_message_size = self.max_decoding_message_size;
3193                    let max_encoding_message_size = self.max_encoding_message_size;
3194                    let inner = self.inner.clone();
3195                    let fut = async move {
3196                        let method = DropDatabaseSvc(inner);
3197                        let codec = tonic_prost::ProstCodec::default();
3198                        let mut grpc = tonic::server::Grpc::new(codec)
3199                            .apply_compression_config(
3200                                accept_compression_encodings,
3201                                send_compression_encodings,
3202                            )
3203                            .apply_max_message_size_config(
3204                                max_decoding_message_size,
3205                                max_encoding_message_size,
3206                            );
3207                        let res = grpc.unary(method, req).await;
3208                        Ok(res)
3209                    };
3210                    Box::pin(fut)
3211                }
3212                "/ddl_service.DdlService/CreateSchema" => {
3213                    #[allow(non_camel_case_types)]
3214                    struct CreateSchemaSvc<T: DdlService>(pub Arc<T>);
3215                    impl<
3216                        T: DdlService,
3217                    > tonic::server::UnaryService<super::CreateSchemaRequest>
3218                    for CreateSchemaSvc<T> {
3219                        type Response = super::CreateSchemaResponse;
3220                        type Future = BoxFuture<
3221                            tonic::Response<Self::Response>,
3222                            tonic::Status,
3223                        >;
3224                        fn call(
3225                            &mut self,
3226                            request: tonic::Request<super::CreateSchemaRequest>,
3227                        ) -> Self::Future {
3228                            let inner = Arc::clone(&self.0);
3229                            let fut = async move {
3230                                <T as DdlService>::create_schema(&inner, request).await
3231                            };
3232                            Box::pin(fut)
3233                        }
3234                    }
3235                    let accept_compression_encodings = self.accept_compression_encodings;
3236                    let send_compression_encodings = self.send_compression_encodings;
3237                    let max_decoding_message_size = self.max_decoding_message_size;
3238                    let max_encoding_message_size = self.max_encoding_message_size;
3239                    let inner = self.inner.clone();
3240                    let fut = async move {
3241                        let method = CreateSchemaSvc(inner);
3242                        let codec = tonic_prost::ProstCodec::default();
3243                        let mut grpc = tonic::server::Grpc::new(codec)
3244                            .apply_compression_config(
3245                                accept_compression_encodings,
3246                                send_compression_encodings,
3247                            )
3248                            .apply_max_message_size_config(
3249                                max_decoding_message_size,
3250                                max_encoding_message_size,
3251                            );
3252                        let res = grpc.unary(method, req).await;
3253                        Ok(res)
3254                    };
3255                    Box::pin(fut)
3256                }
3257                "/ddl_service.DdlService/DropSchema" => {
3258                    #[allow(non_camel_case_types)]
3259                    struct DropSchemaSvc<T: DdlService>(pub Arc<T>);
3260                    impl<
3261                        T: DdlService,
3262                    > tonic::server::UnaryService<super::DropSchemaRequest>
3263                    for DropSchemaSvc<T> {
3264                        type Response = super::DropSchemaResponse;
3265                        type Future = BoxFuture<
3266                            tonic::Response<Self::Response>,
3267                            tonic::Status,
3268                        >;
3269                        fn call(
3270                            &mut self,
3271                            request: tonic::Request<super::DropSchemaRequest>,
3272                        ) -> Self::Future {
3273                            let inner = Arc::clone(&self.0);
3274                            let fut = async move {
3275                                <T as DdlService>::drop_schema(&inner, request).await
3276                            };
3277                            Box::pin(fut)
3278                        }
3279                    }
3280                    let accept_compression_encodings = self.accept_compression_encodings;
3281                    let send_compression_encodings = self.send_compression_encodings;
3282                    let max_decoding_message_size = self.max_decoding_message_size;
3283                    let max_encoding_message_size = self.max_encoding_message_size;
3284                    let inner = self.inner.clone();
3285                    let fut = async move {
3286                        let method = DropSchemaSvc(inner);
3287                        let codec = tonic_prost::ProstCodec::default();
3288                        let mut grpc = tonic::server::Grpc::new(codec)
3289                            .apply_compression_config(
3290                                accept_compression_encodings,
3291                                send_compression_encodings,
3292                            )
3293                            .apply_max_message_size_config(
3294                                max_decoding_message_size,
3295                                max_encoding_message_size,
3296                            );
3297                        let res = grpc.unary(method, req).await;
3298                        Ok(res)
3299                    };
3300                    Box::pin(fut)
3301                }
3302                "/ddl_service.DdlService/CreateSource" => {
3303                    #[allow(non_camel_case_types)]
3304                    struct CreateSourceSvc<T: DdlService>(pub Arc<T>);
3305                    impl<
3306                        T: DdlService,
3307                    > tonic::server::UnaryService<super::CreateSourceRequest>
3308                    for CreateSourceSvc<T> {
3309                        type Response = super::CreateSourceResponse;
3310                        type Future = BoxFuture<
3311                            tonic::Response<Self::Response>,
3312                            tonic::Status,
3313                        >;
3314                        fn call(
3315                            &mut self,
3316                            request: tonic::Request<super::CreateSourceRequest>,
3317                        ) -> Self::Future {
3318                            let inner = Arc::clone(&self.0);
3319                            let fut = async move {
3320                                <T as DdlService>::create_source(&inner, request).await
3321                            };
3322                            Box::pin(fut)
3323                        }
3324                    }
3325                    let accept_compression_encodings = self.accept_compression_encodings;
3326                    let send_compression_encodings = self.send_compression_encodings;
3327                    let max_decoding_message_size = self.max_decoding_message_size;
3328                    let max_encoding_message_size = self.max_encoding_message_size;
3329                    let inner = self.inner.clone();
3330                    let fut = async move {
3331                        let method = CreateSourceSvc(inner);
3332                        let codec = tonic_prost::ProstCodec::default();
3333                        let mut grpc = tonic::server::Grpc::new(codec)
3334                            .apply_compression_config(
3335                                accept_compression_encodings,
3336                                send_compression_encodings,
3337                            )
3338                            .apply_max_message_size_config(
3339                                max_decoding_message_size,
3340                                max_encoding_message_size,
3341                            );
3342                        let res = grpc.unary(method, req).await;
3343                        Ok(res)
3344                    };
3345                    Box::pin(fut)
3346                }
3347                "/ddl_service.DdlService/DropSource" => {
3348                    #[allow(non_camel_case_types)]
3349                    struct DropSourceSvc<T: DdlService>(pub Arc<T>);
3350                    impl<
3351                        T: DdlService,
3352                    > tonic::server::UnaryService<super::DropSourceRequest>
3353                    for DropSourceSvc<T> {
3354                        type Response = super::DropSourceResponse;
3355                        type Future = BoxFuture<
3356                            tonic::Response<Self::Response>,
3357                            tonic::Status,
3358                        >;
3359                        fn call(
3360                            &mut self,
3361                            request: tonic::Request<super::DropSourceRequest>,
3362                        ) -> Self::Future {
3363                            let inner = Arc::clone(&self.0);
3364                            let fut = async move {
3365                                <T as DdlService>::drop_source(&inner, request).await
3366                            };
3367                            Box::pin(fut)
3368                        }
3369                    }
3370                    let accept_compression_encodings = self.accept_compression_encodings;
3371                    let send_compression_encodings = self.send_compression_encodings;
3372                    let max_decoding_message_size = self.max_decoding_message_size;
3373                    let max_encoding_message_size = self.max_encoding_message_size;
3374                    let inner = self.inner.clone();
3375                    let fut = async move {
3376                        let method = DropSourceSvc(inner);
3377                        let codec = tonic_prost::ProstCodec::default();
3378                        let mut grpc = tonic::server::Grpc::new(codec)
3379                            .apply_compression_config(
3380                                accept_compression_encodings,
3381                                send_compression_encodings,
3382                            )
3383                            .apply_max_message_size_config(
3384                                max_decoding_message_size,
3385                                max_encoding_message_size,
3386                            );
3387                        let res = grpc.unary(method, req).await;
3388                        Ok(res)
3389                    };
3390                    Box::pin(fut)
3391                }
3392                "/ddl_service.DdlService/CreateSink" => {
3393                    #[allow(non_camel_case_types)]
3394                    struct CreateSinkSvc<T: DdlService>(pub Arc<T>);
3395                    impl<
3396                        T: DdlService,
3397                    > tonic::server::UnaryService<super::CreateSinkRequest>
3398                    for CreateSinkSvc<T> {
3399                        type Response = super::CreateSinkResponse;
3400                        type Future = BoxFuture<
3401                            tonic::Response<Self::Response>,
3402                            tonic::Status,
3403                        >;
3404                        fn call(
3405                            &mut self,
3406                            request: tonic::Request<super::CreateSinkRequest>,
3407                        ) -> Self::Future {
3408                            let inner = Arc::clone(&self.0);
3409                            let fut = async move {
3410                                <T as DdlService>::create_sink(&inner, request).await
3411                            };
3412                            Box::pin(fut)
3413                        }
3414                    }
3415                    let accept_compression_encodings = self.accept_compression_encodings;
3416                    let send_compression_encodings = self.send_compression_encodings;
3417                    let max_decoding_message_size = self.max_decoding_message_size;
3418                    let max_encoding_message_size = self.max_encoding_message_size;
3419                    let inner = self.inner.clone();
3420                    let fut = async move {
3421                        let method = CreateSinkSvc(inner);
3422                        let codec = tonic_prost::ProstCodec::default();
3423                        let mut grpc = tonic::server::Grpc::new(codec)
3424                            .apply_compression_config(
3425                                accept_compression_encodings,
3426                                send_compression_encodings,
3427                            )
3428                            .apply_max_message_size_config(
3429                                max_decoding_message_size,
3430                                max_encoding_message_size,
3431                            );
3432                        let res = grpc.unary(method, req).await;
3433                        Ok(res)
3434                    };
3435                    Box::pin(fut)
3436                }
3437                "/ddl_service.DdlService/CreateSubscription" => {
3438                    #[allow(non_camel_case_types)]
3439                    struct CreateSubscriptionSvc<T: DdlService>(pub Arc<T>);
3440                    impl<
3441                        T: DdlService,
3442                    > tonic::server::UnaryService<super::CreateSubscriptionRequest>
3443                    for CreateSubscriptionSvc<T> {
3444                        type Response = super::CreateSubscriptionResponse;
3445                        type Future = BoxFuture<
3446                            tonic::Response<Self::Response>,
3447                            tonic::Status,
3448                        >;
3449                        fn call(
3450                            &mut self,
3451                            request: tonic::Request<super::CreateSubscriptionRequest>,
3452                        ) -> Self::Future {
3453                            let inner = Arc::clone(&self.0);
3454                            let fut = async move {
3455                                <T as DdlService>::create_subscription(&inner, request)
3456                                    .await
3457                            };
3458                            Box::pin(fut)
3459                        }
3460                    }
3461                    let accept_compression_encodings = self.accept_compression_encodings;
3462                    let send_compression_encodings = self.send_compression_encodings;
3463                    let max_decoding_message_size = self.max_decoding_message_size;
3464                    let max_encoding_message_size = self.max_encoding_message_size;
3465                    let inner = self.inner.clone();
3466                    let fut = async move {
3467                        let method = CreateSubscriptionSvc(inner);
3468                        let codec = tonic_prost::ProstCodec::default();
3469                        let mut grpc = tonic::server::Grpc::new(codec)
3470                            .apply_compression_config(
3471                                accept_compression_encodings,
3472                                send_compression_encodings,
3473                            )
3474                            .apply_max_message_size_config(
3475                                max_decoding_message_size,
3476                                max_encoding_message_size,
3477                            );
3478                        let res = grpc.unary(method, req).await;
3479                        Ok(res)
3480                    };
3481                    Box::pin(fut)
3482                }
3483                "/ddl_service.DdlService/DropSink" => {
3484                    #[allow(non_camel_case_types)]
3485                    struct DropSinkSvc<T: DdlService>(pub Arc<T>);
3486                    impl<
3487                        T: DdlService,
3488                    > tonic::server::UnaryService<super::DropSinkRequest>
3489                    for DropSinkSvc<T> {
3490                        type Response = super::DropSinkResponse;
3491                        type Future = BoxFuture<
3492                            tonic::Response<Self::Response>,
3493                            tonic::Status,
3494                        >;
3495                        fn call(
3496                            &mut self,
3497                            request: tonic::Request<super::DropSinkRequest>,
3498                        ) -> Self::Future {
3499                            let inner = Arc::clone(&self.0);
3500                            let fut = async move {
3501                                <T as DdlService>::drop_sink(&inner, request).await
3502                            };
3503                            Box::pin(fut)
3504                        }
3505                    }
3506                    let accept_compression_encodings = self.accept_compression_encodings;
3507                    let send_compression_encodings = self.send_compression_encodings;
3508                    let max_decoding_message_size = self.max_decoding_message_size;
3509                    let max_encoding_message_size = self.max_encoding_message_size;
3510                    let inner = self.inner.clone();
3511                    let fut = async move {
3512                        let method = DropSinkSvc(inner);
3513                        let codec = tonic_prost::ProstCodec::default();
3514                        let mut grpc = tonic::server::Grpc::new(codec)
3515                            .apply_compression_config(
3516                                accept_compression_encodings,
3517                                send_compression_encodings,
3518                            )
3519                            .apply_max_message_size_config(
3520                                max_decoding_message_size,
3521                                max_encoding_message_size,
3522                            );
3523                        let res = grpc.unary(method, req).await;
3524                        Ok(res)
3525                    };
3526                    Box::pin(fut)
3527                }
3528                "/ddl_service.DdlService/DropSubscription" => {
3529                    #[allow(non_camel_case_types)]
3530                    struct DropSubscriptionSvc<T: DdlService>(pub Arc<T>);
3531                    impl<
3532                        T: DdlService,
3533                    > tonic::server::UnaryService<super::DropSubscriptionRequest>
3534                    for DropSubscriptionSvc<T> {
3535                        type Response = super::DropSubscriptionResponse;
3536                        type Future = BoxFuture<
3537                            tonic::Response<Self::Response>,
3538                            tonic::Status,
3539                        >;
3540                        fn call(
3541                            &mut self,
3542                            request: tonic::Request<super::DropSubscriptionRequest>,
3543                        ) -> Self::Future {
3544                            let inner = Arc::clone(&self.0);
3545                            let fut = async move {
3546                                <T as DdlService>::drop_subscription(&inner, request).await
3547                            };
3548                            Box::pin(fut)
3549                        }
3550                    }
3551                    let accept_compression_encodings = self.accept_compression_encodings;
3552                    let send_compression_encodings = self.send_compression_encodings;
3553                    let max_decoding_message_size = self.max_decoding_message_size;
3554                    let max_encoding_message_size = self.max_encoding_message_size;
3555                    let inner = self.inner.clone();
3556                    let fut = async move {
3557                        let method = DropSubscriptionSvc(inner);
3558                        let codec = tonic_prost::ProstCodec::default();
3559                        let mut grpc = tonic::server::Grpc::new(codec)
3560                            .apply_compression_config(
3561                                accept_compression_encodings,
3562                                send_compression_encodings,
3563                            )
3564                            .apply_max_message_size_config(
3565                                max_decoding_message_size,
3566                                max_encoding_message_size,
3567                            );
3568                        let res = grpc.unary(method, req).await;
3569                        Ok(res)
3570                    };
3571                    Box::pin(fut)
3572                }
3573                "/ddl_service.DdlService/CreateMaterializedView" => {
3574                    #[allow(non_camel_case_types)]
3575                    struct CreateMaterializedViewSvc<T: DdlService>(pub Arc<T>);
3576                    impl<
3577                        T: DdlService,
3578                    > tonic::server::UnaryService<super::CreateMaterializedViewRequest>
3579                    for CreateMaterializedViewSvc<T> {
3580                        type Response = super::CreateMaterializedViewResponse;
3581                        type Future = BoxFuture<
3582                            tonic::Response<Self::Response>,
3583                            tonic::Status,
3584                        >;
3585                        fn call(
3586                            &mut self,
3587                            request: tonic::Request<super::CreateMaterializedViewRequest>,
3588                        ) -> Self::Future {
3589                            let inner = Arc::clone(&self.0);
3590                            let fut = async move {
3591                                <T as DdlService>::create_materialized_view(&inner, request)
3592                                    .await
3593                            };
3594                            Box::pin(fut)
3595                        }
3596                    }
3597                    let accept_compression_encodings = self.accept_compression_encodings;
3598                    let send_compression_encodings = self.send_compression_encodings;
3599                    let max_decoding_message_size = self.max_decoding_message_size;
3600                    let max_encoding_message_size = self.max_encoding_message_size;
3601                    let inner = self.inner.clone();
3602                    let fut = async move {
3603                        let method = CreateMaterializedViewSvc(inner);
3604                        let codec = tonic_prost::ProstCodec::default();
3605                        let mut grpc = tonic::server::Grpc::new(codec)
3606                            .apply_compression_config(
3607                                accept_compression_encodings,
3608                                send_compression_encodings,
3609                            )
3610                            .apply_max_message_size_config(
3611                                max_decoding_message_size,
3612                                max_encoding_message_size,
3613                            );
3614                        let res = grpc.unary(method, req).await;
3615                        Ok(res)
3616                    };
3617                    Box::pin(fut)
3618                }
3619                "/ddl_service.DdlService/DropMaterializedView" => {
3620                    #[allow(non_camel_case_types)]
3621                    struct DropMaterializedViewSvc<T: DdlService>(pub Arc<T>);
3622                    impl<
3623                        T: DdlService,
3624                    > tonic::server::UnaryService<super::DropMaterializedViewRequest>
3625                    for DropMaterializedViewSvc<T> {
3626                        type Response = super::DropMaterializedViewResponse;
3627                        type Future = BoxFuture<
3628                            tonic::Response<Self::Response>,
3629                            tonic::Status,
3630                        >;
3631                        fn call(
3632                            &mut self,
3633                            request: tonic::Request<super::DropMaterializedViewRequest>,
3634                        ) -> Self::Future {
3635                            let inner = Arc::clone(&self.0);
3636                            let fut = async move {
3637                                <T as DdlService>::drop_materialized_view(&inner, request)
3638                                    .await
3639                            };
3640                            Box::pin(fut)
3641                        }
3642                    }
3643                    let accept_compression_encodings = self.accept_compression_encodings;
3644                    let send_compression_encodings = self.send_compression_encodings;
3645                    let max_decoding_message_size = self.max_decoding_message_size;
3646                    let max_encoding_message_size = self.max_encoding_message_size;
3647                    let inner = self.inner.clone();
3648                    let fut = async move {
3649                        let method = DropMaterializedViewSvc(inner);
3650                        let codec = tonic_prost::ProstCodec::default();
3651                        let mut grpc = tonic::server::Grpc::new(codec)
3652                            .apply_compression_config(
3653                                accept_compression_encodings,
3654                                send_compression_encodings,
3655                            )
3656                            .apply_max_message_size_config(
3657                                max_decoding_message_size,
3658                                max_encoding_message_size,
3659                            );
3660                        let res = grpc.unary(method, req).await;
3661                        Ok(res)
3662                    };
3663                    Box::pin(fut)
3664                }
3665                "/ddl_service.DdlService/CreateTable" => {
3666                    #[allow(non_camel_case_types)]
3667                    struct CreateTableSvc<T: DdlService>(pub Arc<T>);
3668                    impl<
3669                        T: DdlService,
3670                    > tonic::server::UnaryService<super::CreateTableRequest>
3671                    for CreateTableSvc<T> {
3672                        type Response = super::CreateTableResponse;
3673                        type Future = BoxFuture<
3674                            tonic::Response<Self::Response>,
3675                            tonic::Status,
3676                        >;
3677                        fn call(
3678                            &mut self,
3679                            request: tonic::Request<super::CreateTableRequest>,
3680                        ) -> Self::Future {
3681                            let inner = Arc::clone(&self.0);
3682                            let fut = async move {
3683                                <T as DdlService>::create_table(&inner, request).await
3684                            };
3685                            Box::pin(fut)
3686                        }
3687                    }
3688                    let accept_compression_encodings = self.accept_compression_encodings;
3689                    let send_compression_encodings = self.send_compression_encodings;
3690                    let max_decoding_message_size = self.max_decoding_message_size;
3691                    let max_encoding_message_size = self.max_encoding_message_size;
3692                    let inner = self.inner.clone();
3693                    let fut = async move {
3694                        let method = CreateTableSvc(inner);
3695                        let codec = tonic_prost::ProstCodec::default();
3696                        let mut grpc = tonic::server::Grpc::new(codec)
3697                            .apply_compression_config(
3698                                accept_compression_encodings,
3699                                send_compression_encodings,
3700                            )
3701                            .apply_max_message_size_config(
3702                                max_decoding_message_size,
3703                                max_encoding_message_size,
3704                            );
3705                        let res = grpc.unary(method, req).await;
3706                        Ok(res)
3707                    };
3708                    Box::pin(fut)
3709                }
3710                "/ddl_service.DdlService/CreateIcebergTable" => {
3711                    #[allow(non_camel_case_types)]
3712                    struct CreateIcebergTableSvc<T: DdlService>(pub Arc<T>);
3713                    impl<
3714                        T: DdlService,
3715                    > tonic::server::UnaryService<super::CreateIcebergTableRequest>
3716                    for CreateIcebergTableSvc<T> {
3717                        type Response = super::CreateIcebergTableResponse;
3718                        type Future = BoxFuture<
3719                            tonic::Response<Self::Response>,
3720                            tonic::Status,
3721                        >;
3722                        fn call(
3723                            &mut self,
3724                            request: tonic::Request<super::CreateIcebergTableRequest>,
3725                        ) -> Self::Future {
3726                            let inner = Arc::clone(&self.0);
3727                            let fut = async move {
3728                                <T as DdlService>::create_iceberg_table(&inner, request)
3729                                    .await
3730                            };
3731                            Box::pin(fut)
3732                        }
3733                    }
3734                    let accept_compression_encodings = self.accept_compression_encodings;
3735                    let send_compression_encodings = self.send_compression_encodings;
3736                    let max_decoding_message_size = self.max_decoding_message_size;
3737                    let max_encoding_message_size = self.max_encoding_message_size;
3738                    let inner = self.inner.clone();
3739                    let fut = async move {
3740                        let method = CreateIcebergTableSvc(inner);
3741                        let codec = tonic_prost::ProstCodec::default();
3742                        let mut grpc = tonic::server::Grpc::new(codec)
3743                            .apply_compression_config(
3744                                accept_compression_encodings,
3745                                send_compression_encodings,
3746                            )
3747                            .apply_max_message_size_config(
3748                                max_decoding_message_size,
3749                                max_encoding_message_size,
3750                            );
3751                        let res = grpc.unary(method, req).await;
3752                        Ok(res)
3753                    };
3754                    Box::pin(fut)
3755                }
3756                "/ddl_service.DdlService/CreateSecret" => {
3757                    #[allow(non_camel_case_types)]
3758                    struct CreateSecretSvc<T: DdlService>(pub Arc<T>);
3759                    impl<
3760                        T: DdlService,
3761                    > tonic::server::UnaryService<super::CreateSecretRequest>
3762                    for CreateSecretSvc<T> {
3763                        type Response = super::CreateSecretResponse;
3764                        type Future = BoxFuture<
3765                            tonic::Response<Self::Response>,
3766                            tonic::Status,
3767                        >;
3768                        fn call(
3769                            &mut self,
3770                            request: tonic::Request<super::CreateSecretRequest>,
3771                        ) -> Self::Future {
3772                            let inner = Arc::clone(&self.0);
3773                            let fut = async move {
3774                                <T as DdlService>::create_secret(&inner, request).await
3775                            };
3776                            Box::pin(fut)
3777                        }
3778                    }
3779                    let accept_compression_encodings = self.accept_compression_encodings;
3780                    let send_compression_encodings = self.send_compression_encodings;
3781                    let max_decoding_message_size = self.max_decoding_message_size;
3782                    let max_encoding_message_size = self.max_encoding_message_size;
3783                    let inner = self.inner.clone();
3784                    let fut = async move {
3785                        let method = CreateSecretSvc(inner);
3786                        let codec = tonic_prost::ProstCodec::default();
3787                        let mut grpc = tonic::server::Grpc::new(codec)
3788                            .apply_compression_config(
3789                                accept_compression_encodings,
3790                                send_compression_encodings,
3791                            )
3792                            .apply_max_message_size_config(
3793                                max_decoding_message_size,
3794                                max_encoding_message_size,
3795                            );
3796                        let res = grpc.unary(method, req).await;
3797                        Ok(res)
3798                    };
3799                    Box::pin(fut)
3800                }
3801                "/ddl_service.DdlService/DropSecret" => {
3802                    #[allow(non_camel_case_types)]
3803                    struct DropSecretSvc<T: DdlService>(pub Arc<T>);
3804                    impl<
3805                        T: DdlService,
3806                    > tonic::server::UnaryService<super::DropSecretRequest>
3807                    for DropSecretSvc<T> {
3808                        type Response = super::DropSecretResponse;
3809                        type Future = BoxFuture<
3810                            tonic::Response<Self::Response>,
3811                            tonic::Status,
3812                        >;
3813                        fn call(
3814                            &mut self,
3815                            request: tonic::Request<super::DropSecretRequest>,
3816                        ) -> Self::Future {
3817                            let inner = Arc::clone(&self.0);
3818                            let fut = async move {
3819                                <T as DdlService>::drop_secret(&inner, request).await
3820                            };
3821                            Box::pin(fut)
3822                        }
3823                    }
3824                    let accept_compression_encodings = self.accept_compression_encodings;
3825                    let send_compression_encodings = self.send_compression_encodings;
3826                    let max_decoding_message_size = self.max_decoding_message_size;
3827                    let max_encoding_message_size = self.max_encoding_message_size;
3828                    let inner = self.inner.clone();
3829                    let fut = async move {
3830                        let method = DropSecretSvc(inner);
3831                        let codec = tonic_prost::ProstCodec::default();
3832                        let mut grpc = tonic::server::Grpc::new(codec)
3833                            .apply_compression_config(
3834                                accept_compression_encodings,
3835                                send_compression_encodings,
3836                            )
3837                            .apply_max_message_size_config(
3838                                max_decoding_message_size,
3839                                max_encoding_message_size,
3840                            );
3841                        let res = grpc.unary(method, req).await;
3842                        Ok(res)
3843                    };
3844                    Box::pin(fut)
3845                }
3846                "/ddl_service.DdlService/AlterSecret" => {
3847                    #[allow(non_camel_case_types)]
3848                    struct AlterSecretSvc<T: DdlService>(pub Arc<T>);
3849                    impl<
3850                        T: DdlService,
3851                    > tonic::server::UnaryService<super::AlterSecretRequest>
3852                    for AlterSecretSvc<T> {
3853                        type Response = super::AlterSecretResponse;
3854                        type Future = BoxFuture<
3855                            tonic::Response<Self::Response>,
3856                            tonic::Status,
3857                        >;
3858                        fn call(
3859                            &mut self,
3860                            request: tonic::Request<super::AlterSecretRequest>,
3861                        ) -> Self::Future {
3862                            let inner = Arc::clone(&self.0);
3863                            let fut = async move {
3864                                <T as DdlService>::alter_secret(&inner, request).await
3865                            };
3866                            Box::pin(fut)
3867                        }
3868                    }
3869                    let accept_compression_encodings = self.accept_compression_encodings;
3870                    let send_compression_encodings = self.send_compression_encodings;
3871                    let max_decoding_message_size = self.max_decoding_message_size;
3872                    let max_encoding_message_size = self.max_encoding_message_size;
3873                    let inner = self.inner.clone();
3874                    let fut = async move {
3875                        let method = AlterSecretSvc(inner);
3876                        let codec = tonic_prost::ProstCodec::default();
3877                        let mut grpc = tonic::server::Grpc::new(codec)
3878                            .apply_compression_config(
3879                                accept_compression_encodings,
3880                                send_compression_encodings,
3881                            )
3882                            .apply_max_message_size_config(
3883                                max_decoding_message_size,
3884                                max_encoding_message_size,
3885                            );
3886                        let res = grpc.unary(method, req).await;
3887                        Ok(res)
3888                    };
3889                    Box::pin(fut)
3890                }
3891                "/ddl_service.DdlService/AlterName" => {
3892                    #[allow(non_camel_case_types)]
3893                    struct AlterNameSvc<T: DdlService>(pub Arc<T>);
3894                    impl<
3895                        T: DdlService,
3896                    > tonic::server::UnaryService<super::AlterNameRequest>
3897                    for AlterNameSvc<T> {
3898                        type Response = super::AlterNameResponse;
3899                        type Future = BoxFuture<
3900                            tonic::Response<Self::Response>,
3901                            tonic::Status,
3902                        >;
3903                        fn call(
3904                            &mut self,
3905                            request: tonic::Request<super::AlterNameRequest>,
3906                        ) -> Self::Future {
3907                            let inner = Arc::clone(&self.0);
3908                            let fut = async move {
3909                                <T as DdlService>::alter_name(&inner, request).await
3910                            };
3911                            Box::pin(fut)
3912                        }
3913                    }
3914                    let accept_compression_encodings = self.accept_compression_encodings;
3915                    let send_compression_encodings = self.send_compression_encodings;
3916                    let max_decoding_message_size = self.max_decoding_message_size;
3917                    let max_encoding_message_size = self.max_encoding_message_size;
3918                    let inner = self.inner.clone();
3919                    let fut = async move {
3920                        let method = AlterNameSvc(inner);
3921                        let codec = tonic_prost::ProstCodec::default();
3922                        let mut grpc = tonic::server::Grpc::new(codec)
3923                            .apply_compression_config(
3924                                accept_compression_encodings,
3925                                send_compression_encodings,
3926                            )
3927                            .apply_max_message_size_config(
3928                                max_decoding_message_size,
3929                                max_encoding_message_size,
3930                            );
3931                        let res = grpc.unary(method, req).await;
3932                        Ok(res)
3933                    };
3934                    Box::pin(fut)
3935                }
3936                "/ddl_service.DdlService/AlterSource" => {
3937                    #[allow(non_camel_case_types)]
3938                    struct AlterSourceSvc<T: DdlService>(pub Arc<T>);
3939                    impl<
3940                        T: DdlService,
3941                    > tonic::server::UnaryService<super::AlterSourceRequest>
3942                    for AlterSourceSvc<T> {
3943                        type Response = super::AlterSourceResponse;
3944                        type Future = BoxFuture<
3945                            tonic::Response<Self::Response>,
3946                            tonic::Status,
3947                        >;
3948                        fn call(
3949                            &mut self,
3950                            request: tonic::Request<super::AlterSourceRequest>,
3951                        ) -> Self::Future {
3952                            let inner = Arc::clone(&self.0);
3953                            let fut = async move {
3954                                <T as DdlService>::alter_source(&inner, request).await
3955                            };
3956                            Box::pin(fut)
3957                        }
3958                    }
3959                    let accept_compression_encodings = self.accept_compression_encodings;
3960                    let send_compression_encodings = self.send_compression_encodings;
3961                    let max_decoding_message_size = self.max_decoding_message_size;
3962                    let max_encoding_message_size = self.max_encoding_message_size;
3963                    let inner = self.inner.clone();
3964                    let fut = async move {
3965                        let method = AlterSourceSvc(inner);
3966                        let codec = tonic_prost::ProstCodec::default();
3967                        let mut grpc = tonic::server::Grpc::new(codec)
3968                            .apply_compression_config(
3969                                accept_compression_encodings,
3970                                send_compression_encodings,
3971                            )
3972                            .apply_max_message_size_config(
3973                                max_decoding_message_size,
3974                                max_encoding_message_size,
3975                            );
3976                        let res = grpc.unary(method, req).await;
3977                        Ok(res)
3978                    };
3979                    Box::pin(fut)
3980                }
3981                "/ddl_service.DdlService/ResetSource" => {
3982                    #[allow(non_camel_case_types)]
3983                    struct ResetSourceSvc<T: DdlService>(pub Arc<T>);
3984                    impl<
3985                        T: DdlService,
3986                    > tonic::server::UnaryService<super::ResetSourceRequest>
3987                    for ResetSourceSvc<T> {
3988                        type Response = super::ResetSourceResponse;
3989                        type Future = BoxFuture<
3990                            tonic::Response<Self::Response>,
3991                            tonic::Status,
3992                        >;
3993                        fn call(
3994                            &mut self,
3995                            request: tonic::Request<super::ResetSourceRequest>,
3996                        ) -> Self::Future {
3997                            let inner = Arc::clone(&self.0);
3998                            let fut = async move {
3999                                <T as DdlService>::reset_source(&inner, request).await
4000                            };
4001                            Box::pin(fut)
4002                        }
4003                    }
4004                    let accept_compression_encodings = self.accept_compression_encodings;
4005                    let send_compression_encodings = self.send_compression_encodings;
4006                    let max_decoding_message_size = self.max_decoding_message_size;
4007                    let max_encoding_message_size = self.max_encoding_message_size;
4008                    let inner = self.inner.clone();
4009                    let fut = async move {
4010                        let method = ResetSourceSvc(inner);
4011                        let codec = tonic_prost::ProstCodec::default();
4012                        let mut grpc = tonic::server::Grpc::new(codec)
4013                            .apply_compression_config(
4014                                accept_compression_encodings,
4015                                send_compression_encodings,
4016                            )
4017                            .apply_max_message_size_config(
4018                                max_decoding_message_size,
4019                                max_encoding_message_size,
4020                            );
4021                        let res = grpc.unary(method, req).await;
4022                        Ok(res)
4023                    };
4024                    Box::pin(fut)
4025                }
4026                "/ddl_service.DdlService/AlterOwner" => {
4027                    #[allow(non_camel_case_types)]
4028                    struct AlterOwnerSvc<T: DdlService>(pub Arc<T>);
4029                    impl<
4030                        T: DdlService,
4031                    > tonic::server::UnaryService<super::AlterOwnerRequest>
4032                    for AlterOwnerSvc<T> {
4033                        type Response = super::AlterOwnerResponse;
4034                        type Future = BoxFuture<
4035                            tonic::Response<Self::Response>,
4036                            tonic::Status,
4037                        >;
4038                        fn call(
4039                            &mut self,
4040                            request: tonic::Request<super::AlterOwnerRequest>,
4041                        ) -> Self::Future {
4042                            let inner = Arc::clone(&self.0);
4043                            let fut = async move {
4044                                <T as DdlService>::alter_owner(&inner, request).await
4045                            };
4046                            Box::pin(fut)
4047                        }
4048                    }
4049                    let accept_compression_encodings = self.accept_compression_encodings;
4050                    let send_compression_encodings = self.send_compression_encodings;
4051                    let max_decoding_message_size = self.max_decoding_message_size;
4052                    let max_encoding_message_size = self.max_encoding_message_size;
4053                    let inner = self.inner.clone();
4054                    let fut = async move {
4055                        let method = AlterOwnerSvc(inner);
4056                        let codec = tonic_prost::ProstCodec::default();
4057                        let mut grpc = tonic::server::Grpc::new(codec)
4058                            .apply_compression_config(
4059                                accept_compression_encodings,
4060                                send_compression_encodings,
4061                            )
4062                            .apply_max_message_size_config(
4063                                max_decoding_message_size,
4064                                max_encoding_message_size,
4065                            );
4066                        let res = grpc.unary(method, req).await;
4067                        Ok(res)
4068                    };
4069                    Box::pin(fut)
4070                }
4071                "/ddl_service.DdlService/AlterSubscriptionRetention" => {
4072                    #[allow(non_camel_case_types)]
4073                    struct AlterSubscriptionRetentionSvc<T: DdlService>(pub Arc<T>);
4074                    impl<
4075                        T: DdlService,
4076                    > tonic::server::UnaryService<
4077                        super::AlterSubscriptionRetentionRequest,
4078                    > for AlterSubscriptionRetentionSvc<T> {
4079                        type Response = super::AlterSubscriptionRetentionResponse;
4080                        type Future = BoxFuture<
4081                            tonic::Response<Self::Response>,
4082                            tonic::Status,
4083                        >;
4084                        fn call(
4085                            &mut self,
4086                            request: tonic::Request<
4087                                super::AlterSubscriptionRetentionRequest,
4088                            >,
4089                        ) -> Self::Future {
4090                            let inner = Arc::clone(&self.0);
4091                            let fut = async move {
4092                                <T as DdlService>::alter_subscription_retention(
4093                                        &inner,
4094                                        request,
4095                                    )
4096                                    .await
4097                            };
4098                            Box::pin(fut)
4099                        }
4100                    }
4101                    let accept_compression_encodings = self.accept_compression_encodings;
4102                    let send_compression_encodings = self.send_compression_encodings;
4103                    let max_decoding_message_size = self.max_decoding_message_size;
4104                    let max_encoding_message_size = self.max_encoding_message_size;
4105                    let inner = self.inner.clone();
4106                    let fut = async move {
4107                        let method = AlterSubscriptionRetentionSvc(inner);
4108                        let codec = tonic_prost::ProstCodec::default();
4109                        let mut grpc = tonic::server::Grpc::new(codec)
4110                            .apply_compression_config(
4111                                accept_compression_encodings,
4112                                send_compression_encodings,
4113                            )
4114                            .apply_max_message_size_config(
4115                                max_decoding_message_size,
4116                                max_encoding_message_size,
4117                            );
4118                        let res = grpc.unary(method, req).await;
4119                        Ok(res)
4120                    };
4121                    Box::pin(fut)
4122                }
4123                "/ddl_service.DdlService/AlterSetSchema" => {
4124                    #[allow(non_camel_case_types)]
4125                    struct AlterSetSchemaSvc<T: DdlService>(pub Arc<T>);
4126                    impl<
4127                        T: DdlService,
4128                    > tonic::server::UnaryService<super::AlterSetSchemaRequest>
4129                    for AlterSetSchemaSvc<T> {
4130                        type Response = super::AlterSetSchemaResponse;
4131                        type Future = BoxFuture<
4132                            tonic::Response<Self::Response>,
4133                            tonic::Status,
4134                        >;
4135                        fn call(
4136                            &mut self,
4137                            request: tonic::Request<super::AlterSetSchemaRequest>,
4138                        ) -> Self::Future {
4139                            let inner = Arc::clone(&self.0);
4140                            let fut = async move {
4141                                <T as DdlService>::alter_set_schema(&inner, request).await
4142                            };
4143                            Box::pin(fut)
4144                        }
4145                    }
4146                    let accept_compression_encodings = self.accept_compression_encodings;
4147                    let send_compression_encodings = self.send_compression_encodings;
4148                    let max_decoding_message_size = self.max_decoding_message_size;
4149                    let max_encoding_message_size = self.max_encoding_message_size;
4150                    let inner = self.inner.clone();
4151                    let fut = async move {
4152                        let method = AlterSetSchemaSvc(inner);
4153                        let codec = tonic_prost::ProstCodec::default();
4154                        let mut grpc = tonic::server::Grpc::new(codec)
4155                            .apply_compression_config(
4156                                accept_compression_encodings,
4157                                send_compression_encodings,
4158                            )
4159                            .apply_max_message_size_config(
4160                                max_decoding_message_size,
4161                                max_encoding_message_size,
4162                            );
4163                        let res = grpc.unary(method, req).await;
4164                        Ok(res)
4165                    };
4166                    Box::pin(fut)
4167                }
4168                "/ddl_service.DdlService/AlterParallelism" => {
4169                    #[allow(non_camel_case_types)]
4170                    struct AlterParallelismSvc<T: DdlService>(pub Arc<T>);
4171                    impl<
4172                        T: DdlService,
4173                    > tonic::server::UnaryService<super::AlterParallelismRequest>
4174                    for AlterParallelismSvc<T> {
4175                        type Response = super::AlterParallelismResponse;
4176                        type Future = BoxFuture<
4177                            tonic::Response<Self::Response>,
4178                            tonic::Status,
4179                        >;
4180                        fn call(
4181                            &mut self,
4182                            request: tonic::Request<super::AlterParallelismRequest>,
4183                        ) -> Self::Future {
4184                            let inner = Arc::clone(&self.0);
4185                            let fut = async move {
4186                                <T as DdlService>::alter_parallelism(&inner, request).await
4187                            };
4188                            Box::pin(fut)
4189                        }
4190                    }
4191                    let accept_compression_encodings = self.accept_compression_encodings;
4192                    let send_compression_encodings = self.send_compression_encodings;
4193                    let max_decoding_message_size = self.max_decoding_message_size;
4194                    let max_encoding_message_size = self.max_encoding_message_size;
4195                    let inner = self.inner.clone();
4196                    let fut = async move {
4197                        let method = AlterParallelismSvc(inner);
4198                        let codec = tonic_prost::ProstCodec::default();
4199                        let mut grpc = tonic::server::Grpc::new(codec)
4200                            .apply_compression_config(
4201                                accept_compression_encodings,
4202                                send_compression_encodings,
4203                            )
4204                            .apply_max_message_size_config(
4205                                max_decoding_message_size,
4206                                max_encoding_message_size,
4207                            );
4208                        let res = grpc.unary(method, req).await;
4209                        Ok(res)
4210                    };
4211                    Box::pin(fut)
4212                }
4213                "/ddl_service.DdlService/AlterBackfillParallelism" => {
4214                    #[allow(non_camel_case_types)]
4215                    struct AlterBackfillParallelismSvc<T: DdlService>(pub Arc<T>);
4216                    impl<
4217                        T: DdlService,
4218                    > tonic::server::UnaryService<super::AlterBackfillParallelismRequest>
4219                    for AlterBackfillParallelismSvc<T> {
4220                        type Response = super::AlterBackfillParallelismResponse;
4221                        type Future = BoxFuture<
4222                            tonic::Response<Self::Response>,
4223                            tonic::Status,
4224                        >;
4225                        fn call(
4226                            &mut self,
4227                            request: tonic::Request<
4228                                super::AlterBackfillParallelismRequest,
4229                            >,
4230                        ) -> Self::Future {
4231                            let inner = Arc::clone(&self.0);
4232                            let fut = async move {
4233                                <T as DdlService>::alter_backfill_parallelism(
4234                                        &inner,
4235                                        request,
4236                                    )
4237                                    .await
4238                            };
4239                            Box::pin(fut)
4240                        }
4241                    }
4242                    let accept_compression_encodings = self.accept_compression_encodings;
4243                    let send_compression_encodings = self.send_compression_encodings;
4244                    let max_decoding_message_size = self.max_decoding_message_size;
4245                    let max_encoding_message_size = self.max_encoding_message_size;
4246                    let inner = self.inner.clone();
4247                    let fut = async move {
4248                        let method = AlterBackfillParallelismSvc(inner);
4249                        let codec = tonic_prost::ProstCodec::default();
4250                        let mut grpc = tonic::server::Grpc::new(codec)
4251                            .apply_compression_config(
4252                                accept_compression_encodings,
4253                                send_compression_encodings,
4254                            )
4255                            .apply_max_message_size_config(
4256                                max_decoding_message_size,
4257                                max_encoding_message_size,
4258                            );
4259                        let res = grpc.unary(method, req).await;
4260                        Ok(res)
4261                    };
4262                    Box::pin(fut)
4263                }
4264                "/ddl_service.DdlService/AlterFragmentParallelism" => {
4265                    #[allow(non_camel_case_types)]
4266                    struct AlterFragmentParallelismSvc<T: DdlService>(pub Arc<T>);
4267                    impl<
4268                        T: DdlService,
4269                    > tonic::server::UnaryService<super::AlterFragmentParallelismRequest>
4270                    for AlterFragmentParallelismSvc<T> {
4271                        type Response = super::AlterFragmentParallelismResponse;
4272                        type Future = BoxFuture<
4273                            tonic::Response<Self::Response>,
4274                            tonic::Status,
4275                        >;
4276                        fn call(
4277                            &mut self,
4278                            request: tonic::Request<
4279                                super::AlterFragmentParallelismRequest,
4280                            >,
4281                        ) -> Self::Future {
4282                            let inner = Arc::clone(&self.0);
4283                            let fut = async move {
4284                                <T as DdlService>::alter_fragment_parallelism(
4285                                        &inner,
4286                                        request,
4287                                    )
4288                                    .await
4289                            };
4290                            Box::pin(fut)
4291                        }
4292                    }
4293                    let accept_compression_encodings = self.accept_compression_encodings;
4294                    let send_compression_encodings = self.send_compression_encodings;
4295                    let max_decoding_message_size = self.max_decoding_message_size;
4296                    let max_encoding_message_size = self.max_encoding_message_size;
4297                    let inner = self.inner.clone();
4298                    let fut = async move {
4299                        let method = AlterFragmentParallelismSvc(inner);
4300                        let codec = tonic_prost::ProstCodec::default();
4301                        let mut grpc = tonic::server::Grpc::new(codec)
4302                            .apply_compression_config(
4303                                accept_compression_encodings,
4304                                send_compression_encodings,
4305                            )
4306                            .apply_max_message_size_config(
4307                                max_decoding_message_size,
4308                                max_encoding_message_size,
4309                            );
4310                        let res = grpc.unary(method, req).await;
4311                        Ok(res)
4312                    };
4313                    Box::pin(fut)
4314                }
4315                "/ddl_service.DdlService/AlterResourceGroup" => {
4316                    #[allow(non_camel_case_types)]
4317                    struct AlterResourceGroupSvc<T: DdlService>(pub Arc<T>);
4318                    impl<
4319                        T: DdlService,
4320                    > tonic::server::UnaryService<super::AlterResourceGroupRequest>
4321                    for AlterResourceGroupSvc<T> {
4322                        type Response = super::AlterResourceGroupResponse;
4323                        type Future = BoxFuture<
4324                            tonic::Response<Self::Response>,
4325                            tonic::Status,
4326                        >;
4327                        fn call(
4328                            &mut self,
4329                            request: tonic::Request<super::AlterResourceGroupRequest>,
4330                        ) -> Self::Future {
4331                            let inner = Arc::clone(&self.0);
4332                            let fut = async move {
4333                                <T as DdlService>::alter_resource_group(&inner, request)
4334                                    .await
4335                            };
4336                            Box::pin(fut)
4337                        }
4338                    }
4339                    let accept_compression_encodings = self.accept_compression_encodings;
4340                    let send_compression_encodings = self.send_compression_encodings;
4341                    let max_decoding_message_size = self.max_decoding_message_size;
4342                    let max_encoding_message_size = self.max_encoding_message_size;
4343                    let inner = self.inner.clone();
4344                    let fut = async move {
4345                        let method = AlterResourceGroupSvc(inner);
4346                        let codec = tonic_prost::ProstCodec::default();
4347                        let mut grpc = tonic::server::Grpc::new(codec)
4348                            .apply_compression_config(
4349                                accept_compression_encodings,
4350                                send_compression_encodings,
4351                            )
4352                            .apply_max_message_size_config(
4353                                max_decoding_message_size,
4354                                max_encoding_message_size,
4355                            );
4356                        let res = grpc.unary(method, req).await;
4357                        Ok(res)
4358                    };
4359                    Box::pin(fut)
4360                }
4361                "/ddl_service.DdlService/AlterDatabaseResourceGroup" => {
4362                    #[allow(non_camel_case_types)]
4363                    struct AlterDatabaseResourceGroupSvc<T: DdlService>(pub Arc<T>);
4364                    impl<
4365                        T: DdlService,
4366                    > tonic::server::UnaryService<
4367                        super::AlterDatabaseResourceGroupRequest,
4368                    > for AlterDatabaseResourceGroupSvc<T> {
4369                        type Response = super::AlterDatabaseResourceGroupResponse;
4370                        type Future = BoxFuture<
4371                            tonic::Response<Self::Response>,
4372                            tonic::Status,
4373                        >;
4374                        fn call(
4375                            &mut self,
4376                            request: tonic::Request<
4377                                super::AlterDatabaseResourceGroupRequest,
4378                            >,
4379                        ) -> Self::Future {
4380                            let inner = Arc::clone(&self.0);
4381                            let fut = async move {
4382                                <T as DdlService>::alter_database_resource_group(
4383                                        &inner,
4384                                        request,
4385                                    )
4386                                    .await
4387                            };
4388                            Box::pin(fut)
4389                        }
4390                    }
4391                    let accept_compression_encodings = self.accept_compression_encodings;
4392                    let send_compression_encodings = self.send_compression_encodings;
4393                    let max_decoding_message_size = self.max_decoding_message_size;
4394                    let max_encoding_message_size = self.max_encoding_message_size;
4395                    let inner = self.inner.clone();
4396                    let fut = async move {
4397                        let method = AlterDatabaseResourceGroupSvc(inner);
4398                        let codec = tonic_prost::ProstCodec::default();
4399                        let mut grpc = tonic::server::Grpc::new(codec)
4400                            .apply_compression_config(
4401                                accept_compression_encodings,
4402                                send_compression_encodings,
4403                            )
4404                            .apply_max_message_size_config(
4405                                max_decoding_message_size,
4406                                max_encoding_message_size,
4407                            );
4408                        let res = grpc.unary(method, req).await;
4409                        Ok(res)
4410                    };
4411                    Box::pin(fut)
4412                }
4413                "/ddl_service.DdlService/DropTable" => {
4414                    #[allow(non_camel_case_types)]
4415                    struct DropTableSvc<T: DdlService>(pub Arc<T>);
4416                    impl<
4417                        T: DdlService,
4418                    > tonic::server::UnaryService<super::DropTableRequest>
4419                    for DropTableSvc<T> {
4420                        type Response = super::DropTableResponse;
4421                        type Future = BoxFuture<
4422                            tonic::Response<Self::Response>,
4423                            tonic::Status,
4424                        >;
4425                        fn call(
4426                            &mut self,
4427                            request: tonic::Request<super::DropTableRequest>,
4428                        ) -> Self::Future {
4429                            let inner = Arc::clone(&self.0);
4430                            let fut = async move {
4431                                <T as DdlService>::drop_table(&inner, request).await
4432                            };
4433                            Box::pin(fut)
4434                        }
4435                    }
4436                    let accept_compression_encodings = self.accept_compression_encodings;
4437                    let send_compression_encodings = self.send_compression_encodings;
4438                    let max_decoding_message_size = self.max_decoding_message_size;
4439                    let max_encoding_message_size = self.max_encoding_message_size;
4440                    let inner = self.inner.clone();
4441                    let fut = async move {
4442                        let method = DropTableSvc(inner);
4443                        let codec = tonic_prost::ProstCodec::default();
4444                        let mut grpc = tonic::server::Grpc::new(codec)
4445                            .apply_compression_config(
4446                                accept_compression_encodings,
4447                                send_compression_encodings,
4448                            )
4449                            .apply_max_message_size_config(
4450                                max_decoding_message_size,
4451                                max_encoding_message_size,
4452                            );
4453                        let res = grpc.unary(method, req).await;
4454                        Ok(res)
4455                    };
4456                    Box::pin(fut)
4457                }
4458                "/ddl_service.DdlService/RisectlListStateTables" => {
4459                    #[allow(non_camel_case_types)]
4460                    struct RisectlListStateTablesSvc<T: DdlService>(pub Arc<T>);
4461                    impl<
4462                        T: DdlService,
4463                    > tonic::server::UnaryService<super::RisectlListStateTablesRequest>
4464                    for RisectlListStateTablesSvc<T> {
4465                        type Response = super::RisectlListStateTablesResponse;
4466                        type Future = BoxFuture<
4467                            tonic::Response<Self::Response>,
4468                            tonic::Status,
4469                        >;
4470                        fn call(
4471                            &mut self,
4472                            request: tonic::Request<super::RisectlListStateTablesRequest>,
4473                        ) -> Self::Future {
4474                            let inner = Arc::clone(&self.0);
4475                            let fut = async move {
4476                                <T as DdlService>::risectl_list_state_tables(
4477                                        &inner,
4478                                        request,
4479                                    )
4480                                    .await
4481                            };
4482                            Box::pin(fut)
4483                        }
4484                    }
4485                    let accept_compression_encodings = self.accept_compression_encodings;
4486                    let send_compression_encodings = self.send_compression_encodings;
4487                    let max_decoding_message_size = self.max_decoding_message_size;
4488                    let max_encoding_message_size = self.max_encoding_message_size;
4489                    let inner = self.inner.clone();
4490                    let fut = async move {
4491                        let method = RisectlListStateTablesSvc(inner);
4492                        let codec = tonic_prost::ProstCodec::default();
4493                        let mut grpc = tonic::server::Grpc::new(codec)
4494                            .apply_compression_config(
4495                                accept_compression_encodings,
4496                                send_compression_encodings,
4497                            )
4498                            .apply_max_message_size_config(
4499                                max_decoding_message_size,
4500                                max_encoding_message_size,
4501                            );
4502                        let res = grpc.unary(method, req).await;
4503                        Ok(res)
4504                    };
4505                    Box::pin(fut)
4506                }
4507                "/ddl_service.DdlService/RisectlResumeBackfill" => {
4508                    #[allow(non_camel_case_types)]
4509                    struct RisectlResumeBackfillSvc<T: DdlService>(pub Arc<T>);
4510                    impl<
4511                        T: DdlService,
4512                    > tonic::server::UnaryService<super::RisectlResumeBackfillRequest>
4513                    for RisectlResumeBackfillSvc<T> {
4514                        type Response = super::RisectlResumeBackfillResponse;
4515                        type Future = BoxFuture<
4516                            tonic::Response<Self::Response>,
4517                            tonic::Status,
4518                        >;
4519                        fn call(
4520                            &mut self,
4521                            request: tonic::Request<super::RisectlResumeBackfillRequest>,
4522                        ) -> Self::Future {
4523                            let inner = Arc::clone(&self.0);
4524                            let fut = async move {
4525                                <T as DdlService>::risectl_resume_backfill(&inner, request)
4526                                    .await
4527                            };
4528                            Box::pin(fut)
4529                        }
4530                    }
4531                    let accept_compression_encodings = self.accept_compression_encodings;
4532                    let send_compression_encodings = self.send_compression_encodings;
4533                    let max_decoding_message_size = self.max_decoding_message_size;
4534                    let max_encoding_message_size = self.max_encoding_message_size;
4535                    let inner = self.inner.clone();
4536                    let fut = async move {
4537                        let method = RisectlResumeBackfillSvc(inner);
4538                        let codec = tonic_prost::ProstCodec::default();
4539                        let mut grpc = tonic::server::Grpc::new(codec)
4540                            .apply_compression_config(
4541                                accept_compression_encodings,
4542                                send_compression_encodings,
4543                            )
4544                            .apply_max_message_size_config(
4545                                max_decoding_message_size,
4546                                max_encoding_message_size,
4547                            );
4548                        let res = grpc.unary(method, req).await;
4549                        Ok(res)
4550                    };
4551                    Box::pin(fut)
4552                }
4553                "/ddl_service.DdlService/CreateView" => {
4554                    #[allow(non_camel_case_types)]
4555                    struct CreateViewSvc<T: DdlService>(pub Arc<T>);
4556                    impl<
4557                        T: DdlService,
4558                    > tonic::server::UnaryService<super::CreateViewRequest>
4559                    for CreateViewSvc<T> {
4560                        type Response = super::CreateViewResponse;
4561                        type Future = BoxFuture<
4562                            tonic::Response<Self::Response>,
4563                            tonic::Status,
4564                        >;
4565                        fn call(
4566                            &mut self,
4567                            request: tonic::Request<super::CreateViewRequest>,
4568                        ) -> Self::Future {
4569                            let inner = Arc::clone(&self.0);
4570                            let fut = async move {
4571                                <T as DdlService>::create_view(&inner, request).await
4572                            };
4573                            Box::pin(fut)
4574                        }
4575                    }
4576                    let accept_compression_encodings = self.accept_compression_encodings;
4577                    let send_compression_encodings = self.send_compression_encodings;
4578                    let max_decoding_message_size = self.max_decoding_message_size;
4579                    let max_encoding_message_size = self.max_encoding_message_size;
4580                    let inner = self.inner.clone();
4581                    let fut = async move {
4582                        let method = CreateViewSvc(inner);
4583                        let codec = tonic_prost::ProstCodec::default();
4584                        let mut grpc = tonic::server::Grpc::new(codec)
4585                            .apply_compression_config(
4586                                accept_compression_encodings,
4587                                send_compression_encodings,
4588                            )
4589                            .apply_max_message_size_config(
4590                                max_decoding_message_size,
4591                                max_encoding_message_size,
4592                            );
4593                        let res = grpc.unary(method, req).await;
4594                        Ok(res)
4595                    };
4596                    Box::pin(fut)
4597                }
4598                "/ddl_service.DdlService/DropView" => {
4599                    #[allow(non_camel_case_types)]
4600                    struct DropViewSvc<T: DdlService>(pub Arc<T>);
4601                    impl<
4602                        T: DdlService,
4603                    > tonic::server::UnaryService<super::DropViewRequest>
4604                    for DropViewSvc<T> {
4605                        type Response = super::DropViewResponse;
4606                        type Future = BoxFuture<
4607                            tonic::Response<Self::Response>,
4608                            tonic::Status,
4609                        >;
4610                        fn call(
4611                            &mut self,
4612                            request: tonic::Request<super::DropViewRequest>,
4613                        ) -> Self::Future {
4614                            let inner = Arc::clone(&self.0);
4615                            let fut = async move {
4616                                <T as DdlService>::drop_view(&inner, request).await
4617                            };
4618                            Box::pin(fut)
4619                        }
4620                    }
4621                    let accept_compression_encodings = self.accept_compression_encodings;
4622                    let send_compression_encodings = self.send_compression_encodings;
4623                    let max_decoding_message_size = self.max_decoding_message_size;
4624                    let max_encoding_message_size = self.max_encoding_message_size;
4625                    let inner = self.inner.clone();
4626                    let fut = async move {
4627                        let method = DropViewSvc(inner);
4628                        let codec = tonic_prost::ProstCodec::default();
4629                        let mut grpc = tonic::server::Grpc::new(codec)
4630                            .apply_compression_config(
4631                                accept_compression_encodings,
4632                                send_compression_encodings,
4633                            )
4634                            .apply_max_message_size_config(
4635                                max_decoding_message_size,
4636                                max_encoding_message_size,
4637                            );
4638                        let res = grpc.unary(method, req).await;
4639                        Ok(res)
4640                    };
4641                    Box::pin(fut)
4642                }
4643                "/ddl_service.DdlService/CreateIndex" => {
4644                    #[allow(non_camel_case_types)]
4645                    struct CreateIndexSvc<T: DdlService>(pub Arc<T>);
4646                    impl<
4647                        T: DdlService,
4648                    > tonic::server::UnaryService<super::CreateIndexRequest>
4649                    for CreateIndexSvc<T> {
4650                        type Response = super::CreateIndexResponse;
4651                        type Future = BoxFuture<
4652                            tonic::Response<Self::Response>,
4653                            tonic::Status,
4654                        >;
4655                        fn call(
4656                            &mut self,
4657                            request: tonic::Request<super::CreateIndexRequest>,
4658                        ) -> Self::Future {
4659                            let inner = Arc::clone(&self.0);
4660                            let fut = async move {
4661                                <T as DdlService>::create_index(&inner, request).await
4662                            };
4663                            Box::pin(fut)
4664                        }
4665                    }
4666                    let accept_compression_encodings = self.accept_compression_encodings;
4667                    let send_compression_encodings = self.send_compression_encodings;
4668                    let max_decoding_message_size = self.max_decoding_message_size;
4669                    let max_encoding_message_size = self.max_encoding_message_size;
4670                    let inner = self.inner.clone();
4671                    let fut = async move {
4672                        let method = CreateIndexSvc(inner);
4673                        let codec = tonic_prost::ProstCodec::default();
4674                        let mut grpc = tonic::server::Grpc::new(codec)
4675                            .apply_compression_config(
4676                                accept_compression_encodings,
4677                                send_compression_encodings,
4678                            )
4679                            .apply_max_message_size_config(
4680                                max_decoding_message_size,
4681                                max_encoding_message_size,
4682                            );
4683                        let res = grpc.unary(method, req).await;
4684                        Ok(res)
4685                    };
4686                    Box::pin(fut)
4687                }
4688                "/ddl_service.DdlService/DropIndex" => {
4689                    #[allow(non_camel_case_types)]
4690                    struct DropIndexSvc<T: DdlService>(pub Arc<T>);
4691                    impl<
4692                        T: DdlService,
4693                    > tonic::server::UnaryService<super::DropIndexRequest>
4694                    for DropIndexSvc<T> {
4695                        type Response = super::DropIndexResponse;
4696                        type Future = BoxFuture<
4697                            tonic::Response<Self::Response>,
4698                            tonic::Status,
4699                        >;
4700                        fn call(
4701                            &mut self,
4702                            request: tonic::Request<super::DropIndexRequest>,
4703                        ) -> Self::Future {
4704                            let inner = Arc::clone(&self.0);
4705                            let fut = async move {
4706                                <T as DdlService>::drop_index(&inner, request).await
4707                            };
4708                            Box::pin(fut)
4709                        }
4710                    }
4711                    let accept_compression_encodings = self.accept_compression_encodings;
4712                    let send_compression_encodings = self.send_compression_encodings;
4713                    let max_decoding_message_size = self.max_decoding_message_size;
4714                    let max_encoding_message_size = self.max_encoding_message_size;
4715                    let inner = self.inner.clone();
4716                    let fut = async move {
4717                        let method = DropIndexSvc(inner);
4718                        let codec = tonic_prost::ProstCodec::default();
4719                        let mut grpc = tonic::server::Grpc::new(codec)
4720                            .apply_compression_config(
4721                                accept_compression_encodings,
4722                                send_compression_encodings,
4723                            )
4724                            .apply_max_message_size_config(
4725                                max_decoding_message_size,
4726                                max_encoding_message_size,
4727                            );
4728                        let res = grpc.unary(method, req).await;
4729                        Ok(res)
4730                    };
4731                    Box::pin(fut)
4732                }
4733                "/ddl_service.DdlService/CreateFunction" => {
4734                    #[allow(non_camel_case_types)]
4735                    struct CreateFunctionSvc<T: DdlService>(pub Arc<T>);
4736                    impl<
4737                        T: DdlService,
4738                    > tonic::server::UnaryService<super::CreateFunctionRequest>
4739                    for CreateFunctionSvc<T> {
4740                        type Response = super::CreateFunctionResponse;
4741                        type Future = BoxFuture<
4742                            tonic::Response<Self::Response>,
4743                            tonic::Status,
4744                        >;
4745                        fn call(
4746                            &mut self,
4747                            request: tonic::Request<super::CreateFunctionRequest>,
4748                        ) -> Self::Future {
4749                            let inner = Arc::clone(&self.0);
4750                            let fut = async move {
4751                                <T as DdlService>::create_function(&inner, request).await
4752                            };
4753                            Box::pin(fut)
4754                        }
4755                    }
4756                    let accept_compression_encodings = self.accept_compression_encodings;
4757                    let send_compression_encodings = self.send_compression_encodings;
4758                    let max_decoding_message_size = self.max_decoding_message_size;
4759                    let max_encoding_message_size = self.max_encoding_message_size;
4760                    let inner = self.inner.clone();
4761                    let fut = async move {
4762                        let method = CreateFunctionSvc(inner);
4763                        let codec = tonic_prost::ProstCodec::default();
4764                        let mut grpc = tonic::server::Grpc::new(codec)
4765                            .apply_compression_config(
4766                                accept_compression_encodings,
4767                                send_compression_encodings,
4768                            )
4769                            .apply_max_message_size_config(
4770                                max_decoding_message_size,
4771                                max_encoding_message_size,
4772                            );
4773                        let res = grpc.unary(method, req).await;
4774                        Ok(res)
4775                    };
4776                    Box::pin(fut)
4777                }
4778                "/ddl_service.DdlService/DropFunction" => {
4779                    #[allow(non_camel_case_types)]
4780                    struct DropFunctionSvc<T: DdlService>(pub Arc<T>);
4781                    impl<
4782                        T: DdlService,
4783                    > tonic::server::UnaryService<super::DropFunctionRequest>
4784                    for DropFunctionSvc<T> {
4785                        type Response = super::DropFunctionResponse;
4786                        type Future = BoxFuture<
4787                            tonic::Response<Self::Response>,
4788                            tonic::Status,
4789                        >;
4790                        fn call(
4791                            &mut self,
4792                            request: tonic::Request<super::DropFunctionRequest>,
4793                        ) -> Self::Future {
4794                            let inner = Arc::clone(&self.0);
4795                            let fut = async move {
4796                                <T as DdlService>::drop_function(&inner, request).await
4797                            };
4798                            Box::pin(fut)
4799                        }
4800                    }
4801                    let accept_compression_encodings = self.accept_compression_encodings;
4802                    let send_compression_encodings = self.send_compression_encodings;
4803                    let max_decoding_message_size = self.max_decoding_message_size;
4804                    let max_encoding_message_size = self.max_encoding_message_size;
4805                    let inner = self.inner.clone();
4806                    let fut = async move {
4807                        let method = DropFunctionSvc(inner);
4808                        let codec = tonic_prost::ProstCodec::default();
4809                        let mut grpc = tonic::server::Grpc::new(codec)
4810                            .apply_compression_config(
4811                                accept_compression_encodings,
4812                                send_compression_encodings,
4813                            )
4814                            .apply_max_message_size_config(
4815                                max_decoding_message_size,
4816                                max_encoding_message_size,
4817                            );
4818                        let res = grpc.unary(method, req).await;
4819                        Ok(res)
4820                    };
4821                    Box::pin(fut)
4822                }
4823                "/ddl_service.DdlService/ReplaceJobPlan" => {
4824                    #[allow(non_camel_case_types)]
4825                    struct ReplaceJobPlanSvc<T: DdlService>(pub Arc<T>);
4826                    impl<
4827                        T: DdlService,
4828                    > tonic::server::UnaryService<super::ReplaceJobPlanRequest>
4829                    for ReplaceJobPlanSvc<T> {
4830                        type Response = super::ReplaceJobPlanResponse;
4831                        type Future = BoxFuture<
4832                            tonic::Response<Self::Response>,
4833                            tonic::Status,
4834                        >;
4835                        fn call(
4836                            &mut self,
4837                            request: tonic::Request<super::ReplaceJobPlanRequest>,
4838                        ) -> Self::Future {
4839                            let inner = Arc::clone(&self.0);
4840                            let fut = async move {
4841                                <T as DdlService>::replace_job_plan(&inner, request).await
4842                            };
4843                            Box::pin(fut)
4844                        }
4845                    }
4846                    let accept_compression_encodings = self.accept_compression_encodings;
4847                    let send_compression_encodings = self.send_compression_encodings;
4848                    let max_decoding_message_size = self.max_decoding_message_size;
4849                    let max_encoding_message_size = self.max_encoding_message_size;
4850                    let inner = self.inner.clone();
4851                    let fut = async move {
4852                        let method = ReplaceJobPlanSvc(inner);
4853                        let codec = tonic_prost::ProstCodec::default();
4854                        let mut grpc = tonic::server::Grpc::new(codec)
4855                            .apply_compression_config(
4856                                accept_compression_encodings,
4857                                send_compression_encodings,
4858                            )
4859                            .apply_max_message_size_config(
4860                                max_decoding_message_size,
4861                                max_encoding_message_size,
4862                            );
4863                        let res = grpc.unary(method, req).await;
4864                        Ok(res)
4865                    };
4866                    Box::pin(fut)
4867                }
4868                "/ddl_service.DdlService/GetTable" => {
4869                    #[allow(non_camel_case_types)]
4870                    struct GetTableSvc<T: DdlService>(pub Arc<T>);
4871                    impl<
4872                        T: DdlService,
4873                    > tonic::server::UnaryService<super::GetTableRequest>
4874                    for GetTableSvc<T> {
4875                        type Response = super::GetTableResponse;
4876                        type Future = BoxFuture<
4877                            tonic::Response<Self::Response>,
4878                            tonic::Status,
4879                        >;
4880                        fn call(
4881                            &mut self,
4882                            request: tonic::Request<super::GetTableRequest>,
4883                        ) -> Self::Future {
4884                            let inner = Arc::clone(&self.0);
4885                            let fut = async move {
4886                                <T as DdlService>::get_table(&inner, request).await
4887                            };
4888                            Box::pin(fut)
4889                        }
4890                    }
4891                    let accept_compression_encodings = self.accept_compression_encodings;
4892                    let send_compression_encodings = self.send_compression_encodings;
4893                    let max_decoding_message_size = self.max_decoding_message_size;
4894                    let max_encoding_message_size = self.max_encoding_message_size;
4895                    let inner = self.inner.clone();
4896                    let fut = async move {
4897                        let method = GetTableSvc(inner);
4898                        let codec = tonic_prost::ProstCodec::default();
4899                        let mut grpc = tonic::server::Grpc::new(codec)
4900                            .apply_compression_config(
4901                                accept_compression_encodings,
4902                                send_compression_encodings,
4903                            )
4904                            .apply_max_message_size_config(
4905                                max_decoding_message_size,
4906                                max_encoding_message_size,
4907                            );
4908                        let res = grpc.unary(method, req).await;
4909                        Ok(res)
4910                    };
4911                    Box::pin(fut)
4912                }
4913                "/ddl_service.DdlService/GetDdlProgress" => {
4914                    #[allow(non_camel_case_types)]
4915                    struct GetDdlProgressSvc<T: DdlService>(pub Arc<T>);
4916                    impl<
4917                        T: DdlService,
4918                    > tonic::server::UnaryService<super::GetDdlProgressRequest>
4919                    for GetDdlProgressSvc<T> {
4920                        type Response = super::GetDdlProgressResponse;
4921                        type Future = BoxFuture<
4922                            tonic::Response<Self::Response>,
4923                            tonic::Status,
4924                        >;
4925                        fn call(
4926                            &mut self,
4927                            request: tonic::Request<super::GetDdlProgressRequest>,
4928                        ) -> Self::Future {
4929                            let inner = Arc::clone(&self.0);
4930                            let fut = async move {
4931                                <T as DdlService>::get_ddl_progress(&inner, request).await
4932                            };
4933                            Box::pin(fut)
4934                        }
4935                    }
4936                    let accept_compression_encodings = self.accept_compression_encodings;
4937                    let send_compression_encodings = self.send_compression_encodings;
4938                    let max_decoding_message_size = self.max_decoding_message_size;
4939                    let max_encoding_message_size = self.max_encoding_message_size;
4940                    let inner = self.inner.clone();
4941                    let fut = async move {
4942                        let method = GetDdlProgressSvc(inner);
4943                        let codec = tonic_prost::ProstCodec::default();
4944                        let mut grpc = tonic::server::Grpc::new(codec)
4945                            .apply_compression_config(
4946                                accept_compression_encodings,
4947                                send_compression_encodings,
4948                            )
4949                            .apply_max_message_size_config(
4950                                max_decoding_message_size,
4951                                max_encoding_message_size,
4952                            );
4953                        let res = grpc.unary(method, req).await;
4954                        Ok(res)
4955                    };
4956                    Box::pin(fut)
4957                }
4958                "/ddl_service.DdlService/CreateConnection" => {
4959                    #[allow(non_camel_case_types)]
4960                    struct CreateConnectionSvc<T: DdlService>(pub Arc<T>);
4961                    impl<
4962                        T: DdlService,
4963                    > tonic::server::UnaryService<super::CreateConnectionRequest>
4964                    for CreateConnectionSvc<T> {
4965                        type Response = super::CreateConnectionResponse;
4966                        type Future = BoxFuture<
4967                            tonic::Response<Self::Response>,
4968                            tonic::Status,
4969                        >;
4970                        fn call(
4971                            &mut self,
4972                            request: tonic::Request<super::CreateConnectionRequest>,
4973                        ) -> Self::Future {
4974                            let inner = Arc::clone(&self.0);
4975                            let fut = async move {
4976                                <T as DdlService>::create_connection(&inner, request).await
4977                            };
4978                            Box::pin(fut)
4979                        }
4980                    }
4981                    let accept_compression_encodings = self.accept_compression_encodings;
4982                    let send_compression_encodings = self.send_compression_encodings;
4983                    let max_decoding_message_size = self.max_decoding_message_size;
4984                    let max_encoding_message_size = self.max_encoding_message_size;
4985                    let inner = self.inner.clone();
4986                    let fut = async move {
4987                        let method = CreateConnectionSvc(inner);
4988                        let codec = tonic_prost::ProstCodec::default();
4989                        let mut grpc = tonic::server::Grpc::new(codec)
4990                            .apply_compression_config(
4991                                accept_compression_encodings,
4992                                send_compression_encodings,
4993                            )
4994                            .apply_max_message_size_config(
4995                                max_decoding_message_size,
4996                                max_encoding_message_size,
4997                            );
4998                        let res = grpc.unary(method, req).await;
4999                        Ok(res)
5000                    };
5001                    Box::pin(fut)
5002                }
5003                "/ddl_service.DdlService/ListConnections" => {
5004                    #[allow(non_camel_case_types)]
5005                    struct ListConnectionsSvc<T: DdlService>(pub Arc<T>);
5006                    impl<
5007                        T: DdlService,
5008                    > tonic::server::UnaryService<super::ListConnectionsRequest>
5009                    for ListConnectionsSvc<T> {
5010                        type Response = super::ListConnectionsResponse;
5011                        type Future = BoxFuture<
5012                            tonic::Response<Self::Response>,
5013                            tonic::Status,
5014                        >;
5015                        fn call(
5016                            &mut self,
5017                            request: tonic::Request<super::ListConnectionsRequest>,
5018                        ) -> Self::Future {
5019                            let inner = Arc::clone(&self.0);
5020                            let fut = async move {
5021                                <T as DdlService>::list_connections(&inner, request).await
5022                            };
5023                            Box::pin(fut)
5024                        }
5025                    }
5026                    let accept_compression_encodings = self.accept_compression_encodings;
5027                    let send_compression_encodings = self.send_compression_encodings;
5028                    let max_decoding_message_size = self.max_decoding_message_size;
5029                    let max_encoding_message_size = self.max_encoding_message_size;
5030                    let inner = self.inner.clone();
5031                    let fut = async move {
5032                        let method = ListConnectionsSvc(inner);
5033                        let codec = tonic_prost::ProstCodec::default();
5034                        let mut grpc = tonic::server::Grpc::new(codec)
5035                            .apply_compression_config(
5036                                accept_compression_encodings,
5037                                send_compression_encodings,
5038                            )
5039                            .apply_max_message_size_config(
5040                                max_decoding_message_size,
5041                                max_encoding_message_size,
5042                            );
5043                        let res = grpc.unary(method, req).await;
5044                        Ok(res)
5045                    };
5046                    Box::pin(fut)
5047                }
5048                "/ddl_service.DdlService/DropConnection" => {
5049                    #[allow(non_camel_case_types)]
5050                    struct DropConnectionSvc<T: DdlService>(pub Arc<T>);
5051                    impl<
5052                        T: DdlService,
5053                    > tonic::server::UnaryService<super::DropConnectionRequest>
5054                    for DropConnectionSvc<T> {
5055                        type Response = super::DropConnectionResponse;
5056                        type Future = BoxFuture<
5057                            tonic::Response<Self::Response>,
5058                            tonic::Status,
5059                        >;
5060                        fn call(
5061                            &mut self,
5062                            request: tonic::Request<super::DropConnectionRequest>,
5063                        ) -> Self::Future {
5064                            let inner = Arc::clone(&self.0);
5065                            let fut = async move {
5066                                <T as DdlService>::drop_connection(&inner, request).await
5067                            };
5068                            Box::pin(fut)
5069                        }
5070                    }
5071                    let accept_compression_encodings = self.accept_compression_encodings;
5072                    let send_compression_encodings = self.send_compression_encodings;
5073                    let max_decoding_message_size = self.max_decoding_message_size;
5074                    let max_encoding_message_size = self.max_encoding_message_size;
5075                    let inner = self.inner.clone();
5076                    let fut = async move {
5077                        let method = DropConnectionSvc(inner);
5078                        let codec = tonic_prost::ProstCodec::default();
5079                        let mut grpc = tonic::server::Grpc::new(codec)
5080                            .apply_compression_config(
5081                                accept_compression_encodings,
5082                                send_compression_encodings,
5083                            )
5084                            .apply_max_message_size_config(
5085                                max_decoding_message_size,
5086                                max_encoding_message_size,
5087                            );
5088                        let res = grpc.unary(method, req).await;
5089                        Ok(res)
5090                    };
5091                    Box::pin(fut)
5092                }
5093                "/ddl_service.DdlService/GetTables" => {
5094                    #[allow(non_camel_case_types)]
5095                    struct GetTablesSvc<T: DdlService>(pub Arc<T>);
5096                    impl<
5097                        T: DdlService,
5098                    > tonic::server::UnaryService<super::GetTablesRequest>
5099                    for GetTablesSvc<T> {
5100                        type Response = super::GetTablesResponse;
5101                        type Future = BoxFuture<
5102                            tonic::Response<Self::Response>,
5103                            tonic::Status,
5104                        >;
5105                        fn call(
5106                            &mut self,
5107                            request: tonic::Request<super::GetTablesRequest>,
5108                        ) -> Self::Future {
5109                            let inner = Arc::clone(&self.0);
5110                            let fut = async move {
5111                                <T as DdlService>::get_tables(&inner, request).await
5112                            };
5113                            Box::pin(fut)
5114                        }
5115                    }
5116                    let accept_compression_encodings = self.accept_compression_encodings;
5117                    let send_compression_encodings = self.send_compression_encodings;
5118                    let max_decoding_message_size = self.max_decoding_message_size;
5119                    let max_encoding_message_size = self.max_encoding_message_size;
5120                    let inner = self.inner.clone();
5121                    let fut = async move {
5122                        let method = GetTablesSvc(inner);
5123                        let codec = tonic_prost::ProstCodec::default();
5124                        let mut grpc = tonic::server::Grpc::new(codec)
5125                            .apply_compression_config(
5126                                accept_compression_encodings,
5127                                send_compression_encodings,
5128                            )
5129                            .apply_max_message_size_config(
5130                                max_decoding_message_size,
5131                                max_encoding_message_size,
5132                            );
5133                        let res = grpc.unary(method, req).await;
5134                        Ok(res)
5135                    };
5136                    Box::pin(fut)
5137                }
5138                "/ddl_service.DdlService/Wait" => {
5139                    #[allow(non_camel_case_types)]
5140                    struct WaitSvc<T: DdlService>(pub Arc<T>);
5141                    impl<T: DdlService> tonic::server::UnaryService<super::WaitRequest>
5142                    for WaitSvc<T> {
5143                        type Response = super::WaitResponse;
5144                        type Future = BoxFuture<
5145                            tonic::Response<Self::Response>,
5146                            tonic::Status,
5147                        >;
5148                        fn call(
5149                            &mut self,
5150                            request: tonic::Request<super::WaitRequest>,
5151                        ) -> Self::Future {
5152                            let inner = Arc::clone(&self.0);
5153                            let fut = async move {
5154                                <T as DdlService>::wait(&inner, request).await
5155                            };
5156                            Box::pin(fut)
5157                        }
5158                    }
5159                    let accept_compression_encodings = self.accept_compression_encodings;
5160                    let send_compression_encodings = self.send_compression_encodings;
5161                    let max_decoding_message_size = self.max_decoding_message_size;
5162                    let max_encoding_message_size = self.max_encoding_message_size;
5163                    let inner = self.inner.clone();
5164                    let fut = async move {
5165                        let method = WaitSvc(inner);
5166                        let codec = tonic_prost::ProstCodec::default();
5167                        let mut grpc = tonic::server::Grpc::new(codec)
5168                            .apply_compression_config(
5169                                accept_compression_encodings,
5170                                send_compression_encodings,
5171                            )
5172                            .apply_max_message_size_config(
5173                                max_decoding_message_size,
5174                                max_encoding_message_size,
5175                            );
5176                        let res = grpc.unary(method, req).await;
5177                        Ok(res)
5178                    };
5179                    Box::pin(fut)
5180                }
5181                "/ddl_service.DdlService/CommentOn" => {
5182                    #[allow(non_camel_case_types)]
5183                    struct CommentOnSvc<T: DdlService>(pub Arc<T>);
5184                    impl<
5185                        T: DdlService,
5186                    > tonic::server::UnaryService<super::CommentOnRequest>
5187                    for CommentOnSvc<T> {
5188                        type Response = super::CommentOnResponse;
5189                        type Future = BoxFuture<
5190                            tonic::Response<Self::Response>,
5191                            tonic::Status,
5192                        >;
5193                        fn call(
5194                            &mut self,
5195                            request: tonic::Request<super::CommentOnRequest>,
5196                        ) -> Self::Future {
5197                            let inner = Arc::clone(&self.0);
5198                            let fut = async move {
5199                                <T as DdlService>::comment_on(&inner, request).await
5200                            };
5201                            Box::pin(fut)
5202                        }
5203                    }
5204                    let accept_compression_encodings = self.accept_compression_encodings;
5205                    let send_compression_encodings = self.send_compression_encodings;
5206                    let max_decoding_message_size = self.max_decoding_message_size;
5207                    let max_encoding_message_size = self.max_encoding_message_size;
5208                    let inner = self.inner.clone();
5209                    let fut = async move {
5210                        let method = CommentOnSvc(inner);
5211                        let codec = tonic_prost::ProstCodec::default();
5212                        let mut grpc = tonic::server::Grpc::new(codec)
5213                            .apply_compression_config(
5214                                accept_compression_encodings,
5215                                send_compression_encodings,
5216                            )
5217                            .apply_max_message_size_config(
5218                                max_decoding_message_size,
5219                                max_encoding_message_size,
5220                            );
5221                        let res = grpc.unary(method, req).await;
5222                        Ok(res)
5223                    };
5224                    Box::pin(fut)
5225                }
5226                "/ddl_service.DdlService/AutoSchemaChange" => {
5227                    #[allow(non_camel_case_types)]
5228                    struct AutoSchemaChangeSvc<T: DdlService>(pub Arc<T>);
5229                    impl<
5230                        T: DdlService,
5231                    > tonic::server::UnaryService<super::AutoSchemaChangeRequest>
5232                    for AutoSchemaChangeSvc<T> {
5233                        type Response = super::AutoSchemaChangeResponse;
5234                        type Future = BoxFuture<
5235                            tonic::Response<Self::Response>,
5236                            tonic::Status,
5237                        >;
5238                        fn call(
5239                            &mut self,
5240                            request: tonic::Request<super::AutoSchemaChangeRequest>,
5241                        ) -> Self::Future {
5242                            let inner = Arc::clone(&self.0);
5243                            let fut = async move {
5244                                <T as DdlService>::auto_schema_change(&inner, request).await
5245                            };
5246                            Box::pin(fut)
5247                        }
5248                    }
5249                    let accept_compression_encodings = self.accept_compression_encodings;
5250                    let send_compression_encodings = self.send_compression_encodings;
5251                    let max_decoding_message_size = self.max_decoding_message_size;
5252                    let max_encoding_message_size = self.max_encoding_message_size;
5253                    let inner = self.inner.clone();
5254                    let fut = async move {
5255                        let method = AutoSchemaChangeSvc(inner);
5256                        let codec = tonic_prost::ProstCodec::default();
5257                        let mut grpc = tonic::server::Grpc::new(codec)
5258                            .apply_compression_config(
5259                                accept_compression_encodings,
5260                                send_compression_encodings,
5261                            )
5262                            .apply_max_message_size_config(
5263                                max_decoding_message_size,
5264                                max_encoding_message_size,
5265                            );
5266                        let res = grpc.unary(method, req).await;
5267                        Ok(res)
5268                    };
5269                    Box::pin(fut)
5270                }
5271                "/ddl_service.DdlService/AlterSwapRename" => {
5272                    #[allow(non_camel_case_types)]
5273                    struct AlterSwapRenameSvc<T: DdlService>(pub Arc<T>);
5274                    impl<
5275                        T: DdlService,
5276                    > tonic::server::UnaryService<super::AlterSwapRenameRequest>
5277                    for AlterSwapRenameSvc<T> {
5278                        type Response = super::AlterSwapRenameResponse;
5279                        type Future = BoxFuture<
5280                            tonic::Response<Self::Response>,
5281                            tonic::Status,
5282                        >;
5283                        fn call(
5284                            &mut self,
5285                            request: tonic::Request<super::AlterSwapRenameRequest>,
5286                        ) -> Self::Future {
5287                            let inner = Arc::clone(&self.0);
5288                            let fut = async move {
5289                                <T as DdlService>::alter_swap_rename(&inner, request).await
5290                            };
5291                            Box::pin(fut)
5292                        }
5293                    }
5294                    let accept_compression_encodings = self.accept_compression_encodings;
5295                    let send_compression_encodings = self.send_compression_encodings;
5296                    let max_decoding_message_size = self.max_decoding_message_size;
5297                    let max_encoding_message_size = self.max_encoding_message_size;
5298                    let inner = self.inner.clone();
5299                    let fut = async move {
5300                        let method = AlterSwapRenameSvc(inner);
5301                        let codec = tonic_prost::ProstCodec::default();
5302                        let mut grpc = tonic::server::Grpc::new(codec)
5303                            .apply_compression_config(
5304                                accept_compression_encodings,
5305                                send_compression_encodings,
5306                            )
5307                            .apply_max_message_size_config(
5308                                max_decoding_message_size,
5309                                max_encoding_message_size,
5310                            );
5311                        let res = grpc.unary(method, req).await;
5312                        Ok(res)
5313                    };
5314                    Box::pin(fut)
5315                }
5316                "/ddl_service.DdlService/AlterDatabaseParam" => {
5317                    #[allow(non_camel_case_types)]
5318                    struct AlterDatabaseParamSvc<T: DdlService>(pub Arc<T>);
5319                    impl<
5320                        T: DdlService,
5321                    > tonic::server::UnaryService<super::AlterDatabaseParamRequest>
5322                    for AlterDatabaseParamSvc<T> {
5323                        type Response = super::AlterDatabaseParamResponse;
5324                        type Future = BoxFuture<
5325                            tonic::Response<Self::Response>,
5326                            tonic::Status,
5327                        >;
5328                        fn call(
5329                            &mut self,
5330                            request: tonic::Request<super::AlterDatabaseParamRequest>,
5331                        ) -> Self::Future {
5332                            let inner = Arc::clone(&self.0);
5333                            let fut = async move {
5334                                <T as DdlService>::alter_database_param(&inner, request)
5335                                    .await
5336                            };
5337                            Box::pin(fut)
5338                        }
5339                    }
5340                    let accept_compression_encodings = self.accept_compression_encodings;
5341                    let send_compression_encodings = self.send_compression_encodings;
5342                    let max_decoding_message_size = self.max_decoding_message_size;
5343                    let max_encoding_message_size = self.max_encoding_message_size;
5344                    let inner = self.inner.clone();
5345                    let fut = async move {
5346                        let method = AlterDatabaseParamSvc(inner);
5347                        let codec = tonic_prost::ProstCodec::default();
5348                        let mut grpc = tonic::server::Grpc::new(codec)
5349                            .apply_compression_config(
5350                                accept_compression_encodings,
5351                                send_compression_encodings,
5352                            )
5353                            .apply_max_message_size_config(
5354                                max_decoding_message_size,
5355                                max_encoding_message_size,
5356                            );
5357                        let res = grpc.unary(method, req).await;
5358                        Ok(res)
5359                    };
5360                    Box::pin(fut)
5361                }
5362                "/ddl_service.DdlService/CompactIcebergTable" => {
5363                    #[allow(non_camel_case_types)]
5364                    struct CompactIcebergTableSvc<T: DdlService>(pub Arc<T>);
5365                    impl<
5366                        T: DdlService,
5367                    > tonic::server::UnaryService<super::CompactIcebergTableRequest>
5368                    for CompactIcebergTableSvc<T> {
5369                        type Response = super::CompactIcebergTableResponse;
5370                        type Future = BoxFuture<
5371                            tonic::Response<Self::Response>,
5372                            tonic::Status,
5373                        >;
5374                        fn call(
5375                            &mut self,
5376                            request: tonic::Request<super::CompactIcebergTableRequest>,
5377                        ) -> Self::Future {
5378                            let inner = Arc::clone(&self.0);
5379                            let fut = async move {
5380                                <T as DdlService>::compact_iceberg_table(&inner, request)
5381                                    .await
5382                            };
5383                            Box::pin(fut)
5384                        }
5385                    }
5386                    let accept_compression_encodings = self.accept_compression_encodings;
5387                    let send_compression_encodings = self.send_compression_encodings;
5388                    let max_decoding_message_size = self.max_decoding_message_size;
5389                    let max_encoding_message_size = self.max_encoding_message_size;
5390                    let inner = self.inner.clone();
5391                    let fut = async move {
5392                        let method = CompactIcebergTableSvc(inner);
5393                        let codec = tonic_prost::ProstCodec::default();
5394                        let mut grpc = tonic::server::Grpc::new(codec)
5395                            .apply_compression_config(
5396                                accept_compression_encodings,
5397                                send_compression_encodings,
5398                            )
5399                            .apply_max_message_size_config(
5400                                max_decoding_message_size,
5401                                max_encoding_message_size,
5402                            );
5403                        let res = grpc.unary(method, req).await;
5404                        Ok(res)
5405                    };
5406                    Box::pin(fut)
5407                }
5408                "/ddl_service.DdlService/ExpireIcebergTableSnapshots" => {
5409                    #[allow(non_camel_case_types)]
5410                    struct ExpireIcebergTableSnapshotsSvc<T: DdlService>(pub Arc<T>);
5411                    impl<
5412                        T: DdlService,
5413                    > tonic::server::UnaryService<
5414                        super::ExpireIcebergTableSnapshotsRequest,
5415                    > for ExpireIcebergTableSnapshotsSvc<T> {
5416                        type Response = super::ExpireIcebergTableSnapshotsResponse;
5417                        type Future = BoxFuture<
5418                            tonic::Response<Self::Response>,
5419                            tonic::Status,
5420                        >;
5421                        fn call(
5422                            &mut self,
5423                            request: tonic::Request<
5424                                super::ExpireIcebergTableSnapshotsRequest,
5425                            >,
5426                        ) -> Self::Future {
5427                            let inner = Arc::clone(&self.0);
5428                            let fut = async move {
5429                                <T as DdlService>::expire_iceberg_table_snapshots(
5430                                        &inner,
5431                                        request,
5432                                    )
5433                                    .await
5434                            };
5435                            Box::pin(fut)
5436                        }
5437                    }
5438                    let accept_compression_encodings = self.accept_compression_encodings;
5439                    let send_compression_encodings = self.send_compression_encodings;
5440                    let max_decoding_message_size = self.max_decoding_message_size;
5441                    let max_encoding_message_size = self.max_encoding_message_size;
5442                    let inner = self.inner.clone();
5443                    let fut = async move {
5444                        let method = ExpireIcebergTableSnapshotsSvc(inner);
5445                        let codec = tonic_prost::ProstCodec::default();
5446                        let mut grpc = tonic::server::Grpc::new(codec)
5447                            .apply_compression_config(
5448                                accept_compression_encodings,
5449                                send_compression_encodings,
5450                            )
5451                            .apply_max_message_size_config(
5452                                max_decoding_message_size,
5453                                max_encoding_message_size,
5454                            );
5455                        let res = grpc.unary(method, req).await;
5456                        Ok(res)
5457                    };
5458                    Box::pin(fut)
5459                }
5460                "/ddl_service.DdlService/AlterCdcTableBackfillParallelism" => {
5461                    #[allow(non_camel_case_types)]
5462                    struct AlterCdcTableBackfillParallelismSvc<T: DdlService>(
5463                        pub Arc<T>,
5464                    );
5465                    impl<
5466                        T: DdlService,
5467                    > tonic::server::UnaryService<
5468                        super::AlterCdcTableBackfillParallelismRequest,
5469                    > for AlterCdcTableBackfillParallelismSvc<T> {
5470                        type Response = super::AlterCdcTableBackfillParallelismResponse;
5471                        type Future = BoxFuture<
5472                            tonic::Response<Self::Response>,
5473                            tonic::Status,
5474                        >;
5475                        fn call(
5476                            &mut self,
5477                            request: tonic::Request<
5478                                super::AlterCdcTableBackfillParallelismRequest,
5479                            >,
5480                        ) -> Self::Future {
5481                            let inner = Arc::clone(&self.0);
5482                            let fut = async move {
5483                                <T as DdlService>::alter_cdc_table_backfill_parallelism(
5484                                        &inner,
5485                                        request,
5486                                    )
5487                                    .await
5488                            };
5489                            Box::pin(fut)
5490                        }
5491                    }
5492                    let accept_compression_encodings = self.accept_compression_encodings;
5493                    let send_compression_encodings = self.send_compression_encodings;
5494                    let max_decoding_message_size = self.max_decoding_message_size;
5495                    let max_encoding_message_size = self.max_encoding_message_size;
5496                    let inner = self.inner.clone();
5497                    let fut = async move {
5498                        let method = AlterCdcTableBackfillParallelismSvc(inner);
5499                        let codec = tonic_prost::ProstCodec::default();
5500                        let mut grpc = tonic::server::Grpc::new(codec)
5501                            .apply_compression_config(
5502                                accept_compression_encodings,
5503                                send_compression_encodings,
5504                            )
5505                            .apply_max_message_size_config(
5506                                max_decoding_message_size,
5507                                max_encoding_message_size,
5508                            );
5509                        let res = grpc.unary(method, req).await;
5510                        Ok(res)
5511                    };
5512                    Box::pin(fut)
5513                }
5514                "/ddl_service.DdlService/AlterStreamingJobConfig" => {
5515                    #[allow(non_camel_case_types)]
5516                    struct AlterStreamingJobConfigSvc<T: DdlService>(pub Arc<T>);
5517                    impl<
5518                        T: DdlService,
5519                    > tonic::server::UnaryService<super::AlterStreamingJobConfigRequest>
5520                    for AlterStreamingJobConfigSvc<T> {
5521                        type Response = super::AlterStreamingJobConfigResponse;
5522                        type Future = BoxFuture<
5523                            tonic::Response<Self::Response>,
5524                            tonic::Status,
5525                        >;
5526                        fn call(
5527                            &mut self,
5528                            request: tonic::Request<
5529                                super::AlterStreamingJobConfigRequest,
5530                            >,
5531                        ) -> Self::Future {
5532                            let inner = Arc::clone(&self.0);
5533                            let fut = async move {
5534                                <T as DdlService>::alter_streaming_job_config(
5535                                        &inner,
5536                                        request,
5537                                    )
5538                                    .await
5539                            };
5540                            Box::pin(fut)
5541                        }
5542                    }
5543                    let accept_compression_encodings = self.accept_compression_encodings;
5544                    let send_compression_encodings = self.send_compression_encodings;
5545                    let max_decoding_message_size = self.max_decoding_message_size;
5546                    let max_encoding_message_size = self.max_encoding_message_size;
5547                    let inner = self.inner.clone();
5548                    let fut = async move {
5549                        let method = AlterStreamingJobConfigSvc(inner);
5550                        let codec = tonic_prost::ProstCodec::default();
5551                        let mut grpc = tonic::server::Grpc::new(codec)
5552                            .apply_compression_config(
5553                                accept_compression_encodings,
5554                                send_compression_encodings,
5555                            )
5556                            .apply_max_message_size_config(
5557                                max_decoding_message_size,
5558                                max_encoding_message_size,
5559                            );
5560                        let res = grpc.unary(method, req).await;
5561                        Ok(res)
5562                    };
5563                    Box::pin(fut)
5564                }
5565                _ => {
5566                    Box::pin(async move {
5567                        let mut response = http::Response::new(
5568                            tonic::body::Body::default(),
5569                        );
5570                        let headers = response.headers_mut();
5571                        headers
5572                            .insert(
5573                                tonic::Status::GRPC_STATUS,
5574                                (tonic::Code::Unimplemented as i32).into(),
5575                            );
5576                        headers
5577                            .insert(
5578                                http::header::CONTENT_TYPE,
5579                                tonic::metadata::GRPC_CONTENT_TYPE,
5580                            );
5581                        Ok(response)
5582                    })
5583                }
5584            }
5585        }
5586    }
5587    impl<T> Clone for DdlServiceServer<T> {
5588        fn clone(&self) -> Self {
5589            let inner = self.inner.clone();
5590            Self {
5591                inner,
5592                accept_compression_encodings: self.accept_compression_encodings,
5593                send_compression_encodings: self.send_compression_encodings,
5594                max_decoding_message_size: self.max_decoding_message_size,
5595                max_encoding_message_size: self.max_encoding_message_size,
5596            }
5597        }
5598    }
5599    /// Generated gRPC service name
5600    pub const SERVICE_NAME: &str = "ddl_service.DdlService";
5601    impl<T> tonic::server::NamedService for DdlServiceServer<T> {
5602        const NAME: &'static str = SERVICE_NAME;
5603    }
5604}