risingwave_pb/
common.serde.rs

1#![allow(clippy::useless_conversion)]
2use crate::common::*;
3impl serde::Serialize for ActorInfo {
4    #[allow(deprecated)]
5    fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
6    where
7        S: serde::Serializer,
8    {
9        use serde::ser::SerializeStruct;
10        let mut len = 0;
11        if self.actor_id != 0 {
12            len += 1;
13        }
14        if self.host.is_some() {
15            len += 1;
16        }
17        if self.partial_graph_id != 0 {
18            len += 1;
19        }
20        let mut struct_ser = serializer.serialize_struct("common.ActorInfo", len)?;
21        if self.actor_id != 0 {
22            struct_ser.serialize_field("actorId", &self.actor_id)?;
23        }
24        if let Some(v) = self.host.as_ref() {
25            struct_ser.serialize_field("host", v)?;
26        }
27        if self.partial_graph_id != 0 {
28            #[allow(clippy::needless_borrow)]
29            #[allow(clippy::needless_borrows_for_generic_args)]
30            struct_ser.serialize_field("partialGraphId", ToString::to_string(&self.partial_graph_id).as_str())?;
31        }
32        struct_ser.end()
33    }
34}
35impl<'de> serde::Deserialize<'de> for ActorInfo {
36    #[allow(deprecated)]
37    fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
38    where
39        D: serde::Deserializer<'de>,
40    {
41        const FIELDS: &[&str] = &[
42            "actor_id",
43            "actorId",
44            "host",
45            "partial_graph_id",
46            "partialGraphId",
47        ];
48
49        #[allow(clippy::enum_variant_names)]
50        enum GeneratedField {
51            ActorId,
52            Host,
53            PartialGraphId,
54        }
55        impl<'de> serde::Deserialize<'de> for GeneratedField {
56            fn deserialize<D>(deserializer: D) -> std::result::Result<GeneratedField, D::Error>
57            where
58                D: serde::Deserializer<'de>,
59            {
60                struct GeneratedVisitor;
61
62                impl serde::de::Visitor<'_> for GeneratedVisitor {
63                    type Value = GeneratedField;
64
65                    fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
66                        write!(formatter, "expected one of: {:?}", &FIELDS)
67                    }
68
69                    #[allow(unused_variables)]
70                    fn visit_str<E>(self, value: &str) -> std::result::Result<GeneratedField, E>
71                    where
72                        E: serde::de::Error,
73                    {
74                        match value {
75                            "actorId" | "actor_id" => Ok(GeneratedField::ActorId),
76                            "host" => Ok(GeneratedField::Host),
77                            "partialGraphId" | "partial_graph_id" => Ok(GeneratedField::PartialGraphId),
78                            _ => Err(serde::de::Error::unknown_field(value, FIELDS)),
79                        }
80                    }
81                }
82                deserializer.deserialize_identifier(GeneratedVisitor)
83            }
84        }
85        struct GeneratedVisitor;
86        impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
87            type Value = ActorInfo;
88
89            fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
90                formatter.write_str("struct common.ActorInfo")
91            }
92
93            fn visit_map<V>(self, mut map_: V) -> std::result::Result<ActorInfo, V::Error>
94                where
95                    V: serde::de::MapAccess<'de>,
96            {
97                let mut actor_id__ = None;
98                let mut host__ = None;
99                let mut partial_graph_id__ = None;
100                while let Some(k) = map_.next_key()? {
101                    match k {
102                        GeneratedField::ActorId => {
103                            if actor_id__.is_some() {
104                                return Err(serde::de::Error::duplicate_field("actorId"));
105                            }
106                            actor_id__ = 
107                                Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0)
108                            ;
109                        }
110                        GeneratedField::Host => {
111                            if host__.is_some() {
112                                return Err(serde::de::Error::duplicate_field("host"));
113                            }
114                            host__ = map_.next_value()?;
115                        }
116                        GeneratedField::PartialGraphId => {
117                            if partial_graph_id__.is_some() {
118                                return Err(serde::de::Error::duplicate_field("partialGraphId"));
119                            }
120                            partial_graph_id__ = 
121                                Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0)
122                            ;
123                        }
124                    }
125                }
126                Ok(ActorInfo {
127                    actor_id: actor_id__.unwrap_or_default(),
128                    host: host__,
129                    partial_graph_id: partial_graph_id__.unwrap_or_default(),
130                })
131            }
132        }
133        deserializer.deserialize_struct("common.ActorInfo", FIELDS, GeneratedVisitor)
134    }
135}
136impl serde::Serialize for ActorLocation {
137    #[allow(deprecated)]
138    fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
139    where
140        S: serde::Serializer,
141    {
142        use serde::ser::SerializeStruct;
143        let mut len = 0;
144        if self.worker_node_id != 0 {
145            len += 1;
146        }
147        let mut struct_ser = serializer.serialize_struct("common.ActorLocation", len)?;
148        if self.worker_node_id != 0 {
149            struct_ser.serialize_field("workerNodeId", &self.worker_node_id)?;
150        }
151        struct_ser.end()
152    }
153}
154impl<'de> serde::Deserialize<'de> for ActorLocation {
155    #[allow(deprecated)]
156    fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
157    where
158        D: serde::Deserializer<'de>,
159    {
160        const FIELDS: &[&str] = &[
161            "worker_node_id",
162            "workerNodeId",
163        ];
164
165        #[allow(clippy::enum_variant_names)]
166        enum GeneratedField {
167            WorkerNodeId,
168        }
169        impl<'de> serde::Deserialize<'de> for GeneratedField {
170            fn deserialize<D>(deserializer: D) -> std::result::Result<GeneratedField, D::Error>
171            where
172                D: serde::Deserializer<'de>,
173            {
174                struct GeneratedVisitor;
175
176                impl serde::de::Visitor<'_> for GeneratedVisitor {
177                    type Value = GeneratedField;
178
179                    fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
180                        write!(formatter, "expected one of: {:?}", &FIELDS)
181                    }
182
183                    #[allow(unused_variables)]
184                    fn visit_str<E>(self, value: &str) -> std::result::Result<GeneratedField, E>
185                    where
186                        E: serde::de::Error,
187                    {
188                        match value {
189                            "workerNodeId" | "worker_node_id" => Ok(GeneratedField::WorkerNodeId),
190                            _ => Err(serde::de::Error::unknown_field(value, FIELDS)),
191                        }
192                    }
193                }
194                deserializer.deserialize_identifier(GeneratedVisitor)
195            }
196        }
197        struct GeneratedVisitor;
198        impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
199            type Value = ActorLocation;
200
201            fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
202                formatter.write_str("struct common.ActorLocation")
203            }
204
205            fn visit_map<V>(self, mut map_: V) -> std::result::Result<ActorLocation, V::Error>
206                where
207                    V: serde::de::MapAccess<'de>,
208            {
209                let mut worker_node_id__ = None;
210                while let Some(k) = map_.next_key()? {
211                    match k {
212                        GeneratedField::WorkerNodeId => {
213                            if worker_node_id__.is_some() {
214                                return Err(serde::de::Error::duplicate_field("workerNodeId"));
215                            }
216                            worker_node_id__ = 
217                                Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0)
218                            ;
219                        }
220                    }
221                }
222                Ok(ActorLocation {
223                    worker_node_id: worker_node_id__.unwrap_or_default(),
224                })
225            }
226        }
227        deserializer.deserialize_struct("common.ActorLocation", FIELDS, GeneratedVisitor)
228    }
229}
230impl serde::Serialize for BatchQueryCommittedEpoch {
231    #[allow(deprecated)]
232    fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
233    where
234        S: serde::Serializer,
235    {
236        use serde::ser::SerializeStruct;
237        let mut len = 0;
238        if self.epoch != 0 {
239            len += 1;
240        }
241        if self.hummock_version_id != 0 {
242            len += 1;
243        }
244        let mut struct_ser = serializer.serialize_struct("common.BatchQueryCommittedEpoch", len)?;
245        if self.epoch != 0 {
246            #[allow(clippy::needless_borrow)]
247            #[allow(clippy::needless_borrows_for_generic_args)]
248            struct_ser.serialize_field("epoch", ToString::to_string(&self.epoch).as_str())?;
249        }
250        if self.hummock_version_id != 0 {
251            #[allow(clippy::needless_borrow)]
252            #[allow(clippy::needless_borrows_for_generic_args)]
253            struct_ser.serialize_field("hummockVersionId", ToString::to_string(&self.hummock_version_id).as_str())?;
254        }
255        struct_ser.end()
256    }
257}
258impl<'de> serde::Deserialize<'de> for BatchQueryCommittedEpoch {
259    #[allow(deprecated)]
260    fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
261    where
262        D: serde::Deserializer<'de>,
263    {
264        const FIELDS: &[&str] = &[
265            "epoch",
266            "hummock_version_id",
267            "hummockVersionId",
268        ];
269
270        #[allow(clippy::enum_variant_names)]
271        enum GeneratedField {
272            Epoch,
273            HummockVersionId,
274        }
275        impl<'de> serde::Deserialize<'de> for GeneratedField {
276            fn deserialize<D>(deserializer: D) -> std::result::Result<GeneratedField, D::Error>
277            where
278                D: serde::Deserializer<'de>,
279            {
280                struct GeneratedVisitor;
281
282                impl serde::de::Visitor<'_> for GeneratedVisitor {
283                    type Value = GeneratedField;
284
285                    fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
286                        write!(formatter, "expected one of: {:?}", &FIELDS)
287                    }
288
289                    #[allow(unused_variables)]
290                    fn visit_str<E>(self, value: &str) -> std::result::Result<GeneratedField, E>
291                    where
292                        E: serde::de::Error,
293                    {
294                        match value {
295                            "epoch" => Ok(GeneratedField::Epoch),
296                            "hummockVersionId" | "hummock_version_id" => Ok(GeneratedField::HummockVersionId),
297                            _ => Err(serde::de::Error::unknown_field(value, FIELDS)),
298                        }
299                    }
300                }
301                deserializer.deserialize_identifier(GeneratedVisitor)
302            }
303        }
304        struct GeneratedVisitor;
305        impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
306            type Value = BatchQueryCommittedEpoch;
307
308            fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
309                formatter.write_str("struct common.BatchQueryCommittedEpoch")
310            }
311
312            fn visit_map<V>(self, mut map_: V) -> std::result::Result<BatchQueryCommittedEpoch, V::Error>
313                where
314                    V: serde::de::MapAccess<'de>,
315            {
316                let mut epoch__ = None;
317                let mut hummock_version_id__ = None;
318                while let Some(k) = map_.next_key()? {
319                    match k {
320                        GeneratedField::Epoch => {
321                            if epoch__.is_some() {
322                                return Err(serde::de::Error::duplicate_field("epoch"));
323                            }
324                            epoch__ = 
325                                Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0)
326                            ;
327                        }
328                        GeneratedField::HummockVersionId => {
329                            if hummock_version_id__.is_some() {
330                                return Err(serde::de::Error::duplicate_field("hummockVersionId"));
331                            }
332                            hummock_version_id__ = 
333                                Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0)
334                            ;
335                        }
336                    }
337                }
338                Ok(BatchQueryCommittedEpoch {
339                    epoch: epoch__.unwrap_or_default(),
340                    hummock_version_id: hummock_version_id__.unwrap_or_default(),
341                })
342            }
343        }
344        deserializer.deserialize_struct("common.BatchQueryCommittedEpoch", FIELDS, GeneratedVisitor)
345    }
346}
347impl serde::Serialize for BatchQueryEpoch {
348    #[allow(deprecated)]
349    fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
350    where
351        S: serde::Serializer,
352    {
353        use serde::ser::SerializeStruct;
354        let mut len = 0;
355        if self.epoch.is_some() {
356            len += 1;
357        }
358        let mut struct_ser = serializer.serialize_struct("common.BatchQueryEpoch", len)?;
359        if let Some(v) = self.epoch.as_ref() {
360            match v {
361                batch_query_epoch::Epoch::Committed(v) => {
362                    struct_ser.serialize_field("committed", v)?;
363                }
364                batch_query_epoch::Epoch::Current(v) => {
365                    #[allow(clippy::needless_borrow)]
366                    #[allow(clippy::needless_borrows_for_generic_args)]
367                    struct_ser.serialize_field("current", ToString::to_string(&v).as_str())?;
368                }
369                batch_query_epoch::Epoch::Backup(v) => {
370                    #[allow(clippy::needless_borrow)]
371                    #[allow(clippy::needless_borrows_for_generic_args)]
372                    struct_ser.serialize_field("backup", ToString::to_string(&v).as_str())?;
373                }
374                batch_query_epoch::Epoch::TimeTravel(v) => {
375                    #[allow(clippy::needless_borrow)]
376                    #[allow(clippy::needless_borrows_for_generic_args)]
377                    struct_ser.serialize_field("timeTravel", ToString::to_string(&v).as_str())?;
378                }
379            }
380        }
381        struct_ser.end()
382    }
383}
384impl<'de> serde::Deserialize<'de> for BatchQueryEpoch {
385    #[allow(deprecated)]
386    fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
387    where
388        D: serde::Deserializer<'de>,
389    {
390        const FIELDS: &[&str] = &[
391            "committed",
392            "current",
393            "backup",
394            "time_travel",
395            "timeTravel",
396        ];
397
398        #[allow(clippy::enum_variant_names)]
399        enum GeneratedField {
400            Committed,
401            Current,
402            Backup,
403            TimeTravel,
404        }
405        impl<'de> serde::Deserialize<'de> for GeneratedField {
406            fn deserialize<D>(deserializer: D) -> std::result::Result<GeneratedField, D::Error>
407            where
408                D: serde::Deserializer<'de>,
409            {
410                struct GeneratedVisitor;
411
412                impl serde::de::Visitor<'_> for GeneratedVisitor {
413                    type Value = GeneratedField;
414
415                    fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
416                        write!(formatter, "expected one of: {:?}", &FIELDS)
417                    }
418
419                    #[allow(unused_variables)]
420                    fn visit_str<E>(self, value: &str) -> std::result::Result<GeneratedField, E>
421                    where
422                        E: serde::de::Error,
423                    {
424                        match value {
425                            "committed" => Ok(GeneratedField::Committed),
426                            "current" => Ok(GeneratedField::Current),
427                            "backup" => Ok(GeneratedField::Backup),
428                            "timeTravel" | "time_travel" => Ok(GeneratedField::TimeTravel),
429                            _ => Err(serde::de::Error::unknown_field(value, FIELDS)),
430                        }
431                    }
432                }
433                deserializer.deserialize_identifier(GeneratedVisitor)
434            }
435        }
436        struct GeneratedVisitor;
437        impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
438            type Value = BatchQueryEpoch;
439
440            fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
441                formatter.write_str("struct common.BatchQueryEpoch")
442            }
443
444            fn visit_map<V>(self, mut map_: V) -> std::result::Result<BatchQueryEpoch, V::Error>
445                where
446                    V: serde::de::MapAccess<'de>,
447            {
448                let mut epoch__ = None;
449                while let Some(k) = map_.next_key()? {
450                    match k {
451                        GeneratedField::Committed => {
452                            if epoch__.is_some() {
453                                return Err(serde::de::Error::duplicate_field("committed"));
454                            }
455                            epoch__ = map_.next_value::<::std::option::Option<_>>()?.map(batch_query_epoch::Epoch::Committed)
456;
457                        }
458                        GeneratedField::Current => {
459                            if epoch__.is_some() {
460                                return Err(serde::de::Error::duplicate_field("current"));
461                            }
462                            epoch__ = map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| batch_query_epoch::Epoch::Current(x.0));
463                        }
464                        GeneratedField::Backup => {
465                            if epoch__.is_some() {
466                                return Err(serde::de::Error::duplicate_field("backup"));
467                            }
468                            epoch__ = map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| batch_query_epoch::Epoch::Backup(x.0));
469                        }
470                        GeneratedField::TimeTravel => {
471                            if epoch__.is_some() {
472                                return Err(serde::de::Error::duplicate_field("timeTravel"));
473                            }
474                            epoch__ = map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| batch_query_epoch::Epoch::TimeTravel(x.0));
475                        }
476                    }
477                }
478                Ok(BatchQueryEpoch {
479                    epoch: epoch__,
480                })
481            }
482        }
483        deserializer.deserialize_struct("common.BatchQueryEpoch", FIELDS, GeneratedVisitor)
484    }
485}
486impl serde::Serialize for Buffer {
487    #[allow(deprecated)]
488    fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
489    where
490        S: serde::Serializer,
491    {
492        use serde::ser::SerializeStruct;
493        let mut len = 0;
494        if self.compression != 0 {
495            len += 1;
496        }
497        if !self.body.is_empty() {
498            len += 1;
499        }
500        let mut struct_ser = serializer.serialize_struct("common.Buffer", len)?;
501        if self.compression != 0 {
502            let v = buffer::CompressionType::try_from(self.compression)
503                .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.compression)))?;
504            struct_ser.serialize_field("compression", &v)?;
505        }
506        if !self.body.is_empty() {
507            #[allow(clippy::needless_borrow)]
508            #[allow(clippy::needless_borrows_for_generic_args)]
509            struct_ser.serialize_field("body", pbjson::private::base64::encode(&self.body).as_str())?;
510        }
511        struct_ser.end()
512    }
513}
514impl<'de> serde::Deserialize<'de> for Buffer {
515    #[allow(deprecated)]
516    fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
517    where
518        D: serde::Deserializer<'de>,
519    {
520        const FIELDS: &[&str] = &[
521            "compression",
522            "body",
523        ];
524
525        #[allow(clippy::enum_variant_names)]
526        enum GeneratedField {
527            Compression,
528            Body,
529        }
530        impl<'de> serde::Deserialize<'de> for GeneratedField {
531            fn deserialize<D>(deserializer: D) -> std::result::Result<GeneratedField, D::Error>
532            where
533                D: serde::Deserializer<'de>,
534            {
535                struct GeneratedVisitor;
536
537                impl serde::de::Visitor<'_> for GeneratedVisitor {
538                    type Value = GeneratedField;
539
540                    fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
541                        write!(formatter, "expected one of: {:?}", &FIELDS)
542                    }
543
544                    #[allow(unused_variables)]
545                    fn visit_str<E>(self, value: &str) -> std::result::Result<GeneratedField, E>
546                    where
547                        E: serde::de::Error,
548                    {
549                        match value {
550                            "compression" => Ok(GeneratedField::Compression),
551                            "body" => Ok(GeneratedField::Body),
552                            _ => Err(serde::de::Error::unknown_field(value, FIELDS)),
553                        }
554                    }
555                }
556                deserializer.deserialize_identifier(GeneratedVisitor)
557            }
558        }
559        struct GeneratedVisitor;
560        impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
561            type Value = Buffer;
562
563            fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
564                formatter.write_str("struct common.Buffer")
565            }
566
567            fn visit_map<V>(self, mut map_: V) -> std::result::Result<Buffer, V::Error>
568                where
569                    V: serde::de::MapAccess<'de>,
570            {
571                let mut compression__ = None;
572                let mut body__ = None;
573                while let Some(k) = map_.next_key()? {
574                    match k {
575                        GeneratedField::Compression => {
576                            if compression__.is_some() {
577                                return Err(serde::de::Error::duplicate_field("compression"));
578                            }
579                            compression__ = Some(map_.next_value::<buffer::CompressionType>()? as i32);
580                        }
581                        GeneratedField::Body => {
582                            if body__.is_some() {
583                                return Err(serde::de::Error::duplicate_field("body"));
584                            }
585                            body__ = 
586                                Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0)
587                            ;
588                        }
589                    }
590                }
591                Ok(Buffer {
592                    compression: compression__.unwrap_or_default(),
593                    body: body__.unwrap_or_default(),
594                })
595            }
596        }
597        deserializer.deserialize_struct("common.Buffer", FIELDS, GeneratedVisitor)
598    }
599}
600impl serde::Serialize for buffer::CompressionType {
601    #[allow(deprecated)]
602    fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
603    where
604        S: serde::Serializer,
605    {
606        let variant = match self {
607            Self::Unspecified => "UNSPECIFIED",
608            Self::None => "NONE",
609        };
610        serializer.serialize_str(variant)
611    }
612}
613impl<'de> serde::Deserialize<'de> for buffer::CompressionType {
614    #[allow(deprecated)]
615    fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
616    where
617        D: serde::Deserializer<'de>,
618    {
619        const FIELDS: &[&str] = &[
620            "UNSPECIFIED",
621            "NONE",
622        ];
623
624        struct GeneratedVisitor;
625
626        impl serde::de::Visitor<'_> for GeneratedVisitor {
627            type Value = buffer::CompressionType;
628
629            fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
630                write!(formatter, "expected one of: {:?}", &FIELDS)
631            }
632
633            fn visit_i64<E>(self, v: i64) -> std::result::Result<Self::Value, E>
634            where
635                E: serde::de::Error,
636            {
637                i32::try_from(v)
638                    .ok()
639                    .and_then(|x| x.try_into().ok())
640                    .ok_or_else(|| {
641                        serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self)
642                    })
643            }
644
645            fn visit_u64<E>(self, v: u64) -> std::result::Result<Self::Value, E>
646            where
647                E: serde::de::Error,
648            {
649                i32::try_from(v)
650                    .ok()
651                    .and_then(|x| x.try_into().ok())
652                    .ok_or_else(|| {
653                        serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self)
654                    })
655            }
656
657            fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
658            where
659                E: serde::de::Error,
660            {
661                match value {
662                    "UNSPECIFIED" => Ok(buffer::CompressionType::Unspecified),
663                    "NONE" => Ok(buffer::CompressionType::None),
664                    _ => Err(serde::de::Error::unknown_variant(value, FIELDS)),
665                }
666            }
667        }
668        deserializer.deserialize_any(GeneratedVisitor)
669    }
670}
671impl serde::Serialize for ClusterResource {
672    #[allow(deprecated)]
673    fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
674    where
675        S: serde::Serializer,
676    {
677        use serde::ser::SerializeStruct;
678        let mut len = 0;
679        if self.total_memory_bytes != 0 {
680            len += 1;
681        }
682        if self.total_cpu_cores != 0 {
683            len += 1;
684        }
685        let mut struct_ser = serializer.serialize_struct("common.ClusterResource", len)?;
686        if self.total_memory_bytes != 0 {
687            #[allow(clippy::needless_borrow)]
688            #[allow(clippy::needless_borrows_for_generic_args)]
689            struct_ser.serialize_field("totalMemoryBytes", ToString::to_string(&self.total_memory_bytes).as_str())?;
690        }
691        if self.total_cpu_cores != 0 {
692            #[allow(clippy::needless_borrow)]
693            #[allow(clippy::needless_borrows_for_generic_args)]
694            struct_ser.serialize_field("totalCpuCores", ToString::to_string(&self.total_cpu_cores).as_str())?;
695        }
696        struct_ser.end()
697    }
698}
699impl<'de> serde::Deserialize<'de> for ClusterResource {
700    #[allow(deprecated)]
701    fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
702    where
703        D: serde::Deserializer<'de>,
704    {
705        const FIELDS: &[&str] = &[
706            "total_memory_bytes",
707            "totalMemoryBytes",
708            "total_cpu_cores",
709            "totalCpuCores",
710        ];
711
712        #[allow(clippy::enum_variant_names)]
713        enum GeneratedField {
714            TotalMemoryBytes,
715            TotalCpuCores,
716        }
717        impl<'de> serde::Deserialize<'de> for GeneratedField {
718            fn deserialize<D>(deserializer: D) -> std::result::Result<GeneratedField, D::Error>
719            where
720                D: serde::Deserializer<'de>,
721            {
722                struct GeneratedVisitor;
723
724                impl serde::de::Visitor<'_> for GeneratedVisitor {
725                    type Value = GeneratedField;
726
727                    fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
728                        write!(formatter, "expected one of: {:?}", &FIELDS)
729                    }
730
731                    #[allow(unused_variables)]
732                    fn visit_str<E>(self, value: &str) -> std::result::Result<GeneratedField, E>
733                    where
734                        E: serde::de::Error,
735                    {
736                        match value {
737                            "totalMemoryBytes" | "total_memory_bytes" => Ok(GeneratedField::TotalMemoryBytes),
738                            "totalCpuCores" | "total_cpu_cores" => Ok(GeneratedField::TotalCpuCores),
739                            _ => Err(serde::de::Error::unknown_field(value, FIELDS)),
740                        }
741                    }
742                }
743                deserializer.deserialize_identifier(GeneratedVisitor)
744            }
745        }
746        struct GeneratedVisitor;
747        impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
748            type Value = ClusterResource;
749
750            fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
751                formatter.write_str("struct common.ClusterResource")
752            }
753
754            fn visit_map<V>(self, mut map_: V) -> std::result::Result<ClusterResource, V::Error>
755                where
756                    V: serde::de::MapAccess<'de>,
757            {
758                let mut total_memory_bytes__ = None;
759                let mut total_cpu_cores__ = None;
760                while let Some(k) = map_.next_key()? {
761                    match k {
762                        GeneratedField::TotalMemoryBytes => {
763                            if total_memory_bytes__.is_some() {
764                                return Err(serde::de::Error::duplicate_field("totalMemoryBytes"));
765                            }
766                            total_memory_bytes__ = 
767                                Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0)
768                            ;
769                        }
770                        GeneratedField::TotalCpuCores => {
771                            if total_cpu_cores__.is_some() {
772                                return Err(serde::de::Error::duplicate_field("totalCpuCores"));
773                            }
774                            total_cpu_cores__ = 
775                                Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0)
776                            ;
777                        }
778                    }
779                }
780                Ok(ClusterResource {
781                    total_memory_bytes: total_memory_bytes__.unwrap_or_default(),
782                    total_cpu_cores: total_cpu_cores__.unwrap_or_default(),
783                })
784            }
785        }
786        deserializer.deserialize_struct("common.ClusterResource", FIELDS, GeneratedVisitor)
787    }
788}
789impl serde::Serialize for ColumnOrder {
790    #[allow(deprecated)]
791    fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
792    where
793        S: serde::Serializer,
794    {
795        use serde::ser::SerializeStruct;
796        let mut len = 0;
797        if self.column_index != 0 {
798            len += 1;
799        }
800        if self.order_type.is_some() {
801            len += 1;
802        }
803        let mut struct_ser = serializer.serialize_struct("common.ColumnOrder", len)?;
804        if self.column_index != 0 {
805            struct_ser.serialize_field("columnIndex", &self.column_index)?;
806        }
807        if let Some(v) = self.order_type.as_ref() {
808            struct_ser.serialize_field("orderType", v)?;
809        }
810        struct_ser.end()
811    }
812}
813impl<'de> serde::Deserialize<'de> for ColumnOrder {
814    #[allow(deprecated)]
815    fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
816    where
817        D: serde::Deserializer<'de>,
818    {
819        const FIELDS: &[&str] = &[
820            "column_index",
821            "columnIndex",
822            "order_type",
823            "orderType",
824        ];
825
826        #[allow(clippy::enum_variant_names)]
827        enum GeneratedField {
828            ColumnIndex,
829            OrderType,
830        }
831        impl<'de> serde::Deserialize<'de> for GeneratedField {
832            fn deserialize<D>(deserializer: D) -> std::result::Result<GeneratedField, D::Error>
833            where
834                D: serde::Deserializer<'de>,
835            {
836                struct GeneratedVisitor;
837
838                impl serde::de::Visitor<'_> for GeneratedVisitor {
839                    type Value = GeneratedField;
840
841                    fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
842                        write!(formatter, "expected one of: {:?}", &FIELDS)
843                    }
844
845                    #[allow(unused_variables)]
846                    fn visit_str<E>(self, value: &str) -> std::result::Result<GeneratedField, E>
847                    where
848                        E: serde::de::Error,
849                    {
850                        match value {
851                            "columnIndex" | "column_index" => Ok(GeneratedField::ColumnIndex),
852                            "orderType" | "order_type" => Ok(GeneratedField::OrderType),
853                            _ => Err(serde::de::Error::unknown_field(value, FIELDS)),
854                        }
855                    }
856                }
857                deserializer.deserialize_identifier(GeneratedVisitor)
858            }
859        }
860        struct GeneratedVisitor;
861        impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
862            type Value = ColumnOrder;
863
864            fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
865                formatter.write_str("struct common.ColumnOrder")
866            }
867
868            fn visit_map<V>(self, mut map_: V) -> std::result::Result<ColumnOrder, V::Error>
869                where
870                    V: serde::de::MapAccess<'de>,
871            {
872                let mut column_index__ = None;
873                let mut order_type__ = None;
874                while let Some(k) = map_.next_key()? {
875                    match k {
876                        GeneratedField::ColumnIndex => {
877                            if column_index__.is_some() {
878                                return Err(serde::de::Error::duplicate_field("columnIndex"));
879                            }
880                            column_index__ = 
881                                Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0)
882                            ;
883                        }
884                        GeneratedField::OrderType => {
885                            if order_type__.is_some() {
886                                return Err(serde::de::Error::duplicate_field("orderType"));
887                            }
888                            order_type__ = map_.next_value()?;
889                        }
890                    }
891                }
892                Ok(ColumnOrder {
893                    column_index: column_index__.unwrap_or_default(),
894                    order_type: order_type__,
895                })
896            }
897        }
898        deserializer.deserialize_struct("common.ColumnOrder", FIELDS, GeneratedVisitor)
899    }
900}
901impl serde::Serialize for Direction {
902    #[allow(deprecated)]
903    fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
904    where
905        S: serde::Serializer,
906    {
907        let variant = match self {
908            Self::Unspecified => "DIRECTION_UNSPECIFIED",
909            Self::Ascending => "DIRECTION_ASCENDING",
910            Self::Descending => "DIRECTION_DESCENDING",
911        };
912        serializer.serialize_str(variant)
913    }
914}
915impl<'de> serde::Deserialize<'de> for Direction {
916    #[allow(deprecated)]
917    fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
918    where
919        D: serde::Deserializer<'de>,
920    {
921        const FIELDS: &[&str] = &[
922            "DIRECTION_UNSPECIFIED",
923            "DIRECTION_ASCENDING",
924            "DIRECTION_DESCENDING",
925        ];
926
927        struct GeneratedVisitor;
928
929        impl serde::de::Visitor<'_> for GeneratedVisitor {
930            type Value = Direction;
931
932            fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
933                write!(formatter, "expected one of: {:?}", &FIELDS)
934            }
935
936            fn visit_i64<E>(self, v: i64) -> std::result::Result<Self::Value, E>
937            where
938                E: serde::de::Error,
939            {
940                i32::try_from(v)
941                    .ok()
942                    .and_then(|x| x.try_into().ok())
943                    .ok_or_else(|| {
944                        serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self)
945                    })
946            }
947
948            fn visit_u64<E>(self, v: u64) -> std::result::Result<Self::Value, E>
949            where
950                E: serde::de::Error,
951            {
952                i32::try_from(v)
953                    .ok()
954                    .and_then(|x| x.try_into().ok())
955                    .ok_or_else(|| {
956                        serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self)
957                    })
958            }
959
960            fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
961            where
962                E: serde::de::Error,
963            {
964                match value {
965                    "DIRECTION_UNSPECIFIED" => Ok(Direction::Unspecified),
966                    "DIRECTION_ASCENDING" => Ok(Direction::Ascending),
967                    "DIRECTION_DESCENDING" => Ok(Direction::Descending),
968                    _ => Err(serde::de::Error::unknown_variant(value, FIELDS)),
969                }
970            }
971        }
972        deserializer.deserialize_any(GeneratedVisitor)
973    }
974}
975impl serde::Serialize for DistanceType {
976    #[allow(deprecated)]
977    fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
978    where
979        S: serde::Serializer,
980    {
981        let variant = match self {
982            Self::Unspecified => "DISTANCE_TYPE_UNSPECIFIED",
983            Self::L1 => "DISTANCE_TYPE_L1",
984            Self::L2Sqr => "DISTANCE_TYPE_L2_SQR",
985            Self::Cosine => "DISTANCE_TYPE_COSINE",
986            Self::InnerProduct => "DISTANCE_TYPE_INNER_PRODUCT",
987        };
988        serializer.serialize_str(variant)
989    }
990}
991impl<'de> serde::Deserialize<'de> for DistanceType {
992    #[allow(deprecated)]
993    fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
994    where
995        D: serde::Deserializer<'de>,
996    {
997        const FIELDS: &[&str] = &[
998            "DISTANCE_TYPE_UNSPECIFIED",
999            "DISTANCE_TYPE_L1",
1000            "DISTANCE_TYPE_L2_SQR",
1001            "DISTANCE_TYPE_COSINE",
1002            "DISTANCE_TYPE_INNER_PRODUCT",
1003        ];
1004
1005        struct GeneratedVisitor;
1006
1007        impl serde::de::Visitor<'_> for GeneratedVisitor {
1008            type Value = DistanceType;
1009
1010            fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1011                write!(formatter, "expected one of: {:?}", &FIELDS)
1012            }
1013
1014            fn visit_i64<E>(self, v: i64) -> std::result::Result<Self::Value, E>
1015            where
1016                E: serde::de::Error,
1017            {
1018                i32::try_from(v)
1019                    .ok()
1020                    .and_then(|x| x.try_into().ok())
1021                    .ok_or_else(|| {
1022                        serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self)
1023                    })
1024            }
1025
1026            fn visit_u64<E>(self, v: u64) -> std::result::Result<Self::Value, E>
1027            where
1028                E: serde::de::Error,
1029            {
1030                i32::try_from(v)
1031                    .ok()
1032                    .and_then(|x| x.try_into().ok())
1033                    .ok_or_else(|| {
1034                        serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self)
1035                    })
1036            }
1037
1038            fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
1039            where
1040                E: serde::de::Error,
1041            {
1042                match value {
1043                    "DISTANCE_TYPE_UNSPECIFIED" => Ok(DistanceType::Unspecified),
1044                    "DISTANCE_TYPE_L1" => Ok(DistanceType::L1),
1045                    "DISTANCE_TYPE_L2_SQR" => Ok(DistanceType::L2Sqr),
1046                    "DISTANCE_TYPE_COSINE" => Ok(DistanceType::Cosine),
1047                    "DISTANCE_TYPE_INNER_PRODUCT" => Ok(DistanceType::InnerProduct),
1048                    _ => Err(serde::de::Error::unknown_variant(value, FIELDS)),
1049                }
1050            }
1051        }
1052        deserializer.deserialize_any(GeneratedVisitor)
1053    }
1054}
1055impl serde::Serialize for HostAddress {
1056    #[allow(deprecated)]
1057    fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
1058    where
1059        S: serde::Serializer,
1060    {
1061        use serde::ser::SerializeStruct;
1062        let mut len = 0;
1063        if !self.host.is_empty() {
1064            len += 1;
1065        }
1066        if self.port != 0 {
1067            len += 1;
1068        }
1069        let mut struct_ser = serializer.serialize_struct("common.HostAddress", len)?;
1070        if !self.host.is_empty() {
1071            struct_ser.serialize_field("host", &self.host)?;
1072        }
1073        if self.port != 0 {
1074            struct_ser.serialize_field("port", &self.port)?;
1075        }
1076        struct_ser.end()
1077    }
1078}
1079impl<'de> serde::Deserialize<'de> for HostAddress {
1080    #[allow(deprecated)]
1081    fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
1082    where
1083        D: serde::Deserializer<'de>,
1084    {
1085        const FIELDS: &[&str] = &[
1086            "host",
1087            "port",
1088        ];
1089
1090        #[allow(clippy::enum_variant_names)]
1091        enum GeneratedField {
1092            Host,
1093            Port,
1094        }
1095        impl<'de> serde::Deserialize<'de> for GeneratedField {
1096            fn deserialize<D>(deserializer: D) -> std::result::Result<GeneratedField, D::Error>
1097            where
1098                D: serde::Deserializer<'de>,
1099            {
1100                struct GeneratedVisitor;
1101
1102                impl serde::de::Visitor<'_> for GeneratedVisitor {
1103                    type Value = GeneratedField;
1104
1105                    fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1106                        write!(formatter, "expected one of: {:?}", &FIELDS)
1107                    }
1108
1109                    #[allow(unused_variables)]
1110                    fn visit_str<E>(self, value: &str) -> std::result::Result<GeneratedField, E>
1111                    where
1112                        E: serde::de::Error,
1113                    {
1114                        match value {
1115                            "host" => Ok(GeneratedField::Host),
1116                            "port" => Ok(GeneratedField::Port),
1117                            _ => Err(serde::de::Error::unknown_field(value, FIELDS)),
1118                        }
1119                    }
1120                }
1121                deserializer.deserialize_identifier(GeneratedVisitor)
1122            }
1123        }
1124        struct GeneratedVisitor;
1125        impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
1126            type Value = HostAddress;
1127
1128            fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1129                formatter.write_str("struct common.HostAddress")
1130            }
1131
1132            fn visit_map<V>(self, mut map_: V) -> std::result::Result<HostAddress, V::Error>
1133                where
1134                    V: serde::de::MapAccess<'de>,
1135            {
1136                let mut host__ = None;
1137                let mut port__ = None;
1138                while let Some(k) = map_.next_key()? {
1139                    match k {
1140                        GeneratedField::Host => {
1141                            if host__.is_some() {
1142                                return Err(serde::de::Error::duplicate_field("host"));
1143                            }
1144                            host__ = Some(map_.next_value()?);
1145                        }
1146                        GeneratedField::Port => {
1147                            if port__.is_some() {
1148                                return Err(serde::de::Error::duplicate_field("port"));
1149                            }
1150                            port__ = 
1151                                Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0)
1152                            ;
1153                        }
1154                    }
1155                }
1156                Ok(HostAddress {
1157                    host: host__.unwrap_or_default(),
1158                    port: port__.unwrap_or_default(),
1159                })
1160            }
1161        }
1162        deserializer.deserialize_struct("common.HostAddress", FIELDS, GeneratedVisitor)
1163    }
1164}
1165impl serde::Serialize for NullsAre {
1166    #[allow(deprecated)]
1167    fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
1168    where
1169        S: serde::Serializer,
1170    {
1171        let variant = match self {
1172            Self::Unspecified => "NULLS_ARE_UNSPECIFIED",
1173            Self::Largest => "NULLS_ARE_LARGEST",
1174            Self::Smallest => "NULLS_ARE_SMALLEST",
1175        };
1176        serializer.serialize_str(variant)
1177    }
1178}
1179impl<'de> serde::Deserialize<'de> for NullsAre {
1180    #[allow(deprecated)]
1181    fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
1182    where
1183        D: serde::Deserializer<'de>,
1184    {
1185        const FIELDS: &[&str] = &[
1186            "NULLS_ARE_UNSPECIFIED",
1187            "NULLS_ARE_LARGEST",
1188            "NULLS_ARE_SMALLEST",
1189        ];
1190
1191        struct GeneratedVisitor;
1192
1193        impl serde::de::Visitor<'_> for GeneratedVisitor {
1194            type Value = NullsAre;
1195
1196            fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1197                write!(formatter, "expected one of: {:?}", &FIELDS)
1198            }
1199
1200            fn visit_i64<E>(self, v: i64) -> std::result::Result<Self::Value, E>
1201            where
1202                E: serde::de::Error,
1203            {
1204                i32::try_from(v)
1205                    .ok()
1206                    .and_then(|x| x.try_into().ok())
1207                    .ok_or_else(|| {
1208                        serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self)
1209                    })
1210            }
1211
1212            fn visit_u64<E>(self, v: u64) -> std::result::Result<Self::Value, E>
1213            where
1214                E: serde::de::Error,
1215            {
1216                i32::try_from(v)
1217                    .ok()
1218                    .and_then(|x| x.try_into().ok())
1219                    .ok_or_else(|| {
1220                        serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self)
1221                    })
1222            }
1223
1224            fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
1225            where
1226                E: serde::de::Error,
1227            {
1228                match value {
1229                    "NULLS_ARE_UNSPECIFIED" => Ok(NullsAre::Unspecified),
1230                    "NULLS_ARE_LARGEST" => Ok(NullsAre::Largest),
1231                    "NULLS_ARE_SMALLEST" => Ok(NullsAre::Smallest),
1232                    _ => Err(serde::de::Error::unknown_variant(value, FIELDS)),
1233                }
1234            }
1235        }
1236        deserializer.deserialize_any(GeneratedVisitor)
1237    }
1238}
1239impl serde::Serialize for ObjectType {
1240    #[allow(deprecated)]
1241    fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
1242    where
1243        S: serde::Serializer,
1244    {
1245        let variant = match self {
1246            Self::Unspecified => "UNSPECIFIED",
1247            Self::Database => "DATABASE",
1248            Self::Schema => "SCHEMA",
1249            Self::Table => "TABLE",
1250            Self::Mview => "MVIEW",
1251            Self::Source => "SOURCE",
1252            Self::Sink => "SINK",
1253            Self::View => "VIEW",
1254            Self::Index => "INDEX",
1255            Self::Function => "FUNCTION",
1256            Self::Connection => "CONNECTION",
1257            Self::Subscription => "SUBSCRIPTION",
1258            Self::Secret => "SECRET",
1259        };
1260        serializer.serialize_str(variant)
1261    }
1262}
1263impl<'de> serde::Deserialize<'de> for ObjectType {
1264    #[allow(deprecated)]
1265    fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
1266    where
1267        D: serde::Deserializer<'de>,
1268    {
1269        const FIELDS: &[&str] = &[
1270            "UNSPECIFIED",
1271            "DATABASE",
1272            "SCHEMA",
1273            "TABLE",
1274            "MVIEW",
1275            "SOURCE",
1276            "SINK",
1277            "VIEW",
1278            "INDEX",
1279            "FUNCTION",
1280            "CONNECTION",
1281            "SUBSCRIPTION",
1282            "SECRET",
1283        ];
1284
1285        struct GeneratedVisitor;
1286
1287        impl serde::de::Visitor<'_> for GeneratedVisitor {
1288            type Value = ObjectType;
1289
1290            fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1291                write!(formatter, "expected one of: {:?}", &FIELDS)
1292            }
1293
1294            fn visit_i64<E>(self, v: i64) -> std::result::Result<Self::Value, E>
1295            where
1296                E: serde::de::Error,
1297            {
1298                i32::try_from(v)
1299                    .ok()
1300                    .and_then(|x| x.try_into().ok())
1301                    .ok_or_else(|| {
1302                        serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self)
1303                    })
1304            }
1305
1306            fn visit_u64<E>(self, v: u64) -> std::result::Result<Self::Value, E>
1307            where
1308                E: serde::de::Error,
1309            {
1310                i32::try_from(v)
1311                    .ok()
1312                    .and_then(|x| x.try_into().ok())
1313                    .ok_or_else(|| {
1314                        serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self)
1315                    })
1316            }
1317
1318            fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
1319            where
1320                E: serde::de::Error,
1321            {
1322                match value {
1323                    "UNSPECIFIED" => Ok(ObjectType::Unspecified),
1324                    "DATABASE" => Ok(ObjectType::Database),
1325                    "SCHEMA" => Ok(ObjectType::Schema),
1326                    "TABLE" => Ok(ObjectType::Table),
1327                    "MVIEW" => Ok(ObjectType::Mview),
1328                    "SOURCE" => Ok(ObjectType::Source),
1329                    "SINK" => Ok(ObjectType::Sink),
1330                    "VIEW" => Ok(ObjectType::View),
1331                    "INDEX" => Ok(ObjectType::Index),
1332                    "FUNCTION" => Ok(ObjectType::Function),
1333                    "CONNECTION" => Ok(ObjectType::Connection),
1334                    "SUBSCRIPTION" => Ok(ObjectType::Subscription),
1335                    "SECRET" => Ok(ObjectType::Secret),
1336                    _ => Err(serde::de::Error::unknown_variant(value, FIELDS)),
1337                }
1338            }
1339        }
1340        deserializer.deserialize_any(GeneratedVisitor)
1341    }
1342}
1343impl serde::Serialize for OptionalUint32 {
1344    #[allow(deprecated)]
1345    fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
1346    where
1347        S: serde::Serializer,
1348    {
1349        use serde::ser::SerializeStruct;
1350        let mut len = 0;
1351        if self.value.is_some() {
1352            len += 1;
1353        }
1354        let mut struct_ser = serializer.serialize_struct("common.OptionalUint32", len)?;
1355        if let Some(v) = self.value.as_ref() {
1356            struct_ser.serialize_field("value", v)?;
1357        }
1358        struct_ser.end()
1359    }
1360}
1361impl<'de> serde::Deserialize<'de> for OptionalUint32 {
1362    #[allow(deprecated)]
1363    fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
1364    where
1365        D: serde::Deserializer<'de>,
1366    {
1367        const FIELDS: &[&str] = &[
1368            "value",
1369        ];
1370
1371        #[allow(clippy::enum_variant_names)]
1372        enum GeneratedField {
1373            Value,
1374        }
1375        impl<'de> serde::Deserialize<'de> for GeneratedField {
1376            fn deserialize<D>(deserializer: D) -> std::result::Result<GeneratedField, D::Error>
1377            where
1378                D: serde::Deserializer<'de>,
1379            {
1380                struct GeneratedVisitor;
1381
1382                impl serde::de::Visitor<'_> for GeneratedVisitor {
1383                    type Value = GeneratedField;
1384
1385                    fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1386                        write!(formatter, "expected one of: {:?}", &FIELDS)
1387                    }
1388
1389                    #[allow(unused_variables)]
1390                    fn visit_str<E>(self, value: &str) -> std::result::Result<GeneratedField, E>
1391                    where
1392                        E: serde::de::Error,
1393                    {
1394                        match value {
1395                            "value" => Ok(GeneratedField::Value),
1396                            _ => Err(serde::de::Error::unknown_field(value, FIELDS)),
1397                        }
1398                    }
1399                }
1400                deserializer.deserialize_identifier(GeneratedVisitor)
1401            }
1402        }
1403        struct GeneratedVisitor;
1404        impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
1405            type Value = OptionalUint32;
1406
1407            fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1408                formatter.write_str("struct common.OptionalUint32")
1409            }
1410
1411            fn visit_map<V>(self, mut map_: V) -> std::result::Result<OptionalUint32, V::Error>
1412                where
1413                    V: serde::de::MapAccess<'de>,
1414            {
1415                let mut value__ = None;
1416                while let Some(k) = map_.next_key()? {
1417                    match k {
1418                        GeneratedField::Value => {
1419                            if value__.is_some() {
1420                                return Err(serde::de::Error::duplicate_field("value"));
1421                            }
1422                            value__ = 
1423                                map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0)
1424                            ;
1425                        }
1426                    }
1427                }
1428                Ok(OptionalUint32 {
1429                    value: value__,
1430                })
1431            }
1432        }
1433        deserializer.deserialize_struct("common.OptionalUint32", FIELDS, GeneratedVisitor)
1434    }
1435}
1436impl serde::Serialize for OptionalUint64 {
1437    #[allow(deprecated)]
1438    fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
1439    where
1440        S: serde::Serializer,
1441    {
1442        use serde::ser::SerializeStruct;
1443        let mut len = 0;
1444        if self.value.is_some() {
1445            len += 1;
1446        }
1447        let mut struct_ser = serializer.serialize_struct("common.OptionalUint64", len)?;
1448        if let Some(v) = self.value.as_ref() {
1449            #[allow(clippy::needless_borrow)]
1450            #[allow(clippy::needless_borrows_for_generic_args)]
1451            struct_ser.serialize_field("value", ToString::to_string(&v).as_str())?;
1452        }
1453        struct_ser.end()
1454    }
1455}
1456impl<'de> serde::Deserialize<'de> for OptionalUint64 {
1457    #[allow(deprecated)]
1458    fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
1459    where
1460        D: serde::Deserializer<'de>,
1461    {
1462        const FIELDS: &[&str] = &[
1463            "value",
1464        ];
1465
1466        #[allow(clippy::enum_variant_names)]
1467        enum GeneratedField {
1468            Value,
1469        }
1470        impl<'de> serde::Deserialize<'de> for GeneratedField {
1471            fn deserialize<D>(deserializer: D) -> std::result::Result<GeneratedField, D::Error>
1472            where
1473                D: serde::Deserializer<'de>,
1474            {
1475                struct GeneratedVisitor;
1476
1477                impl serde::de::Visitor<'_> for GeneratedVisitor {
1478                    type Value = GeneratedField;
1479
1480                    fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1481                        write!(formatter, "expected one of: {:?}", &FIELDS)
1482                    }
1483
1484                    #[allow(unused_variables)]
1485                    fn visit_str<E>(self, value: &str) -> std::result::Result<GeneratedField, E>
1486                    where
1487                        E: serde::de::Error,
1488                    {
1489                        match value {
1490                            "value" => Ok(GeneratedField::Value),
1491                            _ => Err(serde::de::Error::unknown_field(value, FIELDS)),
1492                        }
1493                    }
1494                }
1495                deserializer.deserialize_identifier(GeneratedVisitor)
1496            }
1497        }
1498        struct GeneratedVisitor;
1499        impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
1500            type Value = OptionalUint64;
1501
1502            fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1503                formatter.write_str("struct common.OptionalUint64")
1504            }
1505
1506            fn visit_map<V>(self, mut map_: V) -> std::result::Result<OptionalUint64, V::Error>
1507                where
1508                    V: serde::de::MapAccess<'de>,
1509            {
1510                let mut value__ = None;
1511                while let Some(k) = map_.next_key()? {
1512                    match k {
1513                        GeneratedField::Value => {
1514                            if value__.is_some() {
1515                                return Err(serde::de::Error::duplicate_field("value"));
1516                            }
1517                            value__ = 
1518                                map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0)
1519                            ;
1520                        }
1521                    }
1522                }
1523                Ok(OptionalUint64 {
1524                    value: value__,
1525                })
1526            }
1527        }
1528        deserializer.deserialize_struct("common.OptionalUint64", FIELDS, GeneratedVisitor)
1529    }
1530}
1531impl serde::Serialize for OrderType {
1532    #[allow(deprecated)]
1533    fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
1534    where
1535        S: serde::Serializer,
1536    {
1537        use serde::ser::SerializeStruct;
1538        let mut len = 0;
1539        if self.direction != 0 {
1540            len += 1;
1541        }
1542        if self.nulls_are != 0 {
1543            len += 1;
1544        }
1545        let mut struct_ser = serializer.serialize_struct("common.OrderType", len)?;
1546        if self.direction != 0 {
1547            let v = Direction::try_from(self.direction)
1548                .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.direction)))?;
1549            struct_ser.serialize_field("direction", &v)?;
1550        }
1551        if self.nulls_are != 0 {
1552            let v = NullsAre::try_from(self.nulls_are)
1553                .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.nulls_are)))?;
1554            struct_ser.serialize_field("nullsAre", &v)?;
1555        }
1556        struct_ser.end()
1557    }
1558}
1559impl<'de> serde::Deserialize<'de> for OrderType {
1560    #[allow(deprecated)]
1561    fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
1562    where
1563        D: serde::Deserializer<'de>,
1564    {
1565        const FIELDS: &[&str] = &[
1566            "direction",
1567            "nulls_are",
1568            "nullsAre",
1569        ];
1570
1571        #[allow(clippy::enum_variant_names)]
1572        enum GeneratedField {
1573            Direction,
1574            NullsAre,
1575        }
1576        impl<'de> serde::Deserialize<'de> for GeneratedField {
1577            fn deserialize<D>(deserializer: D) -> std::result::Result<GeneratedField, D::Error>
1578            where
1579                D: serde::Deserializer<'de>,
1580            {
1581                struct GeneratedVisitor;
1582
1583                impl serde::de::Visitor<'_> for GeneratedVisitor {
1584                    type Value = GeneratedField;
1585
1586                    fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1587                        write!(formatter, "expected one of: {:?}", &FIELDS)
1588                    }
1589
1590                    #[allow(unused_variables)]
1591                    fn visit_str<E>(self, value: &str) -> std::result::Result<GeneratedField, E>
1592                    where
1593                        E: serde::de::Error,
1594                    {
1595                        match value {
1596                            "direction" => Ok(GeneratedField::Direction),
1597                            "nullsAre" | "nulls_are" => Ok(GeneratedField::NullsAre),
1598                            _ => Err(serde::de::Error::unknown_field(value, FIELDS)),
1599                        }
1600                    }
1601                }
1602                deserializer.deserialize_identifier(GeneratedVisitor)
1603            }
1604        }
1605        struct GeneratedVisitor;
1606        impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
1607            type Value = OrderType;
1608
1609            fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1610                formatter.write_str("struct common.OrderType")
1611            }
1612
1613            fn visit_map<V>(self, mut map_: V) -> std::result::Result<OrderType, V::Error>
1614                where
1615                    V: serde::de::MapAccess<'de>,
1616            {
1617                let mut direction__ = None;
1618                let mut nulls_are__ = None;
1619                while let Some(k) = map_.next_key()? {
1620                    match k {
1621                        GeneratedField::Direction => {
1622                            if direction__.is_some() {
1623                                return Err(serde::de::Error::duplicate_field("direction"));
1624                            }
1625                            direction__ = Some(map_.next_value::<Direction>()? as i32);
1626                        }
1627                        GeneratedField::NullsAre => {
1628                            if nulls_are__.is_some() {
1629                                return Err(serde::de::Error::duplicate_field("nullsAre"));
1630                            }
1631                            nulls_are__ = Some(map_.next_value::<NullsAre>()? as i32);
1632                        }
1633                    }
1634                }
1635                Ok(OrderType {
1636                    direction: direction__.unwrap_or_default(),
1637                    nulls_are: nulls_are__.unwrap_or_default(),
1638                })
1639            }
1640        }
1641        deserializer.deserialize_struct("common.OrderType", FIELDS, GeneratedVisitor)
1642    }
1643}
1644impl serde::Serialize for Status {
1645    #[allow(deprecated)]
1646    fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
1647    where
1648        S: serde::Serializer,
1649    {
1650        use serde::ser::SerializeStruct;
1651        let mut len = 0;
1652        if self.code != 0 {
1653            len += 1;
1654        }
1655        if !self.message.is_empty() {
1656            len += 1;
1657        }
1658        let mut struct_ser = serializer.serialize_struct("common.Status", len)?;
1659        if self.code != 0 {
1660            let v = status::Code::try_from(self.code)
1661                .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.code)))?;
1662            struct_ser.serialize_field("code", &v)?;
1663        }
1664        if !self.message.is_empty() {
1665            struct_ser.serialize_field("message", &self.message)?;
1666        }
1667        struct_ser.end()
1668    }
1669}
1670impl<'de> serde::Deserialize<'de> for Status {
1671    #[allow(deprecated)]
1672    fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
1673    where
1674        D: serde::Deserializer<'de>,
1675    {
1676        const FIELDS: &[&str] = &[
1677            "code",
1678            "message",
1679        ];
1680
1681        #[allow(clippy::enum_variant_names)]
1682        enum GeneratedField {
1683            Code,
1684            Message,
1685        }
1686        impl<'de> serde::Deserialize<'de> for GeneratedField {
1687            fn deserialize<D>(deserializer: D) -> std::result::Result<GeneratedField, D::Error>
1688            where
1689                D: serde::Deserializer<'de>,
1690            {
1691                struct GeneratedVisitor;
1692
1693                impl serde::de::Visitor<'_> for GeneratedVisitor {
1694                    type Value = GeneratedField;
1695
1696                    fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1697                        write!(formatter, "expected one of: {:?}", &FIELDS)
1698                    }
1699
1700                    #[allow(unused_variables)]
1701                    fn visit_str<E>(self, value: &str) -> std::result::Result<GeneratedField, E>
1702                    where
1703                        E: serde::de::Error,
1704                    {
1705                        match value {
1706                            "code" => Ok(GeneratedField::Code),
1707                            "message" => Ok(GeneratedField::Message),
1708                            _ => Err(serde::de::Error::unknown_field(value, FIELDS)),
1709                        }
1710                    }
1711                }
1712                deserializer.deserialize_identifier(GeneratedVisitor)
1713            }
1714        }
1715        struct GeneratedVisitor;
1716        impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
1717            type Value = Status;
1718
1719            fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1720                formatter.write_str("struct common.Status")
1721            }
1722
1723            fn visit_map<V>(self, mut map_: V) -> std::result::Result<Status, V::Error>
1724                where
1725                    V: serde::de::MapAccess<'de>,
1726            {
1727                let mut code__ = None;
1728                let mut message__ = None;
1729                while let Some(k) = map_.next_key()? {
1730                    match k {
1731                        GeneratedField::Code => {
1732                            if code__.is_some() {
1733                                return Err(serde::de::Error::duplicate_field("code"));
1734                            }
1735                            code__ = Some(map_.next_value::<status::Code>()? as i32);
1736                        }
1737                        GeneratedField::Message => {
1738                            if message__.is_some() {
1739                                return Err(serde::de::Error::duplicate_field("message"));
1740                            }
1741                            message__ = Some(map_.next_value()?);
1742                        }
1743                    }
1744                }
1745                Ok(Status {
1746                    code: code__.unwrap_or_default(),
1747                    message: message__.unwrap_or_default(),
1748                })
1749            }
1750        }
1751        deserializer.deserialize_struct("common.Status", FIELDS, GeneratedVisitor)
1752    }
1753}
1754impl serde::Serialize for status::Code {
1755    #[allow(deprecated)]
1756    fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
1757    where
1758        S: serde::Serializer,
1759    {
1760        let variant = match self {
1761            Self::Unspecified => "UNSPECIFIED",
1762            Self::Ok => "OK",
1763            Self::UnknownWorker => "UNKNOWN_WORKER",
1764        };
1765        serializer.serialize_str(variant)
1766    }
1767}
1768impl<'de> serde::Deserialize<'de> for status::Code {
1769    #[allow(deprecated)]
1770    fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
1771    where
1772        D: serde::Deserializer<'de>,
1773    {
1774        const FIELDS: &[&str] = &[
1775            "UNSPECIFIED",
1776            "OK",
1777            "UNKNOWN_WORKER",
1778        ];
1779
1780        struct GeneratedVisitor;
1781
1782        impl serde::de::Visitor<'_> for GeneratedVisitor {
1783            type Value = status::Code;
1784
1785            fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1786                write!(formatter, "expected one of: {:?}", &FIELDS)
1787            }
1788
1789            fn visit_i64<E>(self, v: i64) -> std::result::Result<Self::Value, E>
1790            where
1791                E: serde::de::Error,
1792            {
1793                i32::try_from(v)
1794                    .ok()
1795                    .and_then(|x| x.try_into().ok())
1796                    .ok_or_else(|| {
1797                        serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self)
1798                    })
1799            }
1800
1801            fn visit_u64<E>(self, v: u64) -> std::result::Result<Self::Value, E>
1802            where
1803                E: serde::de::Error,
1804            {
1805                i32::try_from(v)
1806                    .ok()
1807                    .and_then(|x| x.try_into().ok())
1808                    .ok_or_else(|| {
1809                        serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self)
1810                    })
1811            }
1812
1813            fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
1814            where
1815                E: serde::de::Error,
1816            {
1817                match value {
1818                    "UNSPECIFIED" => Ok(status::Code::Unspecified),
1819                    "OK" => Ok(status::Code::Ok),
1820                    "UNKNOWN_WORKER" => Ok(status::Code::UnknownWorker),
1821                    _ => Err(serde::de::Error::unknown_variant(value, FIELDS)),
1822                }
1823            }
1824        }
1825        deserializer.deserialize_any(GeneratedVisitor)
1826    }
1827}
1828impl serde::Serialize for ThrottleType {
1829    #[allow(deprecated)]
1830    fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
1831    where
1832        S: serde::Serializer,
1833    {
1834        let variant = match self {
1835            Self::Unspecified => "THROTTLE_TYPE_UNSPECIFIED",
1836            Self::Dml => "THROTTLE_TYPE_DML",
1837            Self::Backfill => "THROTTLE_TYPE_BACKFILL",
1838            Self::Source => "THROTTLE_TYPE_SOURCE",
1839            Self::Sink => "THROTTLE_TYPE_SINK",
1840        };
1841        serializer.serialize_str(variant)
1842    }
1843}
1844impl<'de> serde::Deserialize<'de> for ThrottleType {
1845    #[allow(deprecated)]
1846    fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
1847    where
1848        D: serde::Deserializer<'de>,
1849    {
1850        const FIELDS: &[&str] = &[
1851            "THROTTLE_TYPE_UNSPECIFIED",
1852            "THROTTLE_TYPE_DML",
1853            "THROTTLE_TYPE_BACKFILL",
1854            "THROTTLE_TYPE_SOURCE",
1855            "THROTTLE_TYPE_SINK",
1856        ];
1857
1858        struct GeneratedVisitor;
1859
1860        impl serde::de::Visitor<'_> for GeneratedVisitor {
1861            type Value = ThrottleType;
1862
1863            fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1864                write!(formatter, "expected one of: {:?}", &FIELDS)
1865            }
1866
1867            fn visit_i64<E>(self, v: i64) -> std::result::Result<Self::Value, E>
1868            where
1869                E: serde::de::Error,
1870            {
1871                i32::try_from(v)
1872                    .ok()
1873                    .and_then(|x| x.try_into().ok())
1874                    .ok_or_else(|| {
1875                        serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self)
1876                    })
1877            }
1878
1879            fn visit_u64<E>(self, v: u64) -> std::result::Result<Self::Value, E>
1880            where
1881                E: serde::de::Error,
1882            {
1883                i32::try_from(v)
1884                    .ok()
1885                    .and_then(|x| x.try_into().ok())
1886                    .ok_or_else(|| {
1887                        serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self)
1888                    })
1889            }
1890
1891            fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
1892            where
1893                E: serde::de::Error,
1894            {
1895                match value {
1896                    "THROTTLE_TYPE_UNSPECIFIED" => Ok(ThrottleType::Unspecified),
1897                    "THROTTLE_TYPE_DML" => Ok(ThrottleType::Dml),
1898                    "THROTTLE_TYPE_BACKFILL" => Ok(ThrottleType::Backfill),
1899                    "THROTTLE_TYPE_SOURCE" => Ok(ThrottleType::Source),
1900                    "THROTTLE_TYPE_SINK" => Ok(ThrottleType::Sink),
1901                    _ => Err(serde::de::Error::unknown_variant(value, FIELDS)),
1902                }
1903            }
1904        }
1905        deserializer.deserialize_any(GeneratedVisitor)
1906    }
1907}
1908impl serde::Serialize for Uint32Vector {
1909    #[allow(deprecated)]
1910    fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
1911    where
1912        S: serde::Serializer,
1913    {
1914        use serde::ser::SerializeStruct;
1915        let mut len = 0;
1916        if !self.data.is_empty() {
1917            len += 1;
1918        }
1919        let mut struct_ser = serializer.serialize_struct("common.Uint32Vector", len)?;
1920        if !self.data.is_empty() {
1921            struct_ser.serialize_field("data", &self.data)?;
1922        }
1923        struct_ser.end()
1924    }
1925}
1926impl<'de> serde::Deserialize<'de> for Uint32Vector {
1927    #[allow(deprecated)]
1928    fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
1929    where
1930        D: serde::Deserializer<'de>,
1931    {
1932        const FIELDS: &[&str] = &[
1933            "data",
1934        ];
1935
1936        #[allow(clippy::enum_variant_names)]
1937        enum GeneratedField {
1938            Data,
1939        }
1940        impl<'de> serde::Deserialize<'de> for GeneratedField {
1941            fn deserialize<D>(deserializer: D) -> std::result::Result<GeneratedField, D::Error>
1942            where
1943                D: serde::Deserializer<'de>,
1944            {
1945                struct GeneratedVisitor;
1946
1947                impl serde::de::Visitor<'_> for GeneratedVisitor {
1948                    type Value = GeneratedField;
1949
1950                    fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1951                        write!(formatter, "expected one of: {:?}", &FIELDS)
1952                    }
1953
1954                    #[allow(unused_variables)]
1955                    fn visit_str<E>(self, value: &str) -> std::result::Result<GeneratedField, E>
1956                    where
1957                        E: serde::de::Error,
1958                    {
1959                        match value {
1960                            "data" => Ok(GeneratedField::Data),
1961                            _ => Err(serde::de::Error::unknown_field(value, FIELDS)),
1962                        }
1963                    }
1964                }
1965                deserializer.deserialize_identifier(GeneratedVisitor)
1966            }
1967        }
1968        struct GeneratedVisitor;
1969        impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
1970            type Value = Uint32Vector;
1971
1972            fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1973                formatter.write_str("struct common.Uint32Vector")
1974            }
1975
1976            fn visit_map<V>(self, mut map_: V) -> std::result::Result<Uint32Vector, V::Error>
1977                where
1978                    V: serde::de::MapAccess<'de>,
1979            {
1980                let mut data__ = None;
1981                while let Some(k) = map_.next_key()? {
1982                    match k {
1983                        GeneratedField::Data => {
1984                            if data__.is_some() {
1985                                return Err(serde::de::Error::duplicate_field("data"));
1986                            }
1987                            data__ = 
1988                                Some(map_.next_value::<Vec<::pbjson::private::NumberDeserialize<_>>>()?
1989                                    .into_iter().map(|x| x.0).collect())
1990                            ;
1991                        }
1992                    }
1993                }
1994                Ok(Uint32Vector {
1995                    data: data__.unwrap_or_default(),
1996                })
1997            }
1998        }
1999        deserializer.deserialize_struct("common.Uint32Vector", FIELDS, GeneratedVisitor)
2000    }
2001}
2002impl serde::Serialize for WorkerNode {
2003    #[allow(deprecated)]
2004    fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
2005    where
2006        S: serde::Serializer,
2007    {
2008        use serde::ser::SerializeStruct;
2009        let mut len = 0;
2010        if self.id != 0 {
2011            len += 1;
2012        }
2013        if self.r#type != 0 {
2014            len += 1;
2015        }
2016        if self.host.is_some() {
2017            len += 1;
2018        }
2019        if self.state != 0 {
2020            len += 1;
2021        }
2022        if self.property.is_some() {
2023            len += 1;
2024        }
2025        if self.transactional_id.is_some() {
2026            len += 1;
2027        }
2028        if self.resource.is_some() {
2029            len += 1;
2030        }
2031        if self.started_at.is_some() {
2032            len += 1;
2033        }
2034        let mut struct_ser = serializer.serialize_struct("common.WorkerNode", len)?;
2035        if self.id != 0 {
2036            struct_ser.serialize_field("id", &self.id)?;
2037        }
2038        if self.r#type != 0 {
2039            let v = WorkerType::try_from(self.r#type)
2040                .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.r#type)))?;
2041            struct_ser.serialize_field("type", &v)?;
2042        }
2043        if let Some(v) = self.host.as_ref() {
2044            struct_ser.serialize_field("host", v)?;
2045        }
2046        if self.state != 0 {
2047            let v = worker_node::State::try_from(self.state)
2048                .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.state)))?;
2049            struct_ser.serialize_field("state", &v)?;
2050        }
2051        if let Some(v) = self.property.as_ref() {
2052            struct_ser.serialize_field("property", v)?;
2053        }
2054        if let Some(v) = self.transactional_id.as_ref() {
2055            struct_ser.serialize_field("transactionalId", v)?;
2056        }
2057        if let Some(v) = self.resource.as_ref() {
2058            struct_ser.serialize_field("resource", v)?;
2059        }
2060        if let Some(v) = self.started_at.as_ref() {
2061            #[allow(clippy::needless_borrow)]
2062            #[allow(clippy::needless_borrows_for_generic_args)]
2063            struct_ser.serialize_field("startedAt", ToString::to_string(&v).as_str())?;
2064        }
2065        struct_ser.end()
2066    }
2067}
2068impl<'de> serde::Deserialize<'de> for WorkerNode {
2069    #[allow(deprecated)]
2070    fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
2071    where
2072        D: serde::Deserializer<'de>,
2073    {
2074        const FIELDS: &[&str] = &[
2075            "id",
2076            "type",
2077            "host",
2078            "state",
2079            "property",
2080            "transactional_id",
2081            "transactionalId",
2082            "resource",
2083            "started_at",
2084            "startedAt",
2085        ];
2086
2087        #[allow(clippy::enum_variant_names)]
2088        enum GeneratedField {
2089            Id,
2090            Type,
2091            Host,
2092            State,
2093            Property,
2094            TransactionalId,
2095            Resource,
2096            StartedAt,
2097        }
2098        impl<'de> serde::Deserialize<'de> for GeneratedField {
2099            fn deserialize<D>(deserializer: D) -> std::result::Result<GeneratedField, D::Error>
2100            where
2101                D: serde::Deserializer<'de>,
2102            {
2103                struct GeneratedVisitor;
2104
2105                impl serde::de::Visitor<'_> for GeneratedVisitor {
2106                    type Value = GeneratedField;
2107
2108                    fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2109                        write!(formatter, "expected one of: {:?}", &FIELDS)
2110                    }
2111
2112                    #[allow(unused_variables)]
2113                    fn visit_str<E>(self, value: &str) -> std::result::Result<GeneratedField, E>
2114                    where
2115                        E: serde::de::Error,
2116                    {
2117                        match value {
2118                            "id" => Ok(GeneratedField::Id),
2119                            "type" => Ok(GeneratedField::Type),
2120                            "host" => Ok(GeneratedField::Host),
2121                            "state" => Ok(GeneratedField::State),
2122                            "property" => Ok(GeneratedField::Property),
2123                            "transactionalId" | "transactional_id" => Ok(GeneratedField::TransactionalId),
2124                            "resource" => Ok(GeneratedField::Resource),
2125                            "startedAt" | "started_at" => Ok(GeneratedField::StartedAt),
2126                            _ => Err(serde::de::Error::unknown_field(value, FIELDS)),
2127                        }
2128                    }
2129                }
2130                deserializer.deserialize_identifier(GeneratedVisitor)
2131            }
2132        }
2133        struct GeneratedVisitor;
2134        impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
2135            type Value = WorkerNode;
2136
2137            fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2138                formatter.write_str("struct common.WorkerNode")
2139            }
2140
2141            fn visit_map<V>(self, mut map_: V) -> std::result::Result<WorkerNode, V::Error>
2142                where
2143                    V: serde::de::MapAccess<'de>,
2144            {
2145                let mut id__ = None;
2146                let mut r#type__ = None;
2147                let mut host__ = None;
2148                let mut state__ = None;
2149                let mut property__ = None;
2150                let mut transactional_id__ = None;
2151                let mut resource__ = None;
2152                let mut started_at__ = None;
2153                while let Some(k) = map_.next_key()? {
2154                    match k {
2155                        GeneratedField::Id => {
2156                            if id__.is_some() {
2157                                return Err(serde::de::Error::duplicate_field("id"));
2158                            }
2159                            id__ = 
2160                                Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0)
2161                            ;
2162                        }
2163                        GeneratedField::Type => {
2164                            if r#type__.is_some() {
2165                                return Err(serde::de::Error::duplicate_field("type"));
2166                            }
2167                            r#type__ = Some(map_.next_value::<WorkerType>()? as i32);
2168                        }
2169                        GeneratedField::Host => {
2170                            if host__.is_some() {
2171                                return Err(serde::de::Error::duplicate_field("host"));
2172                            }
2173                            host__ = map_.next_value()?;
2174                        }
2175                        GeneratedField::State => {
2176                            if state__.is_some() {
2177                                return Err(serde::de::Error::duplicate_field("state"));
2178                            }
2179                            state__ = Some(map_.next_value::<worker_node::State>()? as i32);
2180                        }
2181                        GeneratedField::Property => {
2182                            if property__.is_some() {
2183                                return Err(serde::de::Error::duplicate_field("property"));
2184                            }
2185                            property__ = map_.next_value()?;
2186                        }
2187                        GeneratedField::TransactionalId => {
2188                            if transactional_id__.is_some() {
2189                                return Err(serde::de::Error::duplicate_field("transactionalId"));
2190                            }
2191                            transactional_id__ = 
2192                                map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0)
2193                            ;
2194                        }
2195                        GeneratedField::Resource => {
2196                            if resource__.is_some() {
2197                                return Err(serde::de::Error::duplicate_field("resource"));
2198                            }
2199                            resource__ = map_.next_value()?;
2200                        }
2201                        GeneratedField::StartedAt => {
2202                            if started_at__.is_some() {
2203                                return Err(serde::de::Error::duplicate_field("startedAt"));
2204                            }
2205                            started_at__ = 
2206                                map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0)
2207                            ;
2208                        }
2209                    }
2210                }
2211                Ok(WorkerNode {
2212                    id: id__.unwrap_or_default(),
2213                    r#type: r#type__.unwrap_or_default(),
2214                    host: host__,
2215                    state: state__.unwrap_or_default(),
2216                    property: property__,
2217                    transactional_id: transactional_id__,
2218                    resource: resource__,
2219                    started_at: started_at__,
2220                })
2221            }
2222        }
2223        deserializer.deserialize_struct("common.WorkerNode", FIELDS, GeneratedVisitor)
2224    }
2225}
2226impl serde::Serialize for worker_node::Property {
2227    #[allow(deprecated)]
2228    fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
2229    where
2230        S: serde::Serializer,
2231    {
2232        use serde::ser::SerializeStruct;
2233        let mut len = 0;
2234        if self.is_streaming {
2235            len += 1;
2236        }
2237        if self.is_serving {
2238            len += 1;
2239        }
2240        if self.is_unschedulable {
2241            len += 1;
2242        }
2243        if !self.internal_rpc_host_addr.is_empty() {
2244            len += 1;
2245        }
2246        if self.parallelism != 0 {
2247            len += 1;
2248        }
2249        if self.resource_group.is_some() {
2250            len += 1;
2251        }
2252        if self.is_iceberg_compactor {
2253            len += 1;
2254        }
2255        let mut struct_ser = serializer.serialize_struct("common.WorkerNode.Property", len)?;
2256        if self.is_streaming {
2257            struct_ser.serialize_field("isStreaming", &self.is_streaming)?;
2258        }
2259        if self.is_serving {
2260            struct_ser.serialize_field("isServing", &self.is_serving)?;
2261        }
2262        if self.is_unschedulable {
2263            struct_ser.serialize_field("isUnschedulable", &self.is_unschedulable)?;
2264        }
2265        if !self.internal_rpc_host_addr.is_empty() {
2266            struct_ser.serialize_field("internalRpcHostAddr", &self.internal_rpc_host_addr)?;
2267        }
2268        if self.parallelism != 0 {
2269            struct_ser.serialize_field("parallelism", &self.parallelism)?;
2270        }
2271        if let Some(v) = self.resource_group.as_ref() {
2272            struct_ser.serialize_field("resourceGroup", v)?;
2273        }
2274        if self.is_iceberg_compactor {
2275            struct_ser.serialize_field("isIcebergCompactor", &self.is_iceberg_compactor)?;
2276        }
2277        struct_ser.end()
2278    }
2279}
2280impl<'de> serde::Deserialize<'de> for worker_node::Property {
2281    #[allow(deprecated)]
2282    fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
2283    where
2284        D: serde::Deserializer<'de>,
2285    {
2286        const FIELDS: &[&str] = &[
2287            "is_streaming",
2288            "isStreaming",
2289            "is_serving",
2290            "isServing",
2291            "is_unschedulable",
2292            "isUnschedulable",
2293            "internal_rpc_host_addr",
2294            "internalRpcHostAddr",
2295            "parallelism",
2296            "resource_group",
2297            "resourceGroup",
2298            "is_iceberg_compactor",
2299            "isIcebergCompactor",
2300        ];
2301
2302        #[allow(clippy::enum_variant_names)]
2303        enum GeneratedField {
2304            IsStreaming,
2305            IsServing,
2306            IsUnschedulable,
2307            InternalRpcHostAddr,
2308            Parallelism,
2309            ResourceGroup,
2310            IsIcebergCompactor,
2311        }
2312        impl<'de> serde::Deserialize<'de> for GeneratedField {
2313            fn deserialize<D>(deserializer: D) -> std::result::Result<GeneratedField, D::Error>
2314            where
2315                D: serde::Deserializer<'de>,
2316            {
2317                struct GeneratedVisitor;
2318
2319                impl serde::de::Visitor<'_> for GeneratedVisitor {
2320                    type Value = GeneratedField;
2321
2322                    fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2323                        write!(formatter, "expected one of: {:?}", &FIELDS)
2324                    }
2325
2326                    #[allow(unused_variables)]
2327                    fn visit_str<E>(self, value: &str) -> std::result::Result<GeneratedField, E>
2328                    where
2329                        E: serde::de::Error,
2330                    {
2331                        match value {
2332                            "isStreaming" | "is_streaming" => Ok(GeneratedField::IsStreaming),
2333                            "isServing" | "is_serving" => Ok(GeneratedField::IsServing),
2334                            "isUnschedulable" | "is_unschedulable" => Ok(GeneratedField::IsUnschedulable),
2335                            "internalRpcHostAddr" | "internal_rpc_host_addr" => Ok(GeneratedField::InternalRpcHostAddr),
2336                            "parallelism" => Ok(GeneratedField::Parallelism),
2337                            "resourceGroup" | "resource_group" => Ok(GeneratedField::ResourceGroup),
2338                            "isIcebergCompactor" | "is_iceberg_compactor" => Ok(GeneratedField::IsIcebergCompactor),
2339                            _ => Err(serde::de::Error::unknown_field(value, FIELDS)),
2340                        }
2341                    }
2342                }
2343                deserializer.deserialize_identifier(GeneratedVisitor)
2344            }
2345        }
2346        struct GeneratedVisitor;
2347        impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
2348            type Value = worker_node::Property;
2349
2350            fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2351                formatter.write_str("struct common.WorkerNode.Property")
2352            }
2353
2354            fn visit_map<V>(self, mut map_: V) -> std::result::Result<worker_node::Property, V::Error>
2355                where
2356                    V: serde::de::MapAccess<'de>,
2357            {
2358                let mut is_streaming__ = None;
2359                let mut is_serving__ = None;
2360                let mut is_unschedulable__ = None;
2361                let mut internal_rpc_host_addr__ = None;
2362                let mut parallelism__ = None;
2363                let mut resource_group__ = None;
2364                let mut is_iceberg_compactor__ = None;
2365                while let Some(k) = map_.next_key()? {
2366                    match k {
2367                        GeneratedField::IsStreaming => {
2368                            if is_streaming__.is_some() {
2369                                return Err(serde::de::Error::duplicate_field("isStreaming"));
2370                            }
2371                            is_streaming__ = Some(map_.next_value()?);
2372                        }
2373                        GeneratedField::IsServing => {
2374                            if is_serving__.is_some() {
2375                                return Err(serde::de::Error::duplicate_field("isServing"));
2376                            }
2377                            is_serving__ = Some(map_.next_value()?);
2378                        }
2379                        GeneratedField::IsUnschedulable => {
2380                            if is_unschedulable__.is_some() {
2381                                return Err(serde::de::Error::duplicate_field("isUnschedulable"));
2382                            }
2383                            is_unschedulable__ = Some(map_.next_value()?);
2384                        }
2385                        GeneratedField::InternalRpcHostAddr => {
2386                            if internal_rpc_host_addr__.is_some() {
2387                                return Err(serde::de::Error::duplicate_field("internalRpcHostAddr"));
2388                            }
2389                            internal_rpc_host_addr__ = Some(map_.next_value()?);
2390                        }
2391                        GeneratedField::Parallelism => {
2392                            if parallelism__.is_some() {
2393                                return Err(serde::de::Error::duplicate_field("parallelism"));
2394                            }
2395                            parallelism__ = 
2396                                Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0)
2397                            ;
2398                        }
2399                        GeneratedField::ResourceGroup => {
2400                            if resource_group__.is_some() {
2401                                return Err(serde::de::Error::duplicate_field("resourceGroup"));
2402                            }
2403                            resource_group__ = map_.next_value()?;
2404                        }
2405                        GeneratedField::IsIcebergCompactor => {
2406                            if is_iceberg_compactor__.is_some() {
2407                                return Err(serde::de::Error::duplicate_field("isIcebergCompactor"));
2408                            }
2409                            is_iceberg_compactor__ = Some(map_.next_value()?);
2410                        }
2411                    }
2412                }
2413                Ok(worker_node::Property {
2414                    is_streaming: is_streaming__.unwrap_or_default(),
2415                    is_serving: is_serving__.unwrap_or_default(),
2416                    is_unschedulable: is_unschedulable__.unwrap_or_default(),
2417                    internal_rpc_host_addr: internal_rpc_host_addr__.unwrap_or_default(),
2418                    parallelism: parallelism__.unwrap_or_default(),
2419                    resource_group: resource_group__,
2420                    is_iceberg_compactor: is_iceberg_compactor__.unwrap_or_default(),
2421                })
2422            }
2423        }
2424        deserializer.deserialize_struct("common.WorkerNode.Property", FIELDS, GeneratedVisitor)
2425    }
2426}
2427impl serde::Serialize for worker_node::Resource {
2428    #[allow(deprecated)]
2429    fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
2430    where
2431        S: serde::Serializer,
2432    {
2433        use serde::ser::SerializeStruct;
2434        let mut len = 0;
2435        if !self.rw_version.is_empty() {
2436            len += 1;
2437        }
2438        if self.total_memory_bytes != 0 {
2439            len += 1;
2440        }
2441        if self.total_cpu_cores != 0 {
2442            len += 1;
2443        }
2444        if !self.hostname.is_empty() {
2445            len += 1;
2446        }
2447        let mut struct_ser = serializer.serialize_struct("common.WorkerNode.Resource", len)?;
2448        if !self.rw_version.is_empty() {
2449            struct_ser.serialize_field("rwVersion", &self.rw_version)?;
2450        }
2451        if self.total_memory_bytes != 0 {
2452            #[allow(clippy::needless_borrow)]
2453            #[allow(clippy::needless_borrows_for_generic_args)]
2454            struct_ser.serialize_field("totalMemoryBytes", ToString::to_string(&self.total_memory_bytes).as_str())?;
2455        }
2456        if self.total_cpu_cores != 0 {
2457            #[allow(clippy::needless_borrow)]
2458            #[allow(clippy::needless_borrows_for_generic_args)]
2459            struct_ser.serialize_field("totalCpuCores", ToString::to_string(&self.total_cpu_cores).as_str())?;
2460        }
2461        if !self.hostname.is_empty() {
2462            struct_ser.serialize_field("hostname", &self.hostname)?;
2463        }
2464        struct_ser.end()
2465    }
2466}
2467impl<'de> serde::Deserialize<'de> for worker_node::Resource {
2468    #[allow(deprecated)]
2469    fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
2470    where
2471        D: serde::Deserializer<'de>,
2472    {
2473        const FIELDS: &[&str] = &[
2474            "rw_version",
2475            "rwVersion",
2476            "total_memory_bytes",
2477            "totalMemoryBytes",
2478            "total_cpu_cores",
2479            "totalCpuCores",
2480            "hostname",
2481        ];
2482
2483        #[allow(clippy::enum_variant_names)]
2484        enum GeneratedField {
2485            RwVersion,
2486            TotalMemoryBytes,
2487            TotalCpuCores,
2488            Hostname,
2489        }
2490        impl<'de> serde::Deserialize<'de> for GeneratedField {
2491            fn deserialize<D>(deserializer: D) -> std::result::Result<GeneratedField, D::Error>
2492            where
2493                D: serde::Deserializer<'de>,
2494            {
2495                struct GeneratedVisitor;
2496
2497                impl serde::de::Visitor<'_> for GeneratedVisitor {
2498                    type Value = GeneratedField;
2499
2500                    fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2501                        write!(formatter, "expected one of: {:?}", &FIELDS)
2502                    }
2503
2504                    #[allow(unused_variables)]
2505                    fn visit_str<E>(self, value: &str) -> std::result::Result<GeneratedField, E>
2506                    where
2507                        E: serde::de::Error,
2508                    {
2509                        match value {
2510                            "rwVersion" | "rw_version" => Ok(GeneratedField::RwVersion),
2511                            "totalMemoryBytes" | "total_memory_bytes" => Ok(GeneratedField::TotalMemoryBytes),
2512                            "totalCpuCores" | "total_cpu_cores" => Ok(GeneratedField::TotalCpuCores),
2513                            "hostname" => Ok(GeneratedField::Hostname),
2514                            _ => Err(serde::de::Error::unknown_field(value, FIELDS)),
2515                        }
2516                    }
2517                }
2518                deserializer.deserialize_identifier(GeneratedVisitor)
2519            }
2520        }
2521        struct GeneratedVisitor;
2522        impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
2523            type Value = worker_node::Resource;
2524
2525            fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2526                formatter.write_str("struct common.WorkerNode.Resource")
2527            }
2528
2529            fn visit_map<V>(self, mut map_: V) -> std::result::Result<worker_node::Resource, V::Error>
2530                where
2531                    V: serde::de::MapAccess<'de>,
2532            {
2533                let mut rw_version__ = None;
2534                let mut total_memory_bytes__ = None;
2535                let mut total_cpu_cores__ = None;
2536                let mut hostname__ = None;
2537                while let Some(k) = map_.next_key()? {
2538                    match k {
2539                        GeneratedField::RwVersion => {
2540                            if rw_version__.is_some() {
2541                                return Err(serde::de::Error::duplicate_field("rwVersion"));
2542                            }
2543                            rw_version__ = Some(map_.next_value()?);
2544                        }
2545                        GeneratedField::TotalMemoryBytes => {
2546                            if total_memory_bytes__.is_some() {
2547                                return Err(serde::de::Error::duplicate_field("totalMemoryBytes"));
2548                            }
2549                            total_memory_bytes__ = 
2550                                Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0)
2551                            ;
2552                        }
2553                        GeneratedField::TotalCpuCores => {
2554                            if total_cpu_cores__.is_some() {
2555                                return Err(serde::de::Error::duplicate_field("totalCpuCores"));
2556                            }
2557                            total_cpu_cores__ = 
2558                                Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0)
2559                            ;
2560                        }
2561                        GeneratedField::Hostname => {
2562                            if hostname__.is_some() {
2563                                return Err(serde::de::Error::duplicate_field("hostname"));
2564                            }
2565                            hostname__ = Some(map_.next_value()?);
2566                        }
2567                    }
2568                }
2569                Ok(worker_node::Resource {
2570                    rw_version: rw_version__.unwrap_or_default(),
2571                    total_memory_bytes: total_memory_bytes__.unwrap_or_default(),
2572                    total_cpu_cores: total_cpu_cores__.unwrap_or_default(),
2573                    hostname: hostname__.unwrap_or_default(),
2574                })
2575            }
2576        }
2577        deserializer.deserialize_struct("common.WorkerNode.Resource", FIELDS, GeneratedVisitor)
2578    }
2579}
2580impl serde::Serialize for worker_node::State {
2581    #[allow(deprecated)]
2582    fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
2583    where
2584        S: serde::Serializer,
2585    {
2586        let variant = match self {
2587            Self::Unspecified => "UNSPECIFIED",
2588            Self::Starting => "STARTING",
2589            Self::Running => "RUNNING",
2590        };
2591        serializer.serialize_str(variant)
2592    }
2593}
2594impl<'de> serde::Deserialize<'de> for worker_node::State {
2595    #[allow(deprecated)]
2596    fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
2597    where
2598        D: serde::Deserializer<'de>,
2599    {
2600        const FIELDS: &[&str] = &[
2601            "UNSPECIFIED",
2602            "STARTING",
2603            "RUNNING",
2604        ];
2605
2606        struct GeneratedVisitor;
2607
2608        impl serde::de::Visitor<'_> for GeneratedVisitor {
2609            type Value = worker_node::State;
2610
2611            fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2612                write!(formatter, "expected one of: {:?}", &FIELDS)
2613            }
2614
2615            fn visit_i64<E>(self, v: i64) -> std::result::Result<Self::Value, E>
2616            where
2617                E: serde::de::Error,
2618            {
2619                i32::try_from(v)
2620                    .ok()
2621                    .and_then(|x| x.try_into().ok())
2622                    .ok_or_else(|| {
2623                        serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self)
2624                    })
2625            }
2626
2627            fn visit_u64<E>(self, v: u64) -> std::result::Result<Self::Value, E>
2628            where
2629                E: serde::de::Error,
2630            {
2631                i32::try_from(v)
2632                    .ok()
2633                    .and_then(|x| x.try_into().ok())
2634                    .ok_or_else(|| {
2635                        serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self)
2636                    })
2637            }
2638
2639            fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
2640            where
2641                E: serde::de::Error,
2642            {
2643                match value {
2644                    "UNSPECIFIED" => Ok(worker_node::State::Unspecified),
2645                    "STARTING" => Ok(worker_node::State::Starting),
2646                    "RUNNING" => Ok(worker_node::State::Running),
2647                    _ => Err(serde::de::Error::unknown_variant(value, FIELDS)),
2648                }
2649            }
2650        }
2651        deserializer.deserialize_any(GeneratedVisitor)
2652    }
2653}
2654impl serde::Serialize for WorkerSlotMapping {
2655    #[allow(deprecated)]
2656    fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
2657    where
2658        S: serde::Serializer,
2659    {
2660        use serde::ser::SerializeStruct;
2661        let mut len = 0;
2662        if !self.original_indices.is_empty() {
2663            len += 1;
2664        }
2665        if !self.data.is_empty() {
2666            len += 1;
2667        }
2668        let mut struct_ser = serializer.serialize_struct("common.WorkerSlotMapping", len)?;
2669        if !self.original_indices.is_empty() {
2670            struct_ser.serialize_field("originalIndices", &self.original_indices)?;
2671        }
2672        if !self.data.is_empty() {
2673            struct_ser.serialize_field("data", &self.data.iter().map(ToString::to_string).collect::<Vec<_>>())?;
2674        }
2675        struct_ser.end()
2676    }
2677}
2678impl<'de> serde::Deserialize<'de> for WorkerSlotMapping {
2679    #[allow(deprecated)]
2680    fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
2681    where
2682        D: serde::Deserializer<'de>,
2683    {
2684        const FIELDS: &[&str] = &[
2685            "original_indices",
2686            "originalIndices",
2687            "data",
2688        ];
2689
2690        #[allow(clippy::enum_variant_names)]
2691        enum GeneratedField {
2692            OriginalIndices,
2693            Data,
2694        }
2695        impl<'de> serde::Deserialize<'de> for GeneratedField {
2696            fn deserialize<D>(deserializer: D) -> std::result::Result<GeneratedField, D::Error>
2697            where
2698                D: serde::Deserializer<'de>,
2699            {
2700                struct GeneratedVisitor;
2701
2702                impl serde::de::Visitor<'_> for GeneratedVisitor {
2703                    type Value = GeneratedField;
2704
2705                    fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2706                        write!(formatter, "expected one of: {:?}", &FIELDS)
2707                    }
2708
2709                    #[allow(unused_variables)]
2710                    fn visit_str<E>(self, value: &str) -> std::result::Result<GeneratedField, E>
2711                    where
2712                        E: serde::de::Error,
2713                    {
2714                        match value {
2715                            "originalIndices" | "original_indices" => Ok(GeneratedField::OriginalIndices),
2716                            "data" => Ok(GeneratedField::Data),
2717                            _ => Err(serde::de::Error::unknown_field(value, FIELDS)),
2718                        }
2719                    }
2720                }
2721                deserializer.deserialize_identifier(GeneratedVisitor)
2722            }
2723        }
2724        struct GeneratedVisitor;
2725        impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
2726            type Value = WorkerSlotMapping;
2727
2728            fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2729                formatter.write_str("struct common.WorkerSlotMapping")
2730            }
2731
2732            fn visit_map<V>(self, mut map_: V) -> std::result::Result<WorkerSlotMapping, V::Error>
2733                where
2734                    V: serde::de::MapAccess<'de>,
2735            {
2736                let mut original_indices__ = None;
2737                let mut data__ = None;
2738                while let Some(k) = map_.next_key()? {
2739                    match k {
2740                        GeneratedField::OriginalIndices => {
2741                            if original_indices__.is_some() {
2742                                return Err(serde::de::Error::duplicate_field("originalIndices"));
2743                            }
2744                            original_indices__ = 
2745                                Some(map_.next_value::<Vec<::pbjson::private::NumberDeserialize<_>>>()?
2746                                    .into_iter().map(|x| x.0).collect())
2747                            ;
2748                        }
2749                        GeneratedField::Data => {
2750                            if data__.is_some() {
2751                                return Err(serde::de::Error::duplicate_field("data"));
2752                            }
2753                            data__ = 
2754                                Some(map_.next_value::<Vec<::pbjson::private::NumberDeserialize<_>>>()?
2755                                    .into_iter().map(|x| x.0).collect())
2756                            ;
2757                        }
2758                    }
2759                }
2760                Ok(WorkerSlotMapping {
2761                    original_indices: original_indices__.unwrap_or_default(),
2762                    data: data__.unwrap_or_default(),
2763                })
2764            }
2765        }
2766        deserializer.deserialize_struct("common.WorkerSlotMapping", FIELDS, GeneratedVisitor)
2767    }
2768}
2769impl serde::Serialize for WorkerType {
2770    #[allow(deprecated)]
2771    fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
2772    where
2773        S: serde::Serializer,
2774    {
2775        let variant = match self {
2776            Self::Unspecified => "WORKER_TYPE_UNSPECIFIED",
2777            Self::Frontend => "WORKER_TYPE_FRONTEND",
2778            Self::ComputeNode => "WORKER_TYPE_COMPUTE_NODE",
2779            Self::RiseCtl => "WORKER_TYPE_RISE_CTL",
2780            Self::Compactor => "WORKER_TYPE_COMPACTOR",
2781            Self::Meta => "WORKER_TYPE_META",
2782        };
2783        serializer.serialize_str(variant)
2784    }
2785}
2786impl<'de> serde::Deserialize<'de> for WorkerType {
2787    #[allow(deprecated)]
2788    fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
2789    where
2790        D: serde::Deserializer<'de>,
2791    {
2792        const FIELDS: &[&str] = &[
2793            "WORKER_TYPE_UNSPECIFIED",
2794            "WORKER_TYPE_FRONTEND",
2795            "WORKER_TYPE_COMPUTE_NODE",
2796            "WORKER_TYPE_RISE_CTL",
2797            "WORKER_TYPE_COMPACTOR",
2798            "WORKER_TYPE_META",
2799        ];
2800
2801        struct GeneratedVisitor;
2802
2803        impl serde::de::Visitor<'_> for GeneratedVisitor {
2804            type Value = WorkerType;
2805
2806            fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2807                write!(formatter, "expected one of: {:?}", &FIELDS)
2808            }
2809
2810            fn visit_i64<E>(self, v: i64) -> std::result::Result<Self::Value, E>
2811            where
2812                E: serde::de::Error,
2813            {
2814                i32::try_from(v)
2815                    .ok()
2816                    .and_then(|x| x.try_into().ok())
2817                    .ok_or_else(|| {
2818                        serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self)
2819                    })
2820            }
2821
2822            fn visit_u64<E>(self, v: u64) -> std::result::Result<Self::Value, E>
2823            where
2824                E: serde::de::Error,
2825            {
2826                i32::try_from(v)
2827                    .ok()
2828                    .and_then(|x| x.try_into().ok())
2829                    .ok_or_else(|| {
2830                        serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self)
2831                    })
2832            }
2833
2834            fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
2835            where
2836                E: serde::de::Error,
2837            {
2838                match value {
2839                    "WORKER_TYPE_UNSPECIFIED" => Ok(WorkerType::Unspecified),
2840                    "WORKER_TYPE_FRONTEND" => Ok(WorkerType::Frontend),
2841                    "WORKER_TYPE_COMPUTE_NODE" => Ok(WorkerType::ComputeNode),
2842                    "WORKER_TYPE_RISE_CTL" => Ok(WorkerType::RiseCtl),
2843                    "WORKER_TYPE_COMPACTOR" => Ok(WorkerType::Compactor),
2844                    "WORKER_TYPE_META" => Ok(WorkerType::Meta),
2845                    _ => Err(serde::de::Error::unknown_variant(value, FIELDS)),
2846                }
2847            }
2848        }
2849        deserializer.deserialize_any(GeneratedVisitor)
2850    }
2851}