1#![allow(unknown_lints)]
6#![allow(clippy::all)]
7
8#![allow(unused_attributes)]
9#![cfg_attr(rustfmt, rustfmt::skip)]
10
11#![allow(box_pointers)]
12#![allow(dead_code)]
13#![allow(missing_docs)]
14#![allow(non_camel_case_types)]
15#![allow(non_snake_case)]
16#![allow(non_upper_case_globals)]
17#![allow(trivial_casts)]
18#![allow(unused_imports)]
19#![allow(unused_results)]
20#[derive(PartialEq,Clone,Default)]
27pub struct CreateSessionRequest {
28 pub database: ::std::string::String,
30 pub session: ::protobuf::SingularPtrField<Session>,
31 pub unknown_fields: ::protobuf::UnknownFields,
33 pub cached_size: ::protobuf::CachedSize,
34}
35
36impl<'a> ::std::default::Default for &'a CreateSessionRequest {
37 fn default() -> &'a CreateSessionRequest {
38 <CreateSessionRequest as ::protobuf::Message>::default_instance()
39 }
40}
41
42impl CreateSessionRequest {
43 pub fn new() -> CreateSessionRequest {
44 ::std::default::Default::default()
45 }
46
47 pub fn get_database(&self) -> &str {
51 &self.database
52 }
53 pub fn clear_database(&mut self) {
54 self.database.clear();
55 }
56
57 pub fn set_database(&mut self, v: ::std::string::String) {
59 self.database = v;
60 }
61
62 pub fn mut_database(&mut self) -> &mut ::std::string::String {
65 &mut self.database
66 }
67
68 pub fn take_database(&mut self) -> ::std::string::String {
70 ::std::mem::replace(&mut self.database, ::std::string::String::new())
71 }
72
73 pub fn get_session(&self) -> &Session {
77 self.session.as_ref().unwrap_or_else(|| <Session as ::protobuf::Message>::default_instance())
78 }
79 pub fn clear_session(&mut self) {
80 self.session.clear();
81 }
82
83 pub fn has_session(&self) -> bool {
84 self.session.is_some()
85 }
86
87 pub fn set_session(&mut self, v: Session) {
89 self.session = ::protobuf::SingularPtrField::some(v);
90 }
91
92 pub fn mut_session(&mut self) -> &mut Session {
95 if self.session.is_none() {
96 self.session.set_default();
97 }
98 self.session.as_mut().unwrap()
99 }
100
101 pub fn take_session(&mut self) -> Session {
103 self.session.take().unwrap_or_else(|| Session::new())
104 }
105}
106
107impl ::protobuf::Message for CreateSessionRequest {
108 fn is_initialized(&self) -> bool {
109 for v in &self.session {
110 if !v.is_initialized() {
111 return false;
112 }
113 };
114 true
115 }
116
117 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
118 while !is.eof()? {
119 let (field_number, wire_type) = is.read_tag_unpack()?;
120 match field_number {
121 1 => {
122 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.database)?;
123 },
124 2 => {
125 ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.session)?;
126 },
127 _ => {
128 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
129 },
130 };
131 }
132 ::std::result::Result::Ok(())
133 }
134
135 #[allow(unused_variables)]
137 fn compute_size(&self) -> u32 {
138 let mut my_size = 0;
139 if !self.database.is_empty() {
140 my_size += ::protobuf::rt::string_size(1, &self.database);
141 }
142 if let Some(ref v) = self.session.as_ref() {
143 let len = v.compute_size();
144 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
145 }
146 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
147 self.cached_size.set(my_size);
148 my_size
149 }
150
151 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
152 if !self.database.is_empty() {
153 os.write_string(1, &self.database)?;
154 }
155 if let Some(ref v) = self.session.as_ref() {
156 os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
157 os.write_raw_varint32(v.get_cached_size())?;
158 v.write_to_with_cached_sizes(os)?;
159 }
160 os.write_unknown_fields(self.get_unknown_fields())?;
161 ::std::result::Result::Ok(())
162 }
163
164 fn get_cached_size(&self) -> u32 {
165 self.cached_size.get()
166 }
167
168 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
169 &self.unknown_fields
170 }
171
172 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
173 &mut self.unknown_fields
174 }
175
176 fn as_any(&self) -> &dyn (::std::any::Any) {
177 self as &dyn (::std::any::Any)
178 }
179 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
180 self as &mut dyn (::std::any::Any)
181 }
182 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
183 self
184 }
185
186 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
187 Self::descriptor_static()
188 }
189
190 fn new() -> CreateSessionRequest {
191 CreateSessionRequest::new()
192 }
193
194 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
195 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
196 descriptor.get(|| {
197 let mut fields = ::std::vec::Vec::new();
198 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
199 "database",
200 |m: &CreateSessionRequest| { &m.database },
201 |m: &mut CreateSessionRequest| { &mut m.database },
202 ));
203 fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Session>>(
204 "session",
205 |m: &CreateSessionRequest| { &m.session },
206 |m: &mut CreateSessionRequest| { &mut m.session },
207 ));
208 ::protobuf::reflect::MessageDescriptor::new_pb_name::<CreateSessionRequest>(
209 "CreateSessionRequest",
210 fields,
211 file_descriptor_proto()
212 )
213 })
214 }
215
216 fn default_instance() -> &'static CreateSessionRequest {
217 static instance: ::protobuf::rt::LazyV2<CreateSessionRequest> = ::protobuf::rt::LazyV2::INIT;
218 instance.get(CreateSessionRequest::new)
219 }
220}
221
222impl ::protobuf::Clear for CreateSessionRequest {
223 fn clear(&mut self) {
224 self.database.clear();
225 self.session.clear();
226 self.unknown_fields.clear();
227 }
228}
229
230impl ::std::fmt::Debug for CreateSessionRequest {
231 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
232 ::protobuf::text_format::fmt(self, f)
233 }
234}
235
236impl ::protobuf::reflect::ProtobufValue for CreateSessionRequest {
237 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
238 ::protobuf::reflect::ReflectValueRef::Message(self)
239 }
240}
241
242#[derive(PartialEq,Clone,Default)]
243pub struct BatchCreateSessionsRequest {
244 pub database: ::std::string::String,
246 pub session_template: ::protobuf::SingularPtrField<Session>,
247 pub session_count: i32,
248 pub unknown_fields: ::protobuf::UnknownFields,
250 pub cached_size: ::protobuf::CachedSize,
251}
252
253impl<'a> ::std::default::Default for &'a BatchCreateSessionsRequest {
254 fn default() -> &'a BatchCreateSessionsRequest {
255 <BatchCreateSessionsRequest as ::protobuf::Message>::default_instance()
256 }
257}
258
259impl BatchCreateSessionsRequest {
260 pub fn new() -> BatchCreateSessionsRequest {
261 ::std::default::Default::default()
262 }
263
264 pub fn get_database(&self) -> &str {
268 &self.database
269 }
270 pub fn clear_database(&mut self) {
271 self.database.clear();
272 }
273
274 pub fn set_database(&mut self, v: ::std::string::String) {
276 self.database = v;
277 }
278
279 pub fn mut_database(&mut self) -> &mut ::std::string::String {
282 &mut self.database
283 }
284
285 pub fn take_database(&mut self) -> ::std::string::String {
287 ::std::mem::replace(&mut self.database, ::std::string::String::new())
288 }
289
290 pub fn get_session_template(&self) -> &Session {
294 self.session_template.as_ref().unwrap_or_else(|| <Session as ::protobuf::Message>::default_instance())
295 }
296 pub fn clear_session_template(&mut self) {
297 self.session_template.clear();
298 }
299
300 pub fn has_session_template(&self) -> bool {
301 self.session_template.is_some()
302 }
303
304 pub fn set_session_template(&mut self, v: Session) {
306 self.session_template = ::protobuf::SingularPtrField::some(v);
307 }
308
309 pub fn mut_session_template(&mut self) -> &mut Session {
312 if self.session_template.is_none() {
313 self.session_template.set_default();
314 }
315 self.session_template.as_mut().unwrap()
316 }
317
318 pub fn take_session_template(&mut self) -> Session {
320 self.session_template.take().unwrap_or_else(|| Session::new())
321 }
322
323 pub fn get_session_count(&self) -> i32 {
327 self.session_count
328 }
329 pub fn clear_session_count(&mut self) {
330 self.session_count = 0;
331 }
332
333 pub fn set_session_count(&mut self, v: i32) {
335 self.session_count = v;
336 }
337}
338
339impl ::protobuf::Message for BatchCreateSessionsRequest {
340 fn is_initialized(&self) -> bool {
341 for v in &self.session_template {
342 if !v.is_initialized() {
343 return false;
344 }
345 };
346 true
347 }
348
349 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
350 while !is.eof()? {
351 let (field_number, wire_type) = is.read_tag_unpack()?;
352 match field_number {
353 1 => {
354 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.database)?;
355 },
356 2 => {
357 ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.session_template)?;
358 },
359 3 => {
360 if wire_type != ::protobuf::wire_format::WireTypeVarint {
361 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
362 }
363 let tmp = is.read_int32()?;
364 self.session_count = tmp;
365 },
366 _ => {
367 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
368 },
369 };
370 }
371 ::std::result::Result::Ok(())
372 }
373
374 #[allow(unused_variables)]
376 fn compute_size(&self) -> u32 {
377 let mut my_size = 0;
378 if !self.database.is_empty() {
379 my_size += ::protobuf::rt::string_size(1, &self.database);
380 }
381 if let Some(ref v) = self.session_template.as_ref() {
382 let len = v.compute_size();
383 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
384 }
385 if self.session_count != 0 {
386 my_size += ::protobuf::rt::value_size(3, self.session_count, ::protobuf::wire_format::WireTypeVarint);
387 }
388 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
389 self.cached_size.set(my_size);
390 my_size
391 }
392
393 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
394 if !self.database.is_empty() {
395 os.write_string(1, &self.database)?;
396 }
397 if let Some(ref v) = self.session_template.as_ref() {
398 os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
399 os.write_raw_varint32(v.get_cached_size())?;
400 v.write_to_with_cached_sizes(os)?;
401 }
402 if self.session_count != 0 {
403 os.write_int32(3, self.session_count)?;
404 }
405 os.write_unknown_fields(self.get_unknown_fields())?;
406 ::std::result::Result::Ok(())
407 }
408
409 fn get_cached_size(&self) -> u32 {
410 self.cached_size.get()
411 }
412
413 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
414 &self.unknown_fields
415 }
416
417 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
418 &mut self.unknown_fields
419 }
420
421 fn as_any(&self) -> &dyn (::std::any::Any) {
422 self as &dyn (::std::any::Any)
423 }
424 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
425 self as &mut dyn (::std::any::Any)
426 }
427 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
428 self
429 }
430
431 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
432 Self::descriptor_static()
433 }
434
435 fn new() -> BatchCreateSessionsRequest {
436 BatchCreateSessionsRequest::new()
437 }
438
439 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
440 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
441 descriptor.get(|| {
442 let mut fields = ::std::vec::Vec::new();
443 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
444 "database",
445 |m: &BatchCreateSessionsRequest| { &m.database },
446 |m: &mut BatchCreateSessionsRequest| { &mut m.database },
447 ));
448 fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Session>>(
449 "session_template",
450 |m: &BatchCreateSessionsRequest| { &m.session_template },
451 |m: &mut BatchCreateSessionsRequest| { &mut m.session_template },
452 ));
453 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
454 "session_count",
455 |m: &BatchCreateSessionsRequest| { &m.session_count },
456 |m: &mut BatchCreateSessionsRequest| { &mut m.session_count },
457 ));
458 ::protobuf::reflect::MessageDescriptor::new_pb_name::<BatchCreateSessionsRequest>(
459 "BatchCreateSessionsRequest",
460 fields,
461 file_descriptor_proto()
462 )
463 })
464 }
465
466 fn default_instance() -> &'static BatchCreateSessionsRequest {
467 static instance: ::protobuf::rt::LazyV2<BatchCreateSessionsRequest> = ::protobuf::rt::LazyV2::INIT;
468 instance.get(BatchCreateSessionsRequest::new)
469 }
470}
471
472impl ::protobuf::Clear for BatchCreateSessionsRequest {
473 fn clear(&mut self) {
474 self.database.clear();
475 self.session_template.clear();
476 self.session_count = 0;
477 self.unknown_fields.clear();
478 }
479}
480
481impl ::std::fmt::Debug for BatchCreateSessionsRequest {
482 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
483 ::protobuf::text_format::fmt(self, f)
484 }
485}
486
487impl ::protobuf::reflect::ProtobufValue for BatchCreateSessionsRequest {
488 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
489 ::protobuf::reflect::ReflectValueRef::Message(self)
490 }
491}
492
493#[derive(PartialEq,Clone,Default)]
494pub struct BatchCreateSessionsResponse {
495 pub session: ::protobuf::RepeatedField<Session>,
497 pub unknown_fields: ::protobuf::UnknownFields,
499 pub cached_size: ::protobuf::CachedSize,
500}
501
502impl<'a> ::std::default::Default for &'a BatchCreateSessionsResponse {
503 fn default() -> &'a BatchCreateSessionsResponse {
504 <BatchCreateSessionsResponse as ::protobuf::Message>::default_instance()
505 }
506}
507
508impl BatchCreateSessionsResponse {
509 pub fn new() -> BatchCreateSessionsResponse {
510 ::std::default::Default::default()
511 }
512
513 pub fn get_session(&self) -> &[Session] {
517 &self.session
518 }
519 pub fn clear_session(&mut self) {
520 self.session.clear();
521 }
522
523 pub fn set_session(&mut self, v: ::protobuf::RepeatedField<Session>) {
525 self.session = v;
526 }
527
528 pub fn mut_session(&mut self) -> &mut ::protobuf::RepeatedField<Session> {
530 &mut self.session
531 }
532
533 pub fn take_session(&mut self) -> ::protobuf::RepeatedField<Session> {
535 ::std::mem::replace(&mut self.session, ::protobuf::RepeatedField::new())
536 }
537}
538
539impl ::protobuf::Message for BatchCreateSessionsResponse {
540 fn is_initialized(&self) -> bool {
541 for v in &self.session {
542 if !v.is_initialized() {
543 return false;
544 }
545 };
546 true
547 }
548
549 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
550 while !is.eof()? {
551 let (field_number, wire_type) = is.read_tag_unpack()?;
552 match field_number {
553 1 => {
554 ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.session)?;
555 },
556 _ => {
557 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
558 },
559 };
560 }
561 ::std::result::Result::Ok(())
562 }
563
564 #[allow(unused_variables)]
566 fn compute_size(&self) -> u32 {
567 let mut my_size = 0;
568 for value in &self.session {
569 let len = value.compute_size();
570 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
571 };
572 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
573 self.cached_size.set(my_size);
574 my_size
575 }
576
577 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
578 for v in &self.session {
579 os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
580 os.write_raw_varint32(v.get_cached_size())?;
581 v.write_to_with_cached_sizes(os)?;
582 };
583 os.write_unknown_fields(self.get_unknown_fields())?;
584 ::std::result::Result::Ok(())
585 }
586
587 fn get_cached_size(&self) -> u32 {
588 self.cached_size.get()
589 }
590
591 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
592 &self.unknown_fields
593 }
594
595 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
596 &mut self.unknown_fields
597 }
598
599 fn as_any(&self) -> &dyn (::std::any::Any) {
600 self as &dyn (::std::any::Any)
601 }
602 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
603 self as &mut dyn (::std::any::Any)
604 }
605 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
606 self
607 }
608
609 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
610 Self::descriptor_static()
611 }
612
613 fn new() -> BatchCreateSessionsResponse {
614 BatchCreateSessionsResponse::new()
615 }
616
617 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
618 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
619 descriptor.get(|| {
620 let mut fields = ::std::vec::Vec::new();
621 fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Session>>(
622 "session",
623 |m: &BatchCreateSessionsResponse| { &m.session },
624 |m: &mut BatchCreateSessionsResponse| { &mut m.session },
625 ));
626 ::protobuf::reflect::MessageDescriptor::new_pb_name::<BatchCreateSessionsResponse>(
627 "BatchCreateSessionsResponse",
628 fields,
629 file_descriptor_proto()
630 )
631 })
632 }
633
634 fn default_instance() -> &'static BatchCreateSessionsResponse {
635 static instance: ::protobuf::rt::LazyV2<BatchCreateSessionsResponse> = ::protobuf::rt::LazyV2::INIT;
636 instance.get(BatchCreateSessionsResponse::new)
637 }
638}
639
640impl ::protobuf::Clear for BatchCreateSessionsResponse {
641 fn clear(&mut self) {
642 self.session.clear();
643 self.unknown_fields.clear();
644 }
645}
646
647impl ::std::fmt::Debug for BatchCreateSessionsResponse {
648 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
649 ::protobuf::text_format::fmt(self, f)
650 }
651}
652
653impl ::protobuf::reflect::ProtobufValue for BatchCreateSessionsResponse {
654 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
655 ::protobuf::reflect::ReflectValueRef::Message(self)
656 }
657}
658
659#[derive(PartialEq,Clone,Default)]
660pub struct Session {
661 pub name: ::std::string::String,
663 pub labels: ::std::collections::HashMap<::std::string::String, ::std::string::String>,
664 pub create_time: ::protobuf::SingularPtrField<::protobuf::well_known_types::Timestamp>,
665 pub approximate_last_use_time: ::protobuf::SingularPtrField<::protobuf::well_known_types::Timestamp>,
666 pub creator_role: ::std::string::String,
667 pub unknown_fields: ::protobuf::UnknownFields,
669 pub cached_size: ::protobuf::CachedSize,
670}
671
672impl<'a> ::std::default::Default for &'a Session {
673 fn default() -> &'a Session {
674 <Session as ::protobuf::Message>::default_instance()
675 }
676}
677
678impl Session {
679 pub fn new() -> Session {
680 ::std::default::Default::default()
681 }
682
683 pub fn get_name(&self) -> &str {
687 &self.name
688 }
689 pub fn clear_name(&mut self) {
690 self.name.clear();
691 }
692
693 pub fn set_name(&mut self, v: ::std::string::String) {
695 self.name = v;
696 }
697
698 pub fn mut_name(&mut self) -> &mut ::std::string::String {
701 &mut self.name
702 }
703
704 pub fn take_name(&mut self) -> ::std::string::String {
706 ::std::mem::replace(&mut self.name, ::std::string::String::new())
707 }
708
709 pub fn get_labels(&self) -> &::std::collections::HashMap<::std::string::String, ::std::string::String> {
713 &self.labels
714 }
715 pub fn clear_labels(&mut self) {
716 self.labels.clear();
717 }
718
719 pub fn set_labels(&mut self, v: ::std::collections::HashMap<::std::string::String, ::std::string::String>) {
721 self.labels = v;
722 }
723
724 pub fn mut_labels(&mut self) -> &mut ::std::collections::HashMap<::std::string::String, ::std::string::String> {
726 &mut self.labels
727 }
728
729 pub fn take_labels(&mut self) -> ::std::collections::HashMap<::std::string::String, ::std::string::String> {
731 ::std::mem::replace(&mut self.labels, ::std::collections::HashMap::new())
732 }
733
734 pub fn get_create_time(&self) -> &::protobuf::well_known_types::Timestamp {
738 self.create_time.as_ref().unwrap_or_else(|| <::protobuf::well_known_types::Timestamp as ::protobuf::Message>::default_instance())
739 }
740 pub fn clear_create_time(&mut self) {
741 self.create_time.clear();
742 }
743
744 pub fn has_create_time(&self) -> bool {
745 self.create_time.is_some()
746 }
747
748 pub fn set_create_time(&mut self, v: ::protobuf::well_known_types::Timestamp) {
750 self.create_time = ::protobuf::SingularPtrField::some(v);
751 }
752
753 pub fn mut_create_time(&mut self) -> &mut ::protobuf::well_known_types::Timestamp {
756 if self.create_time.is_none() {
757 self.create_time.set_default();
758 }
759 self.create_time.as_mut().unwrap()
760 }
761
762 pub fn take_create_time(&mut self) -> ::protobuf::well_known_types::Timestamp {
764 self.create_time.take().unwrap_or_else(|| ::protobuf::well_known_types::Timestamp::new())
765 }
766
767 pub fn get_approximate_last_use_time(&self) -> &::protobuf::well_known_types::Timestamp {
771 self.approximate_last_use_time.as_ref().unwrap_or_else(|| <::protobuf::well_known_types::Timestamp as ::protobuf::Message>::default_instance())
772 }
773 pub fn clear_approximate_last_use_time(&mut self) {
774 self.approximate_last_use_time.clear();
775 }
776
777 pub fn has_approximate_last_use_time(&self) -> bool {
778 self.approximate_last_use_time.is_some()
779 }
780
781 pub fn set_approximate_last_use_time(&mut self, v: ::protobuf::well_known_types::Timestamp) {
783 self.approximate_last_use_time = ::protobuf::SingularPtrField::some(v);
784 }
785
786 pub fn mut_approximate_last_use_time(&mut self) -> &mut ::protobuf::well_known_types::Timestamp {
789 if self.approximate_last_use_time.is_none() {
790 self.approximate_last_use_time.set_default();
791 }
792 self.approximate_last_use_time.as_mut().unwrap()
793 }
794
795 pub fn take_approximate_last_use_time(&mut self) -> ::protobuf::well_known_types::Timestamp {
797 self.approximate_last_use_time.take().unwrap_or_else(|| ::protobuf::well_known_types::Timestamp::new())
798 }
799
800 pub fn get_creator_role(&self) -> &str {
804 &self.creator_role
805 }
806 pub fn clear_creator_role(&mut self) {
807 self.creator_role.clear();
808 }
809
810 pub fn set_creator_role(&mut self, v: ::std::string::String) {
812 self.creator_role = v;
813 }
814
815 pub fn mut_creator_role(&mut self) -> &mut ::std::string::String {
818 &mut self.creator_role
819 }
820
821 pub fn take_creator_role(&mut self) -> ::std::string::String {
823 ::std::mem::replace(&mut self.creator_role, ::std::string::String::new())
824 }
825}
826
827impl ::protobuf::Message for Session {
828 fn is_initialized(&self) -> bool {
829 for v in &self.create_time {
830 if !v.is_initialized() {
831 return false;
832 }
833 };
834 for v in &self.approximate_last_use_time {
835 if !v.is_initialized() {
836 return false;
837 }
838 };
839 true
840 }
841
842 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
843 while !is.eof()? {
844 let (field_number, wire_type) = is.read_tag_unpack()?;
845 match field_number {
846 1 => {
847 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
848 },
849 2 => {
850 ::protobuf::rt::read_map_into::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeString>(wire_type, is, &mut self.labels)?;
851 },
852 3 => {
853 ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.create_time)?;
854 },
855 4 => {
856 ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.approximate_last_use_time)?;
857 },
858 5 => {
859 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.creator_role)?;
860 },
861 _ => {
862 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
863 },
864 };
865 }
866 ::std::result::Result::Ok(())
867 }
868
869 #[allow(unused_variables)]
871 fn compute_size(&self) -> u32 {
872 let mut my_size = 0;
873 if !self.name.is_empty() {
874 my_size += ::protobuf::rt::string_size(1, &self.name);
875 }
876 my_size += ::protobuf::rt::compute_map_size::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeString>(2, &self.labels);
877 if let Some(ref v) = self.create_time.as_ref() {
878 let len = v.compute_size();
879 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
880 }
881 if let Some(ref v) = self.approximate_last_use_time.as_ref() {
882 let len = v.compute_size();
883 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
884 }
885 if !self.creator_role.is_empty() {
886 my_size += ::protobuf::rt::string_size(5, &self.creator_role);
887 }
888 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
889 self.cached_size.set(my_size);
890 my_size
891 }
892
893 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
894 if !self.name.is_empty() {
895 os.write_string(1, &self.name)?;
896 }
897 ::protobuf::rt::write_map_with_cached_sizes::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeString>(2, &self.labels, os)?;
898 if let Some(ref v) = self.create_time.as_ref() {
899 os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
900 os.write_raw_varint32(v.get_cached_size())?;
901 v.write_to_with_cached_sizes(os)?;
902 }
903 if let Some(ref v) = self.approximate_last_use_time.as_ref() {
904 os.write_tag(4, ::protobuf::wire_format::WireTypeLengthDelimited)?;
905 os.write_raw_varint32(v.get_cached_size())?;
906 v.write_to_with_cached_sizes(os)?;
907 }
908 if !self.creator_role.is_empty() {
909 os.write_string(5, &self.creator_role)?;
910 }
911 os.write_unknown_fields(self.get_unknown_fields())?;
912 ::std::result::Result::Ok(())
913 }
914
915 fn get_cached_size(&self) -> u32 {
916 self.cached_size.get()
917 }
918
919 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
920 &self.unknown_fields
921 }
922
923 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
924 &mut self.unknown_fields
925 }
926
927 fn as_any(&self) -> &dyn (::std::any::Any) {
928 self as &dyn (::std::any::Any)
929 }
930 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
931 self as &mut dyn (::std::any::Any)
932 }
933 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
934 self
935 }
936
937 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
938 Self::descriptor_static()
939 }
940
941 fn new() -> Session {
942 Session::new()
943 }
944
945 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
946 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
947 descriptor.get(|| {
948 let mut fields = ::std::vec::Vec::new();
949 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
950 "name",
951 |m: &Session| { &m.name },
952 |m: &mut Session| { &mut m.name },
953 ));
954 fields.push(::protobuf::reflect::accessor::make_map_accessor::<_, ::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeString>(
955 "labels",
956 |m: &Session| { &m.labels },
957 |m: &mut Session| { &mut m.labels },
958 ));
959 fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<::protobuf::well_known_types::Timestamp>>(
960 "create_time",
961 |m: &Session| { &m.create_time },
962 |m: &mut Session| { &mut m.create_time },
963 ));
964 fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<::protobuf::well_known_types::Timestamp>>(
965 "approximate_last_use_time",
966 |m: &Session| { &m.approximate_last_use_time },
967 |m: &mut Session| { &mut m.approximate_last_use_time },
968 ));
969 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
970 "creator_role",
971 |m: &Session| { &m.creator_role },
972 |m: &mut Session| { &mut m.creator_role },
973 ));
974 ::protobuf::reflect::MessageDescriptor::new_pb_name::<Session>(
975 "Session",
976 fields,
977 file_descriptor_proto()
978 )
979 })
980 }
981
982 fn default_instance() -> &'static Session {
983 static instance: ::protobuf::rt::LazyV2<Session> = ::protobuf::rt::LazyV2::INIT;
984 instance.get(Session::new)
985 }
986}
987
988impl ::protobuf::Clear for Session {
989 fn clear(&mut self) {
990 self.name.clear();
991 self.labels.clear();
992 self.create_time.clear();
993 self.approximate_last_use_time.clear();
994 self.creator_role.clear();
995 self.unknown_fields.clear();
996 }
997}
998
999impl ::std::fmt::Debug for Session {
1000 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1001 ::protobuf::text_format::fmt(self, f)
1002 }
1003}
1004
1005impl ::protobuf::reflect::ProtobufValue for Session {
1006 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1007 ::protobuf::reflect::ReflectValueRef::Message(self)
1008 }
1009}
1010
1011#[derive(PartialEq,Clone,Default)]
1012pub struct GetSessionRequest {
1013 pub name: ::std::string::String,
1015 pub unknown_fields: ::protobuf::UnknownFields,
1017 pub cached_size: ::protobuf::CachedSize,
1018}
1019
1020impl<'a> ::std::default::Default for &'a GetSessionRequest {
1021 fn default() -> &'a GetSessionRequest {
1022 <GetSessionRequest as ::protobuf::Message>::default_instance()
1023 }
1024}
1025
1026impl GetSessionRequest {
1027 pub fn new() -> GetSessionRequest {
1028 ::std::default::Default::default()
1029 }
1030
1031 pub fn get_name(&self) -> &str {
1035 &self.name
1036 }
1037 pub fn clear_name(&mut self) {
1038 self.name.clear();
1039 }
1040
1041 pub fn set_name(&mut self, v: ::std::string::String) {
1043 self.name = v;
1044 }
1045
1046 pub fn mut_name(&mut self) -> &mut ::std::string::String {
1049 &mut self.name
1050 }
1051
1052 pub fn take_name(&mut self) -> ::std::string::String {
1054 ::std::mem::replace(&mut self.name, ::std::string::String::new())
1055 }
1056}
1057
1058impl ::protobuf::Message for GetSessionRequest {
1059 fn is_initialized(&self) -> bool {
1060 true
1061 }
1062
1063 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1064 while !is.eof()? {
1065 let (field_number, wire_type) = is.read_tag_unpack()?;
1066 match field_number {
1067 1 => {
1068 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
1069 },
1070 _ => {
1071 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1072 },
1073 };
1074 }
1075 ::std::result::Result::Ok(())
1076 }
1077
1078 #[allow(unused_variables)]
1080 fn compute_size(&self) -> u32 {
1081 let mut my_size = 0;
1082 if !self.name.is_empty() {
1083 my_size += ::protobuf::rt::string_size(1, &self.name);
1084 }
1085 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1086 self.cached_size.set(my_size);
1087 my_size
1088 }
1089
1090 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1091 if !self.name.is_empty() {
1092 os.write_string(1, &self.name)?;
1093 }
1094 os.write_unknown_fields(self.get_unknown_fields())?;
1095 ::std::result::Result::Ok(())
1096 }
1097
1098 fn get_cached_size(&self) -> u32 {
1099 self.cached_size.get()
1100 }
1101
1102 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1103 &self.unknown_fields
1104 }
1105
1106 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1107 &mut self.unknown_fields
1108 }
1109
1110 fn as_any(&self) -> &dyn (::std::any::Any) {
1111 self as &dyn (::std::any::Any)
1112 }
1113 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1114 self as &mut dyn (::std::any::Any)
1115 }
1116 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1117 self
1118 }
1119
1120 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1121 Self::descriptor_static()
1122 }
1123
1124 fn new() -> GetSessionRequest {
1125 GetSessionRequest::new()
1126 }
1127
1128 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1129 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
1130 descriptor.get(|| {
1131 let mut fields = ::std::vec::Vec::new();
1132 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1133 "name",
1134 |m: &GetSessionRequest| { &m.name },
1135 |m: &mut GetSessionRequest| { &mut m.name },
1136 ));
1137 ::protobuf::reflect::MessageDescriptor::new_pb_name::<GetSessionRequest>(
1138 "GetSessionRequest",
1139 fields,
1140 file_descriptor_proto()
1141 )
1142 })
1143 }
1144
1145 fn default_instance() -> &'static GetSessionRequest {
1146 static instance: ::protobuf::rt::LazyV2<GetSessionRequest> = ::protobuf::rt::LazyV2::INIT;
1147 instance.get(GetSessionRequest::new)
1148 }
1149}
1150
1151impl ::protobuf::Clear for GetSessionRequest {
1152 fn clear(&mut self) {
1153 self.name.clear();
1154 self.unknown_fields.clear();
1155 }
1156}
1157
1158impl ::std::fmt::Debug for GetSessionRequest {
1159 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1160 ::protobuf::text_format::fmt(self, f)
1161 }
1162}
1163
1164impl ::protobuf::reflect::ProtobufValue for GetSessionRequest {
1165 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1166 ::protobuf::reflect::ReflectValueRef::Message(self)
1167 }
1168}
1169
1170#[derive(PartialEq,Clone,Default)]
1171pub struct ListSessionsRequest {
1172 pub database: ::std::string::String,
1174 pub page_size: i32,
1175 pub page_token: ::std::string::String,
1176 pub filter: ::std::string::String,
1177 pub unknown_fields: ::protobuf::UnknownFields,
1179 pub cached_size: ::protobuf::CachedSize,
1180}
1181
1182impl<'a> ::std::default::Default for &'a ListSessionsRequest {
1183 fn default() -> &'a ListSessionsRequest {
1184 <ListSessionsRequest as ::protobuf::Message>::default_instance()
1185 }
1186}
1187
1188impl ListSessionsRequest {
1189 pub fn new() -> ListSessionsRequest {
1190 ::std::default::Default::default()
1191 }
1192
1193 pub fn get_database(&self) -> &str {
1197 &self.database
1198 }
1199 pub fn clear_database(&mut self) {
1200 self.database.clear();
1201 }
1202
1203 pub fn set_database(&mut self, v: ::std::string::String) {
1205 self.database = v;
1206 }
1207
1208 pub fn mut_database(&mut self) -> &mut ::std::string::String {
1211 &mut self.database
1212 }
1213
1214 pub fn take_database(&mut self) -> ::std::string::String {
1216 ::std::mem::replace(&mut self.database, ::std::string::String::new())
1217 }
1218
1219 pub fn get_page_size(&self) -> i32 {
1223 self.page_size
1224 }
1225 pub fn clear_page_size(&mut self) {
1226 self.page_size = 0;
1227 }
1228
1229 pub fn set_page_size(&mut self, v: i32) {
1231 self.page_size = v;
1232 }
1233
1234 pub fn get_page_token(&self) -> &str {
1238 &self.page_token
1239 }
1240 pub fn clear_page_token(&mut self) {
1241 self.page_token.clear();
1242 }
1243
1244 pub fn set_page_token(&mut self, v: ::std::string::String) {
1246 self.page_token = v;
1247 }
1248
1249 pub fn mut_page_token(&mut self) -> &mut ::std::string::String {
1252 &mut self.page_token
1253 }
1254
1255 pub fn take_page_token(&mut self) -> ::std::string::String {
1257 ::std::mem::replace(&mut self.page_token, ::std::string::String::new())
1258 }
1259
1260 pub fn get_filter(&self) -> &str {
1264 &self.filter
1265 }
1266 pub fn clear_filter(&mut self) {
1267 self.filter.clear();
1268 }
1269
1270 pub fn set_filter(&mut self, v: ::std::string::String) {
1272 self.filter = v;
1273 }
1274
1275 pub fn mut_filter(&mut self) -> &mut ::std::string::String {
1278 &mut self.filter
1279 }
1280
1281 pub fn take_filter(&mut self) -> ::std::string::String {
1283 ::std::mem::replace(&mut self.filter, ::std::string::String::new())
1284 }
1285}
1286
1287impl ::protobuf::Message for ListSessionsRequest {
1288 fn is_initialized(&self) -> bool {
1289 true
1290 }
1291
1292 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1293 while !is.eof()? {
1294 let (field_number, wire_type) = is.read_tag_unpack()?;
1295 match field_number {
1296 1 => {
1297 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.database)?;
1298 },
1299 2 => {
1300 if wire_type != ::protobuf::wire_format::WireTypeVarint {
1301 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1302 }
1303 let tmp = is.read_int32()?;
1304 self.page_size = tmp;
1305 },
1306 3 => {
1307 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.page_token)?;
1308 },
1309 4 => {
1310 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.filter)?;
1311 },
1312 _ => {
1313 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1314 },
1315 };
1316 }
1317 ::std::result::Result::Ok(())
1318 }
1319
1320 #[allow(unused_variables)]
1322 fn compute_size(&self) -> u32 {
1323 let mut my_size = 0;
1324 if !self.database.is_empty() {
1325 my_size += ::protobuf::rt::string_size(1, &self.database);
1326 }
1327 if self.page_size != 0 {
1328 my_size += ::protobuf::rt::value_size(2, self.page_size, ::protobuf::wire_format::WireTypeVarint);
1329 }
1330 if !self.page_token.is_empty() {
1331 my_size += ::protobuf::rt::string_size(3, &self.page_token);
1332 }
1333 if !self.filter.is_empty() {
1334 my_size += ::protobuf::rt::string_size(4, &self.filter);
1335 }
1336 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1337 self.cached_size.set(my_size);
1338 my_size
1339 }
1340
1341 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1342 if !self.database.is_empty() {
1343 os.write_string(1, &self.database)?;
1344 }
1345 if self.page_size != 0 {
1346 os.write_int32(2, self.page_size)?;
1347 }
1348 if !self.page_token.is_empty() {
1349 os.write_string(3, &self.page_token)?;
1350 }
1351 if !self.filter.is_empty() {
1352 os.write_string(4, &self.filter)?;
1353 }
1354 os.write_unknown_fields(self.get_unknown_fields())?;
1355 ::std::result::Result::Ok(())
1356 }
1357
1358 fn get_cached_size(&self) -> u32 {
1359 self.cached_size.get()
1360 }
1361
1362 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1363 &self.unknown_fields
1364 }
1365
1366 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1367 &mut self.unknown_fields
1368 }
1369
1370 fn as_any(&self) -> &dyn (::std::any::Any) {
1371 self as &dyn (::std::any::Any)
1372 }
1373 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1374 self as &mut dyn (::std::any::Any)
1375 }
1376 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1377 self
1378 }
1379
1380 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1381 Self::descriptor_static()
1382 }
1383
1384 fn new() -> ListSessionsRequest {
1385 ListSessionsRequest::new()
1386 }
1387
1388 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1389 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
1390 descriptor.get(|| {
1391 let mut fields = ::std::vec::Vec::new();
1392 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1393 "database",
1394 |m: &ListSessionsRequest| { &m.database },
1395 |m: &mut ListSessionsRequest| { &mut m.database },
1396 ));
1397 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
1398 "page_size",
1399 |m: &ListSessionsRequest| { &m.page_size },
1400 |m: &mut ListSessionsRequest| { &mut m.page_size },
1401 ));
1402 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1403 "page_token",
1404 |m: &ListSessionsRequest| { &m.page_token },
1405 |m: &mut ListSessionsRequest| { &mut m.page_token },
1406 ));
1407 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1408 "filter",
1409 |m: &ListSessionsRequest| { &m.filter },
1410 |m: &mut ListSessionsRequest| { &mut m.filter },
1411 ));
1412 ::protobuf::reflect::MessageDescriptor::new_pb_name::<ListSessionsRequest>(
1413 "ListSessionsRequest",
1414 fields,
1415 file_descriptor_proto()
1416 )
1417 })
1418 }
1419
1420 fn default_instance() -> &'static ListSessionsRequest {
1421 static instance: ::protobuf::rt::LazyV2<ListSessionsRequest> = ::protobuf::rt::LazyV2::INIT;
1422 instance.get(ListSessionsRequest::new)
1423 }
1424}
1425
1426impl ::protobuf::Clear for ListSessionsRequest {
1427 fn clear(&mut self) {
1428 self.database.clear();
1429 self.page_size = 0;
1430 self.page_token.clear();
1431 self.filter.clear();
1432 self.unknown_fields.clear();
1433 }
1434}
1435
1436impl ::std::fmt::Debug for ListSessionsRequest {
1437 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1438 ::protobuf::text_format::fmt(self, f)
1439 }
1440}
1441
1442impl ::protobuf::reflect::ProtobufValue for ListSessionsRequest {
1443 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1444 ::protobuf::reflect::ReflectValueRef::Message(self)
1445 }
1446}
1447
1448#[derive(PartialEq,Clone,Default)]
1449pub struct ListSessionsResponse {
1450 pub sessions: ::protobuf::RepeatedField<Session>,
1452 pub next_page_token: ::std::string::String,
1453 pub unknown_fields: ::protobuf::UnknownFields,
1455 pub cached_size: ::protobuf::CachedSize,
1456}
1457
1458impl<'a> ::std::default::Default for &'a ListSessionsResponse {
1459 fn default() -> &'a ListSessionsResponse {
1460 <ListSessionsResponse as ::protobuf::Message>::default_instance()
1461 }
1462}
1463
1464impl ListSessionsResponse {
1465 pub fn new() -> ListSessionsResponse {
1466 ::std::default::Default::default()
1467 }
1468
1469 pub fn get_sessions(&self) -> &[Session] {
1473 &self.sessions
1474 }
1475 pub fn clear_sessions(&mut self) {
1476 self.sessions.clear();
1477 }
1478
1479 pub fn set_sessions(&mut self, v: ::protobuf::RepeatedField<Session>) {
1481 self.sessions = v;
1482 }
1483
1484 pub fn mut_sessions(&mut self) -> &mut ::protobuf::RepeatedField<Session> {
1486 &mut self.sessions
1487 }
1488
1489 pub fn take_sessions(&mut self) -> ::protobuf::RepeatedField<Session> {
1491 ::std::mem::replace(&mut self.sessions, ::protobuf::RepeatedField::new())
1492 }
1493
1494 pub fn get_next_page_token(&self) -> &str {
1498 &self.next_page_token
1499 }
1500 pub fn clear_next_page_token(&mut self) {
1501 self.next_page_token.clear();
1502 }
1503
1504 pub fn set_next_page_token(&mut self, v: ::std::string::String) {
1506 self.next_page_token = v;
1507 }
1508
1509 pub fn mut_next_page_token(&mut self) -> &mut ::std::string::String {
1512 &mut self.next_page_token
1513 }
1514
1515 pub fn take_next_page_token(&mut self) -> ::std::string::String {
1517 ::std::mem::replace(&mut self.next_page_token, ::std::string::String::new())
1518 }
1519}
1520
1521impl ::protobuf::Message for ListSessionsResponse {
1522 fn is_initialized(&self) -> bool {
1523 for v in &self.sessions {
1524 if !v.is_initialized() {
1525 return false;
1526 }
1527 };
1528 true
1529 }
1530
1531 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1532 while !is.eof()? {
1533 let (field_number, wire_type) = is.read_tag_unpack()?;
1534 match field_number {
1535 1 => {
1536 ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.sessions)?;
1537 },
1538 2 => {
1539 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.next_page_token)?;
1540 },
1541 _ => {
1542 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1543 },
1544 };
1545 }
1546 ::std::result::Result::Ok(())
1547 }
1548
1549 #[allow(unused_variables)]
1551 fn compute_size(&self) -> u32 {
1552 let mut my_size = 0;
1553 for value in &self.sessions {
1554 let len = value.compute_size();
1555 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1556 };
1557 if !self.next_page_token.is_empty() {
1558 my_size += ::protobuf::rt::string_size(2, &self.next_page_token);
1559 }
1560 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1561 self.cached_size.set(my_size);
1562 my_size
1563 }
1564
1565 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1566 for v in &self.sessions {
1567 os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1568 os.write_raw_varint32(v.get_cached_size())?;
1569 v.write_to_with_cached_sizes(os)?;
1570 };
1571 if !self.next_page_token.is_empty() {
1572 os.write_string(2, &self.next_page_token)?;
1573 }
1574 os.write_unknown_fields(self.get_unknown_fields())?;
1575 ::std::result::Result::Ok(())
1576 }
1577
1578 fn get_cached_size(&self) -> u32 {
1579 self.cached_size.get()
1580 }
1581
1582 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1583 &self.unknown_fields
1584 }
1585
1586 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1587 &mut self.unknown_fields
1588 }
1589
1590 fn as_any(&self) -> &dyn (::std::any::Any) {
1591 self as &dyn (::std::any::Any)
1592 }
1593 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1594 self as &mut dyn (::std::any::Any)
1595 }
1596 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1597 self
1598 }
1599
1600 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1601 Self::descriptor_static()
1602 }
1603
1604 fn new() -> ListSessionsResponse {
1605 ListSessionsResponse::new()
1606 }
1607
1608 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1609 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
1610 descriptor.get(|| {
1611 let mut fields = ::std::vec::Vec::new();
1612 fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Session>>(
1613 "sessions",
1614 |m: &ListSessionsResponse| { &m.sessions },
1615 |m: &mut ListSessionsResponse| { &mut m.sessions },
1616 ));
1617 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1618 "next_page_token",
1619 |m: &ListSessionsResponse| { &m.next_page_token },
1620 |m: &mut ListSessionsResponse| { &mut m.next_page_token },
1621 ));
1622 ::protobuf::reflect::MessageDescriptor::new_pb_name::<ListSessionsResponse>(
1623 "ListSessionsResponse",
1624 fields,
1625 file_descriptor_proto()
1626 )
1627 })
1628 }
1629
1630 fn default_instance() -> &'static ListSessionsResponse {
1631 static instance: ::protobuf::rt::LazyV2<ListSessionsResponse> = ::protobuf::rt::LazyV2::INIT;
1632 instance.get(ListSessionsResponse::new)
1633 }
1634}
1635
1636impl ::protobuf::Clear for ListSessionsResponse {
1637 fn clear(&mut self) {
1638 self.sessions.clear();
1639 self.next_page_token.clear();
1640 self.unknown_fields.clear();
1641 }
1642}
1643
1644impl ::std::fmt::Debug for ListSessionsResponse {
1645 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1646 ::protobuf::text_format::fmt(self, f)
1647 }
1648}
1649
1650impl ::protobuf::reflect::ProtobufValue for ListSessionsResponse {
1651 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1652 ::protobuf::reflect::ReflectValueRef::Message(self)
1653 }
1654}
1655
1656#[derive(PartialEq,Clone,Default)]
1657pub struct DeleteSessionRequest {
1658 pub name: ::std::string::String,
1660 pub unknown_fields: ::protobuf::UnknownFields,
1662 pub cached_size: ::protobuf::CachedSize,
1663}
1664
1665impl<'a> ::std::default::Default for &'a DeleteSessionRequest {
1666 fn default() -> &'a DeleteSessionRequest {
1667 <DeleteSessionRequest as ::protobuf::Message>::default_instance()
1668 }
1669}
1670
1671impl DeleteSessionRequest {
1672 pub fn new() -> DeleteSessionRequest {
1673 ::std::default::Default::default()
1674 }
1675
1676 pub fn get_name(&self) -> &str {
1680 &self.name
1681 }
1682 pub fn clear_name(&mut self) {
1683 self.name.clear();
1684 }
1685
1686 pub fn set_name(&mut self, v: ::std::string::String) {
1688 self.name = v;
1689 }
1690
1691 pub fn mut_name(&mut self) -> &mut ::std::string::String {
1694 &mut self.name
1695 }
1696
1697 pub fn take_name(&mut self) -> ::std::string::String {
1699 ::std::mem::replace(&mut self.name, ::std::string::String::new())
1700 }
1701}
1702
1703impl ::protobuf::Message for DeleteSessionRequest {
1704 fn is_initialized(&self) -> bool {
1705 true
1706 }
1707
1708 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1709 while !is.eof()? {
1710 let (field_number, wire_type) = is.read_tag_unpack()?;
1711 match field_number {
1712 1 => {
1713 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
1714 },
1715 _ => {
1716 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1717 },
1718 };
1719 }
1720 ::std::result::Result::Ok(())
1721 }
1722
1723 #[allow(unused_variables)]
1725 fn compute_size(&self) -> u32 {
1726 let mut my_size = 0;
1727 if !self.name.is_empty() {
1728 my_size += ::protobuf::rt::string_size(1, &self.name);
1729 }
1730 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1731 self.cached_size.set(my_size);
1732 my_size
1733 }
1734
1735 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1736 if !self.name.is_empty() {
1737 os.write_string(1, &self.name)?;
1738 }
1739 os.write_unknown_fields(self.get_unknown_fields())?;
1740 ::std::result::Result::Ok(())
1741 }
1742
1743 fn get_cached_size(&self) -> u32 {
1744 self.cached_size.get()
1745 }
1746
1747 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1748 &self.unknown_fields
1749 }
1750
1751 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1752 &mut self.unknown_fields
1753 }
1754
1755 fn as_any(&self) -> &dyn (::std::any::Any) {
1756 self as &dyn (::std::any::Any)
1757 }
1758 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1759 self as &mut dyn (::std::any::Any)
1760 }
1761 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1762 self
1763 }
1764
1765 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1766 Self::descriptor_static()
1767 }
1768
1769 fn new() -> DeleteSessionRequest {
1770 DeleteSessionRequest::new()
1771 }
1772
1773 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1774 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
1775 descriptor.get(|| {
1776 let mut fields = ::std::vec::Vec::new();
1777 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1778 "name",
1779 |m: &DeleteSessionRequest| { &m.name },
1780 |m: &mut DeleteSessionRequest| { &mut m.name },
1781 ));
1782 ::protobuf::reflect::MessageDescriptor::new_pb_name::<DeleteSessionRequest>(
1783 "DeleteSessionRequest",
1784 fields,
1785 file_descriptor_proto()
1786 )
1787 })
1788 }
1789
1790 fn default_instance() -> &'static DeleteSessionRequest {
1791 static instance: ::protobuf::rt::LazyV2<DeleteSessionRequest> = ::protobuf::rt::LazyV2::INIT;
1792 instance.get(DeleteSessionRequest::new)
1793 }
1794}
1795
1796impl ::protobuf::Clear for DeleteSessionRequest {
1797 fn clear(&mut self) {
1798 self.name.clear();
1799 self.unknown_fields.clear();
1800 }
1801}
1802
1803impl ::std::fmt::Debug for DeleteSessionRequest {
1804 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1805 ::protobuf::text_format::fmt(self, f)
1806 }
1807}
1808
1809impl ::protobuf::reflect::ProtobufValue for DeleteSessionRequest {
1810 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1811 ::protobuf::reflect::ReflectValueRef::Message(self)
1812 }
1813}
1814
1815#[derive(PartialEq,Clone,Default)]
1816pub struct RequestOptions {
1817 pub priority: RequestOptions_Priority,
1819 pub request_tag: ::std::string::String,
1820 pub transaction_tag: ::std::string::String,
1821 pub unknown_fields: ::protobuf::UnknownFields,
1823 pub cached_size: ::protobuf::CachedSize,
1824}
1825
1826impl<'a> ::std::default::Default for &'a RequestOptions {
1827 fn default() -> &'a RequestOptions {
1828 <RequestOptions as ::protobuf::Message>::default_instance()
1829 }
1830}
1831
1832impl RequestOptions {
1833 pub fn new() -> RequestOptions {
1834 ::std::default::Default::default()
1835 }
1836
1837 pub fn get_priority(&self) -> RequestOptions_Priority {
1841 self.priority
1842 }
1843 pub fn clear_priority(&mut self) {
1844 self.priority = RequestOptions_Priority::PRIORITY_UNSPECIFIED;
1845 }
1846
1847 pub fn set_priority(&mut self, v: RequestOptions_Priority) {
1849 self.priority = v;
1850 }
1851
1852 pub fn get_request_tag(&self) -> &str {
1856 &self.request_tag
1857 }
1858 pub fn clear_request_tag(&mut self) {
1859 self.request_tag.clear();
1860 }
1861
1862 pub fn set_request_tag(&mut self, v: ::std::string::String) {
1864 self.request_tag = v;
1865 }
1866
1867 pub fn mut_request_tag(&mut self) -> &mut ::std::string::String {
1870 &mut self.request_tag
1871 }
1872
1873 pub fn take_request_tag(&mut self) -> ::std::string::String {
1875 ::std::mem::replace(&mut self.request_tag, ::std::string::String::new())
1876 }
1877
1878 pub fn get_transaction_tag(&self) -> &str {
1882 &self.transaction_tag
1883 }
1884 pub fn clear_transaction_tag(&mut self) {
1885 self.transaction_tag.clear();
1886 }
1887
1888 pub fn set_transaction_tag(&mut self, v: ::std::string::String) {
1890 self.transaction_tag = v;
1891 }
1892
1893 pub fn mut_transaction_tag(&mut self) -> &mut ::std::string::String {
1896 &mut self.transaction_tag
1897 }
1898
1899 pub fn take_transaction_tag(&mut self) -> ::std::string::String {
1901 ::std::mem::replace(&mut self.transaction_tag, ::std::string::String::new())
1902 }
1903}
1904
1905impl ::protobuf::Message for RequestOptions {
1906 fn is_initialized(&self) -> bool {
1907 true
1908 }
1909
1910 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1911 while !is.eof()? {
1912 let (field_number, wire_type) = is.read_tag_unpack()?;
1913 match field_number {
1914 1 => {
1915 ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.priority, 1, &mut self.unknown_fields)?
1916 },
1917 2 => {
1918 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.request_tag)?;
1919 },
1920 3 => {
1921 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.transaction_tag)?;
1922 },
1923 _ => {
1924 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1925 },
1926 };
1927 }
1928 ::std::result::Result::Ok(())
1929 }
1930
1931 #[allow(unused_variables)]
1933 fn compute_size(&self) -> u32 {
1934 let mut my_size = 0;
1935 if self.priority != RequestOptions_Priority::PRIORITY_UNSPECIFIED {
1936 my_size += ::protobuf::rt::enum_size(1, self.priority);
1937 }
1938 if !self.request_tag.is_empty() {
1939 my_size += ::protobuf::rt::string_size(2, &self.request_tag);
1940 }
1941 if !self.transaction_tag.is_empty() {
1942 my_size += ::protobuf::rt::string_size(3, &self.transaction_tag);
1943 }
1944 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1945 self.cached_size.set(my_size);
1946 my_size
1947 }
1948
1949 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1950 if self.priority != RequestOptions_Priority::PRIORITY_UNSPECIFIED {
1951 os.write_enum(1, ::protobuf::ProtobufEnum::value(&self.priority))?;
1952 }
1953 if !self.request_tag.is_empty() {
1954 os.write_string(2, &self.request_tag)?;
1955 }
1956 if !self.transaction_tag.is_empty() {
1957 os.write_string(3, &self.transaction_tag)?;
1958 }
1959 os.write_unknown_fields(self.get_unknown_fields())?;
1960 ::std::result::Result::Ok(())
1961 }
1962
1963 fn get_cached_size(&self) -> u32 {
1964 self.cached_size.get()
1965 }
1966
1967 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1968 &self.unknown_fields
1969 }
1970
1971 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1972 &mut self.unknown_fields
1973 }
1974
1975 fn as_any(&self) -> &dyn (::std::any::Any) {
1976 self as &dyn (::std::any::Any)
1977 }
1978 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1979 self as &mut dyn (::std::any::Any)
1980 }
1981 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1982 self
1983 }
1984
1985 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1986 Self::descriptor_static()
1987 }
1988
1989 fn new() -> RequestOptions {
1990 RequestOptions::new()
1991 }
1992
1993 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1994 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
1995 descriptor.get(|| {
1996 let mut fields = ::std::vec::Vec::new();
1997 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<RequestOptions_Priority>>(
1998 "priority",
1999 |m: &RequestOptions| { &m.priority },
2000 |m: &mut RequestOptions| { &mut m.priority },
2001 ));
2002 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
2003 "request_tag",
2004 |m: &RequestOptions| { &m.request_tag },
2005 |m: &mut RequestOptions| { &mut m.request_tag },
2006 ));
2007 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
2008 "transaction_tag",
2009 |m: &RequestOptions| { &m.transaction_tag },
2010 |m: &mut RequestOptions| { &mut m.transaction_tag },
2011 ));
2012 ::protobuf::reflect::MessageDescriptor::new_pb_name::<RequestOptions>(
2013 "RequestOptions",
2014 fields,
2015 file_descriptor_proto()
2016 )
2017 })
2018 }
2019
2020 fn default_instance() -> &'static RequestOptions {
2021 static instance: ::protobuf::rt::LazyV2<RequestOptions> = ::protobuf::rt::LazyV2::INIT;
2022 instance.get(RequestOptions::new)
2023 }
2024}
2025
2026impl ::protobuf::Clear for RequestOptions {
2027 fn clear(&mut self) {
2028 self.priority = RequestOptions_Priority::PRIORITY_UNSPECIFIED;
2029 self.request_tag.clear();
2030 self.transaction_tag.clear();
2031 self.unknown_fields.clear();
2032 }
2033}
2034
2035impl ::std::fmt::Debug for RequestOptions {
2036 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2037 ::protobuf::text_format::fmt(self, f)
2038 }
2039}
2040
2041impl ::protobuf::reflect::ProtobufValue for RequestOptions {
2042 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
2043 ::protobuf::reflect::ReflectValueRef::Message(self)
2044 }
2045}
2046
2047#[derive(Clone,PartialEq,Eq,Debug,Hash)]
2048pub enum RequestOptions_Priority {
2049 PRIORITY_UNSPECIFIED = 0,
2050 PRIORITY_LOW = 1,
2051 PRIORITY_MEDIUM = 2,
2052 PRIORITY_HIGH = 3,
2053}
2054
2055impl ::protobuf::ProtobufEnum for RequestOptions_Priority {
2056 fn value(&self) -> i32 {
2057 *self as i32
2058 }
2059
2060 fn from_i32(value: i32) -> ::std::option::Option<RequestOptions_Priority> {
2061 match value {
2062 0 => ::std::option::Option::Some(RequestOptions_Priority::PRIORITY_UNSPECIFIED),
2063 1 => ::std::option::Option::Some(RequestOptions_Priority::PRIORITY_LOW),
2064 2 => ::std::option::Option::Some(RequestOptions_Priority::PRIORITY_MEDIUM),
2065 3 => ::std::option::Option::Some(RequestOptions_Priority::PRIORITY_HIGH),
2066 _ => ::std::option::Option::None
2067 }
2068 }
2069
2070 fn values() -> &'static [Self] {
2071 static values: &'static [RequestOptions_Priority] = &[
2072 RequestOptions_Priority::PRIORITY_UNSPECIFIED,
2073 RequestOptions_Priority::PRIORITY_LOW,
2074 RequestOptions_Priority::PRIORITY_MEDIUM,
2075 RequestOptions_Priority::PRIORITY_HIGH,
2076 ];
2077 values
2078 }
2079
2080 fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
2081 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT;
2082 descriptor.get(|| {
2083 ::protobuf::reflect::EnumDescriptor::new_pb_name::<RequestOptions_Priority>("RequestOptions.Priority", file_descriptor_proto())
2084 })
2085 }
2086}
2087
2088impl ::std::marker::Copy for RequestOptions_Priority {
2089}
2090
2091impl ::std::default::Default for RequestOptions_Priority {
2092 fn default() -> Self {
2093 RequestOptions_Priority::PRIORITY_UNSPECIFIED
2094 }
2095}
2096
2097impl ::protobuf::reflect::ProtobufValue for RequestOptions_Priority {
2098 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
2099 ::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
2100 }
2101}
2102
2103#[derive(PartialEq,Clone,Default)]
2104pub struct ExecuteSqlRequest {
2105 pub session: ::std::string::String,
2107 pub transaction: ::protobuf::SingularPtrField<super::transaction::TransactionSelector>,
2108 pub sql: ::std::string::String,
2109 pub params: ::protobuf::SingularPtrField<::protobuf::well_known_types::Struct>,
2110 pub param_types: ::std::collections::HashMap<::std::string::String, super::type_pb::Type>,
2111 pub resume_token: ::std::vec::Vec<u8>,
2112 pub query_mode: ExecuteSqlRequest_QueryMode,
2113 pub partition_token: ::std::vec::Vec<u8>,
2114 pub seqno: i64,
2115 pub query_options: ::protobuf::SingularPtrField<ExecuteSqlRequest_QueryOptions>,
2116 pub request_options: ::protobuf::SingularPtrField<RequestOptions>,
2117 pub data_boost_enabled: bool,
2118 pub unknown_fields: ::protobuf::UnknownFields,
2120 pub cached_size: ::protobuf::CachedSize,
2121}
2122
2123impl<'a> ::std::default::Default for &'a ExecuteSqlRequest {
2124 fn default() -> &'a ExecuteSqlRequest {
2125 <ExecuteSqlRequest as ::protobuf::Message>::default_instance()
2126 }
2127}
2128
2129impl ExecuteSqlRequest {
2130 pub fn new() -> ExecuteSqlRequest {
2131 ::std::default::Default::default()
2132 }
2133
2134 pub fn get_session(&self) -> &str {
2138 &self.session
2139 }
2140 pub fn clear_session(&mut self) {
2141 self.session.clear();
2142 }
2143
2144 pub fn set_session(&mut self, v: ::std::string::String) {
2146 self.session = v;
2147 }
2148
2149 pub fn mut_session(&mut self) -> &mut ::std::string::String {
2152 &mut self.session
2153 }
2154
2155 pub fn take_session(&mut self) -> ::std::string::String {
2157 ::std::mem::replace(&mut self.session, ::std::string::String::new())
2158 }
2159
2160 pub fn get_transaction(&self) -> &super::transaction::TransactionSelector {
2164 self.transaction.as_ref().unwrap_or_else(|| <super::transaction::TransactionSelector as ::protobuf::Message>::default_instance())
2165 }
2166 pub fn clear_transaction(&mut self) {
2167 self.transaction.clear();
2168 }
2169
2170 pub fn has_transaction(&self) -> bool {
2171 self.transaction.is_some()
2172 }
2173
2174 pub fn set_transaction(&mut self, v: super::transaction::TransactionSelector) {
2176 self.transaction = ::protobuf::SingularPtrField::some(v);
2177 }
2178
2179 pub fn mut_transaction(&mut self) -> &mut super::transaction::TransactionSelector {
2182 if self.transaction.is_none() {
2183 self.transaction.set_default();
2184 }
2185 self.transaction.as_mut().unwrap()
2186 }
2187
2188 pub fn take_transaction(&mut self) -> super::transaction::TransactionSelector {
2190 self.transaction.take().unwrap_or_else(|| super::transaction::TransactionSelector::new())
2191 }
2192
2193 pub fn get_sql(&self) -> &str {
2197 &self.sql
2198 }
2199 pub fn clear_sql(&mut self) {
2200 self.sql.clear();
2201 }
2202
2203 pub fn set_sql(&mut self, v: ::std::string::String) {
2205 self.sql = v;
2206 }
2207
2208 pub fn mut_sql(&mut self) -> &mut ::std::string::String {
2211 &mut self.sql
2212 }
2213
2214 pub fn take_sql(&mut self) -> ::std::string::String {
2216 ::std::mem::replace(&mut self.sql, ::std::string::String::new())
2217 }
2218
2219 pub fn get_params(&self) -> &::protobuf::well_known_types::Struct {
2223 self.params.as_ref().unwrap_or_else(|| <::protobuf::well_known_types::Struct as ::protobuf::Message>::default_instance())
2224 }
2225 pub fn clear_params(&mut self) {
2226 self.params.clear();
2227 }
2228
2229 pub fn has_params(&self) -> bool {
2230 self.params.is_some()
2231 }
2232
2233 pub fn set_params(&mut self, v: ::protobuf::well_known_types::Struct) {
2235 self.params = ::protobuf::SingularPtrField::some(v);
2236 }
2237
2238 pub fn mut_params(&mut self) -> &mut ::protobuf::well_known_types::Struct {
2241 if self.params.is_none() {
2242 self.params.set_default();
2243 }
2244 self.params.as_mut().unwrap()
2245 }
2246
2247 pub fn take_params(&mut self) -> ::protobuf::well_known_types::Struct {
2249 self.params.take().unwrap_or_else(|| ::protobuf::well_known_types::Struct::new())
2250 }
2251
2252 pub fn get_param_types(&self) -> &::std::collections::HashMap<::std::string::String, super::type_pb::Type> {
2256 &self.param_types
2257 }
2258 pub fn clear_param_types(&mut self) {
2259 self.param_types.clear();
2260 }
2261
2262 pub fn set_param_types(&mut self, v: ::std::collections::HashMap<::std::string::String, super::type_pb::Type>) {
2264 self.param_types = v;
2265 }
2266
2267 pub fn mut_param_types(&mut self) -> &mut ::std::collections::HashMap<::std::string::String, super::type_pb::Type> {
2269 &mut self.param_types
2270 }
2271
2272 pub fn take_param_types(&mut self) -> ::std::collections::HashMap<::std::string::String, super::type_pb::Type> {
2274 ::std::mem::replace(&mut self.param_types, ::std::collections::HashMap::new())
2275 }
2276
2277 pub fn get_resume_token(&self) -> &[u8] {
2281 &self.resume_token
2282 }
2283 pub fn clear_resume_token(&mut self) {
2284 self.resume_token.clear();
2285 }
2286
2287 pub fn set_resume_token(&mut self, v: ::std::vec::Vec<u8>) {
2289 self.resume_token = v;
2290 }
2291
2292 pub fn mut_resume_token(&mut self) -> &mut ::std::vec::Vec<u8> {
2295 &mut self.resume_token
2296 }
2297
2298 pub fn take_resume_token(&mut self) -> ::std::vec::Vec<u8> {
2300 ::std::mem::replace(&mut self.resume_token, ::std::vec::Vec::new())
2301 }
2302
2303 pub fn get_query_mode(&self) -> ExecuteSqlRequest_QueryMode {
2307 self.query_mode
2308 }
2309 pub fn clear_query_mode(&mut self) {
2310 self.query_mode = ExecuteSqlRequest_QueryMode::NORMAL;
2311 }
2312
2313 pub fn set_query_mode(&mut self, v: ExecuteSqlRequest_QueryMode) {
2315 self.query_mode = v;
2316 }
2317
2318 pub fn get_partition_token(&self) -> &[u8] {
2322 &self.partition_token
2323 }
2324 pub fn clear_partition_token(&mut self) {
2325 self.partition_token.clear();
2326 }
2327
2328 pub fn set_partition_token(&mut self, v: ::std::vec::Vec<u8>) {
2330 self.partition_token = v;
2331 }
2332
2333 pub fn mut_partition_token(&mut self) -> &mut ::std::vec::Vec<u8> {
2336 &mut self.partition_token
2337 }
2338
2339 pub fn take_partition_token(&mut self) -> ::std::vec::Vec<u8> {
2341 ::std::mem::replace(&mut self.partition_token, ::std::vec::Vec::new())
2342 }
2343
2344 pub fn get_seqno(&self) -> i64 {
2348 self.seqno
2349 }
2350 pub fn clear_seqno(&mut self) {
2351 self.seqno = 0;
2352 }
2353
2354 pub fn set_seqno(&mut self, v: i64) {
2356 self.seqno = v;
2357 }
2358
2359 pub fn get_query_options(&self) -> &ExecuteSqlRequest_QueryOptions {
2363 self.query_options.as_ref().unwrap_or_else(|| <ExecuteSqlRequest_QueryOptions as ::protobuf::Message>::default_instance())
2364 }
2365 pub fn clear_query_options(&mut self) {
2366 self.query_options.clear();
2367 }
2368
2369 pub fn has_query_options(&self) -> bool {
2370 self.query_options.is_some()
2371 }
2372
2373 pub fn set_query_options(&mut self, v: ExecuteSqlRequest_QueryOptions) {
2375 self.query_options = ::protobuf::SingularPtrField::some(v);
2376 }
2377
2378 pub fn mut_query_options(&mut self) -> &mut ExecuteSqlRequest_QueryOptions {
2381 if self.query_options.is_none() {
2382 self.query_options.set_default();
2383 }
2384 self.query_options.as_mut().unwrap()
2385 }
2386
2387 pub fn take_query_options(&mut self) -> ExecuteSqlRequest_QueryOptions {
2389 self.query_options.take().unwrap_or_else(|| ExecuteSqlRequest_QueryOptions::new())
2390 }
2391
2392 pub fn get_request_options(&self) -> &RequestOptions {
2396 self.request_options.as_ref().unwrap_or_else(|| <RequestOptions as ::protobuf::Message>::default_instance())
2397 }
2398 pub fn clear_request_options(&mut self) {
2399 self.request_options.clear();
2400 }
2401
2402 pub fn has_request_options(&self) -> bool {
2403 self.request_options.is_some()
2404 }
2405
2406 pub fn set_request_options(&mut self, v: RequestOptions) {
2408 self.request_options = ::protobuf::SingularPtrField::some(v);
2409 }
2410
2411 pub fn mut_request_options(&mut self) -> &mut RequestOptions {
2414 if self.request_options.is_none() {
2415 self.request_options.set_default();
2416 }
2417 self.request_options.as_mut().unwrap()
2418 }
2419
2420 pub fn take_request_options(&mut self) -> RequestOptions {
2422 self.request_options.take().unwrap_or_else(|| RequestOptions::new())
2423 }
2424
2425 pub fn get_data_boost_enabled(&self) -> bool {
2429 self.data_boost_enabled
2430 }
2431 pub fn clear_data_boost_enabled(&mut self) {
2432 self.data_boost_enabled = false;
2433 }
2434
2435 pub fn set_data_boost_enabled(&mut self, v: bool) {
2437 self.data_boost_enabled = v;
2438 }
2439}
2440
2441impl ::protobuf::Message for ExecuteSqlRequest {
2442 fn is_initialized(&self) -> bool {
2443 for v in &self.transaction {
2444 if !v.is_initialized() {
2445 return false;
2446 }
2447 };
2448 for v in &self.params {
2449 if !v.is_initialized() {
2450 return false;
2451 }
2452 };
2453 for v in &self.query_options {
2454 if !v.is_initialized() {
2455 return false;
2456 }
2457 };
2458 for v in &self.request_options {
2459 if !v.is_initialized() {
2460 return false;
2461 }
2462 };
2463 true
2464 }
2465
2466 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2467 while !is.eof()? {
2468 let (field_number, wire_type) = is.read_tag_unpack()?;
2469 match field_number {
2470 1 => {
2471 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.session)?;
2472 },
2473 2 => {
2474 ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.transaction)?;
2475 },
2476 3 => {
2477 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.sql)?;
2478 },
2479 4 => {
2480 ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.params)?;
2481 },
2482 5 => {
2483 ::protobuf::rt::read_map_into::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<super::type_pb::Type>>(wire_type, is, &mut self.param_types)?;
2484 },
2485 6 => {
2486 ::protobuf::rt::read_singular_proto3_bytes_into(wire_type, is, &mut self.resume_token)?;
2487 },
2488 7 => {
2489 ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.query_mode, 7, &mut self.unknown_fields)?
2490 },
2491 8 => {
2492 ::protobuf::rt::read_singular_proto3_bytes_into(wire_type, is, &mut self.partition_token)?;
2493 },
2494 9 => {
2495 if wire_type != ::protobuf::wire_format::WireTypeVarint {
2496 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2497 }
2498 let tmp = is.read_int64()?;
2499 self.seqno = tmp;
2500 },
2501 10 => {
2502 ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.query_options)?;
2503 },
2504 11 => {
2505 ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.request_options)?;
2506 },
2507 16 => {
2508 if wire_type != ::protobuf::wire_format::WireTypeVarint {
2509 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2510 }
2511 let tmp = is.read_bool()?;
2512 self.data_boost_enabled = tmp;
2513 },
2514 _ => {
2515 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
2516 },
2517 };
2518 }
2519 ::std::result::Result::Ok(())
2520 }
2521
2522 #[allow(unused_variables)]
2524 fn compute_size(&self) -> u32 {
2525 let mut my_size = 0;
2526 if !self.session.is_empty() {
2527 my_size += ::protobuf::rt::string_size(1, &self.session);
2528 }
2529 if let Some(ref v) = self.transaction.as_ref() {
2530 let len = v.compute_size();
2531 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2532 }
2533 if !self.sql.is_empty() {
2534 my_size += ::protobuf::rt::string_size(3, &self.sql);
2535 }
2536 if let Some(ref v) = self.params.as_ref() {
2537 let len = v.compute_size();
2538 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2539 }
2540 my_size += ::protobuf::rt::compute_map_size::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<super::type_pb::Type>>(5, &self.param_types);
2541 if !self.resume_token.is_empty() {
2542 my_size += ::protobuf::rt::bytes_size(6, &self.resume_token);
2543 }
2544 if self.query_mode != ExecuteSqlRequest_QueryMode::NORMAL {
2545 my_size += ::protobuf::rt::enum_size(7, self.query_mode);
2546 }
2547 if !self.partition_token.is_empty() {
2548 my_size += ::protobuf::rt::bytes_size(8, &self.partition_token);
2549 }
2550 if self.seqno != 0 {
2551 my_size += ::protobuf::rt::value_size(9, self.seqno, ::protobuf::wire_format::WireTypeVarint);
2552 }
2553 if let Some(ref v) = self.query_options.as_ref() {
2554 let len = v.compute_size();
2555 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2556 }
2557 if let Some(ref v) = self.request_options.as_ref() {
2558 let len = v.compute_size();
2559 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2560 }
2561 if self.data_boost_enabled != false {
2562 my_size += 3;
2563 }
2564 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
2565 self.cached_size.set(my_size);
2566 my_size
2567 }
2568
2569 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2570 if !self.session.is_empty() {
2571 os.write_string(1, &self.session)?;
2572 }
2573 if let Some(ref v) = self.transaction.as_ref() {
2574 os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
2575 os.write_raw_varint32(v.get_cached_size())?;
2576 v.write_to_with_cached_sizes(os)?;
2577 }
2578 if !self.sql.is_empty() {
2579 os.write_string(3, &self.sql)?;
2580 }
2581 if let Some(ref v) = self.params.as_ref() {
2582 os.write_tag(4, ::protobuf::wire_format::WireTypeLengthDelimited)?;
2583 os.write_raw_varint32(v.get_cached_size())?;
2584 v.write_to_with_cached_sizes(os)?;
2585 }
2586 ::protobuf::rt::write_map_with_cached_sizes::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<super::type_pb::Type>>(5, &self.param_types, os)?;
2587 if !self.resume_token.is_empty() {
2588 os.write_bytes(6, &self.resume_token)?;
2589 }
2590 if self.query_mode != ExecuteSqlRequest_QueryMode::NORMAL {
2591 os.write_enum(7, ::protobuf::ProtobufEnum::value(&self.query_mode))?;
2592 }
2593 if !self.partition_token.is_empty() {
2594 os.write_bytes(8, &self.partition_token)?;
2595 }
2596 if self.seqno != 0 {
2597 os.write_int64(9, self.seqno)?;
2598 }
2599 if let Some(ref v) = self.query_options.as_ref() {
2600 os.write_tag(10, ::protobuf::wire_format::WireTypeLengthDelimited)?;
2601 os.write_raw_varint32(v.get_cached_size())?;
2602 v.write_to_with_cached_sizes(os)?;
2603 }
2604 if let Some(ref v) = self.request_options.as_ref() {
2605 os.write_tag(11, ::protobuf::wire_format::WireTypeLengthDelimited)?;
2606 os.write_raw_varint32(v.get_cached_size())?;
2607 v.write_to_with_cached_sizes(os)?;
2608 }
2609 if self.data_boost_enabled != false {
2610 os.write_bool(16, self.data_boost_enabled)?;
2611 }
2612 os.write_unknown_fields(self.get_unknown_fields())?;
2613 ::std::result::Result::Ok(())
2614 }
2615
2616 fn get_cached_size(&self) -> u32 {
2617 self.cached_size.get()
2618 }
2619
2620 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
2621 &self.unknown_fields
2622 }
2623
2624 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
2625 &mut self.unknown_fields
2626 }
2627
2628 fn as_any(&self) -> &dyn (::std::any::Any) {
2629 self as &dyn (::std::any::Any)
2630 }
2631 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
2632 self as &mut dyn (::std::any::Any)
2633 }
2634 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
2635 self
2636 }
2637
2638 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
2639 Self::descriptor_static()
2640 }
2641
2642 fn new() -> ExecuteSqlRequest {
2643 ExecuteSqlRequest::new()
2644 }
2645
2646 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
2647 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
2648 descriptor.get(|| {
2649 let mut fields = ::std::vec::Vec::new();
2650 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
2651 "session",
2652 |m: &ExecuteSqlRequest| { &m.session },
2653 |m: &mut ExecuteSqlRequest| { &mut m.session },
2654 ));
2655 fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::transaction::TransactionSelector>>(
2656 "transaction",
2657 |m: &ExecuteSqlRequest| { &m.transaction },
2658 |m: &mut ExecuteSqlRequest| { &mut m.transaction },
2659 ));
2660 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
2661 "sql",
2662 |m: &ExecuteSqlRequest| { &m.sql },
2663 |m: &mut ExecuteSqlRequest| { &mut m.sql },
2664 ));
2665 fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<::protobuf::well_known_types::Struct>>(
2666 "params",
2667 |m: &ExecuteSqlRequest| { &m.params },
2668 |m: &mut ExecuteSqlRequest| { &mut m.params },
2669 ));
2670 fields.push(::protobuf::reflect::accessor::make_map_accessor::<_, ::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<super::type_pb::Type>>(
2671 "param_types",
2672 |m: &ExecuteSqlRequest| { &m.param_types },
2673 |m: &mut ExecuteSqlRequest| { &mut m.param_types },
2674 ));
2675 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
2676 "resume_token",
2677 |m: &ExecuteSqlRequest| { &m.resume_token },
2678 |m: &mut ExecuteSqlRequest| { &mut m.resume_token },
2679 ));
2680 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<ExecuteSqlRequest_QueryMode>>(
2681 "query_mode",
2682 |m: &ExecuteSqlRequest| { &m.query_mode },
2683 |m: &mut ExecuteSqlRequest| { &mut m.query_mode },
2684 ));
2685 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
2686 "partition_token",
2687 |m: &ExecuteSqlRequest| { &m.partition_token },
2688 |m: &mut ExecuteSqlRequest| { &mut m.partition_token },
2689 ));
2690 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>(
2691 "seqno",
2692 |m: &ExecuteSqlRequest| { &m.seqno },
2693 |m: &mut ExecuteSqlRequest| { &mut m.seqno },
2694 ));
2695 fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<ExecuteSqlRequest_QueryOptions>>(
2696 "query_options",
2697 |m: &ExecuteSqlRequest| { &m.query_options },
2698 |m: &mut ExecuteSqlRequest| { &mut m.query_options },
2699 ));
2700 fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<RequestOptions>>(
2701 "request_options",
2702 |m: &ExecuteSqlRequest| { &m.request_options },
2703 |m: &mut ExecuteSqlRequest| { &mut m.request_options },
2704 ));
2705 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
2706 "data_boost_enabled",
2707 |m: &ExecuteSqlRequest| { &m.data_boost_enabled },
2708 |m: &mut ExecuteSqlRequest| { &mut m.data_boost_enabled },
2709 ));
2710 ::protobuf::reflect::MessageDescriptor::new_pb_name::<ExecuteSqlRequest>(
2711 "ExecuteSqlRequest",
2712 fields,
2713 file_descriptor_proto()
2714 )
2715 })
2716 }
2717
2718 fn default_instance() -> &'static ExecuteSqlRequest {
2719 static instance: ::protobuf::rt::LazyV2<ExecuteSqlRequest> = ::protobuf::rt::LazyV2::INIT;
2720 instance.get(ExecuteSqlRequest::new)
2721 }
2722}
2723
2724impl ::protobuf::Clear for ExecuteSqlRequest {
2725 fn clear(&mut self) {
2726 self.session.clear();
2727 self.transaction.clear();
2728 self.sql.clear();
2729 self.params.clear();
2730 self.param_types.clear();
2731 self.resume_token.clear();
2732 self.query_mode = ExecuteSqlRequest_QueryMode::NORMAL;
2733 self.partition_token.clear();
2734 self.seqno = 0;
2735 self.query_options.clear();
2736 self.request_options.clear();
2737 self.data_boost_enabled = false;
2738 self.unknown_fields.clear();
2739 }
2740}
2741
2742impl ::std::fmt::Debug for ExecuteSqlRequest {
2743 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2744 ::protobuf::text_format::fmt(self, f)
2745 }
2746}
2747
2748impl ::protobuf::reflect::ProtobufValue for ExecuteSqlRequest {
2749 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
2750 ::protobuf::reflect::ReflectValueRef::Message(self)
2751 }
2752}
2753
2754#[derive(PartialEq,Clone,Default)]
2755pub struct ExecuteSqlRequest_QueryOptions {
2756 pub optimizer_version: ::std::string::String,
2758 pub optimizer_statistics_package: ::std::string::String,
2759 pub unknown_fields: ::protobuf::UnknownFields,
2761 pub cached_size: ::protobuf::CachedSize,
2762}
2763
2764impl<'a> ::std::default::Default for &'a ExecuteSqlRequest_QueryOptions {
2765 fn default() -> &'a ExecuteSqlRequest_QueryOptions {
2766 <ExecuteSqlRequest_QueryOptions as ::protobuf::Message>::default_instance()
2767 }
2768}
2769
2770impl ExecuteSqlRequest_QueryOptions {
2771 pub fn new() -> ExecuteSqlRequest_QueryOptions {
2772 ::std::default::Default::default()
2773 }
2774
2775 pub fn get_optimizer_version(&self) -> &str {
2779 &self.optimizer_version
2780 }
2781 pub fn clear_optimizer_version(&mut self) {
2782 self.optimizer_version.clear();
2783 }
2784
2785 pub fn set_optimizer_version(&mut self, v: ::std::string::String) {
2787 self.optimizer_version = v;
2788 }
2789
2790 pub fn mut_optimizer_version(&mut self) -> &mut ::std::string::String {
2793 &mut self.optimizer_version
2794 }
2795
2796 pub fn take_optimizer_version(&mut self) -> ::std::string::String {
2798 ::std::mem::replace(&mut self.optimizer_version, ::std::string::String::new())
2799 }
2800
2801 pub fn get_optimizer_statistics_package(&self) -> &str {
2805 &self.optimizer_statistics_package
2806 }
2807 pub fn clear_optimizer_statistics_package(&mut self) {
2808 self.optimizer_statistics_package.clear();
2809 }
2810
2811 pub fn set_optimizer_statistics_package(&mut self, v: ::std::string::String) {
2813 self.optimizer_statistics_package = v;
2814 }
2815
2816 pub fn mut_optimizer_statistics_package(&mut self) -> &mut ::std::string::String {
2819 &mut self.optimizer_statistics_package
2820 }
2821
2822 pub fn take_optimizer_statistics_package(&mut self) -> ::std::string::String {
2824 ::std::mem::replace(&mut self.optimizer_statistics_package, ::std::string::String::new())
2825 }
2826}
2827
2828impl ::protobuf::Message for ExecuteSqlRequest_QueryOptions {
2829 fn is_initialized(&self) -> bool {
2830 true
2831 }
2832
2833 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2834 while !is.eof()? {
2835 let (field_number, wire_type) = is.read_tag_unpack()?;
2836 match field_number {
2837 1 => {
2838 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.optimizer_version)?;
2839 },
2840 2 => {
2841 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.optimizer_statistics_package)?;
2842 },
2843 _ => {
2844 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
2845 },
2846 };
2847 }
2848 ::std::result::Result::Ok(())
2849 }
2850
2851 #[allow(unused_variables)]
2853 fn compute_size(&self) -> u32 {
2854 let mut my_size = 0;
2855 if !self.optimizer_version.is_empty() {
2856 my_size += ::protobuf::rt::string_size(1, &self.optimizer_version);
2857 }
2858 if !self.optimizer_statistics_package.is_empty() {
2859 my_size += ::protobuf::rt::string_size(2, &self.optimizer_statistics_package);
2860 }
2861 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
2862 self.cached_size.set(my_size);
2863 my_size
2864 }
2865
2866 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2867 if !self.optimizer_version.is_empty() {
2868 os.write_string(1, &self.optimizer_version)?;
2869 }
2870 if !self.optimizer_statistics_package.is_empty() {
2871 os.write_string(2, &self.optimizer_statistics_package)?;
2872 }
2873 os.write_unknown_fields(self.get_unknown_fields())?;
2874 ::std::result::Result::Ok(())
2875 }
2876
2877 fn get_cached_size(&self) -> u32 {
2878 self.cached_size.get()
2879 }
2880
2881 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
2882 &self.unknown_fields
2883 }
2884
2885 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
2886 &mut self.unknown_fields
2887 }
2888
2889 fn as_any(&self) -> &dyn (::std::any::Any) {
2890 self as &dyn (::std::any::Any)
2891 }
2892 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
2893 self as &mut dyn (::std::any::Any)
2894 }
2895 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
2896 self
2897 }
2898
2899 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
2900 Self::descriptor_static()
2901 }
2902
2903 fn new() -> ExecuteSqlRequest_QueryOptions {
2904 ExecuteSqlRequest_QueryOptions::new()
2905 }
2906
2907 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
2908 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
2909 descriptor.get(|| {
2910 let mut fields = ::std::vec::Vec::new();
2911 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
2912 "optimizer_version",
2913 |m: &ExecuteSqlRequest_QueryOptions| { &m.optimizer_version },
2914 |m: &mut ExecuteSqlRequest_QueryOptions| { &mut m.optimizer_version },
2915 ));
2916 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
2917 "optimizer_statistics_package",
2918 |m: &ExecuteSqlRequest_QueryOptions| { &m.optimizer_statistics_package },
2919 |m: &mut ExecuteSqlRequest_QueryOptions| { &mut m.optimizer_statistics_package },
2920 ));
2921 ::protobuf::reflect::MessageDescriptor::new_pb_name::<ExecuteSqlRequest_QueryOptions>(
2922 "ExecuteSqlRequest.QueryOptions",
2923 fields,
2924 file_descriptor_proto()
2925 )
2926 })
2927 }
2928
2929 fn default_instance() -> &'static ExecuteSqlRequest_QueryOptions {
2930 static instance: ::protobuf::rt::LazyV2<ExecuteSqlRequest_QueryOptions> = ::protobuf::rt::LazyV2::INIT;
2931 instance.get(ExecuteSqlRequest_QueryOptions::new)
2932 }
2933}
2934
2935impl ::protobuf::Clear for ExecuteSqlRequest_QueryOptions {
2936 fn clear(&mut self) {
2937 self.optimizer_version.clear();
2938 self.optimizer_statistics_package.clear();
2939 self.unknown_fields.clear();
2940 }
2941}
2942
2943impl ::std::fmt::Debug for ExecuteSqlRequest_QueryOptions {
2944 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2945 ::protobuf::text_format::fmt(self, f)
2946 }
2947}
2948
2949impl ::protobuf::reflect::ProtobufValue for ExecuteSqlRequest_QueryOptions {
2950 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
2951 ::protobuf::reflect::ReflectValueRef::Message(self)
2952 }
2953}
2954
2955#[derive(Clone,PartialEq,Eq,Debug,Hash)]
2956pub enum ExecuteSqlRequest_QueryMode {
2957 NORMAL = 0,
2958 PLAN = 1,
2959 PROFILE = 2,
2960}
2961
2962impl ::protobuf::ProtobufEnum for ExecuteSqlRequest_QueryMode {
2963 fn value(&self) -> i32 {
2964 *self as i32
2965 }
2966
2967 fn from_i32(value: i32) -> ::std::option::Option<ExecuteSqlRequest_QueryMode> {
2968 match value {
2969 0 => ::std::option::Option::Some(ExecuteSqlRequest_QueryMode::NORMAL),
2970 1 => ::std::option::Option::Some(ExecuteSqlRequest_QueryMode::PLAN),
2971 2 => ::std::option::Option::Some(ExecuteSqlRequest_QueryMode::PROFILE),
2972 _ => ::std::option::Option::None
2973 }
2974 }
2975
2976 fn values() -> &'static [Self] {
2977 static values: &'static [ExecuteSqlRequest_QueryMode] = &[
2978 ExecuteSqlRequest_QueryMode::NORMAL,
2979 ExecuteSqlRequest_QueryMode::PLAN,
2980 ExecuteSqlRequest_QueryMode::PROFILE,
2981 ];
2982 values
2983 }
2984
2985 fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
2986 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT;
2987 descriptor.get(|| {
2988 ::protobuf::reflect::EnumDescriptor::new_pb_name::<ExecuteSqlRequest_QueryMode>("ExecuteSqlRequest.QueryMode", file_descriptor_proto())
2989 })
2990 }
2991}
2992
2993impl ::std::marker::Copy for ExecuteSqlRequest_QueryMode {
2994}
2995
2996impl ::std::default::Default for ExecuteSqlRequest_QueryMode {
2997 fn default() -> Self {
2998 ExecuteSqlRequest_QueryMode::NORMAL
2999 }
3000}
3001
3002impl ::protobuf::reflect::ProtobufValue for ExecuteSqlRequest_QueryMode {
3003 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
3004 ::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
3005 }
3006}
3007
3008#[derive(PartialEq,Clone,Default)]
3009pub struct ExecuteBatchDmlRequest {
3010 pub session: ::std::string::String,
3012 pub transaction: ::protobuf::SingularPtrField<super::transaction::TransactionSelector>,
3013 pub statements: ::protobuf::RepeatedField<ExecuteBatchDmlRequest_Statement>,
3014 pub seqno: i64,
3015 pub request_options: ::protobuf::SingularPtrField<RequestOptions>,
3016 pub unknown_fields: ::protobuf::UnknownFields,
3018 pub cached_size: ::protobuf::CachedSize,
3019}
3020
3021impl<'a> ::std::default::Default for &'a ExecuteBatchDmlRequest {
3022 fn default() -> &'a ExecuteBatchDmlRequest {
3023 <ExecuteBatchDmlRequest as ::protobuf::Message>::default_instance()
3024 }
3025}
3026
3027impl ExecuteBatchDmlRequest {
3028 pub fn new() -> ExecuteBatchDmlRequest {
3029 ::std::default::Default::default()
3030 }
3031
3032 pub fn get_session(&self) -> &str {
3036 &self.session
3037 }
3038 pub fn clear_session(&mut self) {
3039 self.session.clear();
3040 }
3041
3042 pub fn set_session(&mut self, v: ::std::string::String) {
3044 self.session = v;
3045 }
3046
3047 pub fn mut_session(&mut self) -> &mut ::std::string::String {
3050 &mut self.session
3051 }
3052
3053 pub fn take_session(&mut self) -> ::std::string::String {
3055 ::std::mem::replace(&mut self.session, ::std::string::String::new())
3056 }
3057
3058 pub fn get_transaction(&self) -> &super::transaction::TransactionSelector {
3062 self.transaction.as_ref().unwrap_or_else(|| <super::transaction::TransactionSelector as ::protobuf::Message>::default_instance())
3063 }
3064 pub fn clear_transaction(&mut self) {
3065 self.transaction.clear();
3066 }
3067
3068 pub fn has_transaction(&self) -> bool {
3069 self.transaction.is_some()
3070 }
3071
3072 pub fn set_transaction(&mut self, v: super::transaction::TransactionSelector) {
3074 self.transaction = ::protobuf::SingularPtrField::some(v);
3075 }
3076
3077 pub fn mut_transaction(&mut self) -> &mut super::transaction::TransactionSelector {
3080 if self.transaction.is_none() {
3081 self.transaction.set_default();
3082 }
3083 self.transaction.as_mut().unwrap()
3084 }
3085
3086 pub fn take_transaction(&mut self) -> super::transaction::TransactionSelector {
3088 self.transaction.take().unwrap_or_else(|| super::transaction::TransactionSelector::new())
3089 }
3090
3091 pub fn get_statements(&self) -> &[ExecuteBatchDmlRequest_Statement] {
3095 &self.statements
3096 }
3097 pub fn clear_statements(&mut self) {
3098 self.statements.clear();
3099 }
3100
3101 pub fn set_statements(&mut self, v: ::protobuf::RepeatedField<ExecuteBatchDmlRequest_Statement>) {
3103 self.statements = v;
3104 }
3105
3106 pub fn mut_statements(&mut self) -> &mut ::protobuf::RepeatedField<ExecuteBatchDmlRequest_Statement> {
3108 &mut self.statements
3109 }
3110
3111 pub fn take_statements(&mut self) -> ::protobuf::RepeatedField<ExecuteBatchDmlRequest_Statement> {
3113 ::std::mem::replace(&mut self.statements, ::protobuf::RepeatedField::new())
3114 }
3115
3116 pub fn get_seqno(&self) -> i64 {
3120 self.seqno
3121 }
3122 pub fn clear_seqno(&mut self) {
3123 self.seqno = 0;
3124 }
3125
3126 pub fn set_seqno(&mut self, v: i64) {
3128 self.seqno = v;
3129 }
3130
3131 pub fn get_request_options(&self) -> &RequestOptions {
3135 self.request_options.as_ref().unwrap_or_else(|| <RequestOptions as ::protobuf::Message>::default_instance())
3136 }
3137 pub fn clear_request_options(&mut self) {
3138 self.request_options.clear();
3139 }
3140
3141 pub fn has_request_options(&self) -> bool {
3142 self.request_options.is_some()
3143 }
3144
3145 pub fn set_request_options(&mut self, v: RequestOptions) {
3147 self.request_options = ::protobuf::SingularPtrField::some(v);
3148 }
3149
3150 pub fn mut_request_options(&mut self) -> &mut RequestOptions {
3153 if self.request_options.is_none() {
3154 self.request_options.set_default();
3155 }
3156 self.request_options.as_mut().unwrap()
3157 }
3158
3159 pub fn take_request_options(&mut self) -> RequestOptions {
3161 self.request_options.take().unwrap_or_else(|| RequestOptions::new())
3162 }
3163}
3164
3165impl ::protobuf::Message for ExecuteBatchDmlRequest {
3166 fn is_initialized(&self) -> bool {
3167 for v in &self.transaction {
3168 if !v.is_initialized() {
3169 return false;
3170 }
3171 };
3172 for v in &self.statements {
3173 if !v.is_initialized() {
3174 return false;
3175 }
3176 };
3177 for v in &self.request_options {
3178 if !v.is_initialized() {
3179 return false;
3180 }
3181 };
3182 true
3183 }
3184
3185 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3186 while !is.eof()? {
3187 let (field_number, wire_type) = is.read_tag_unpack()?;
3188 match field_number {
3189 1 => {
3190 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.session)?;
3191 },
3192 2 => {
3193 ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.transaction)?;
3194 },
3195 3 => {
3196 ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.statements)?;
3197 },
3198 4 => {
3199 if wire_type != ::protobuf::wire_format::WireTypeVarint {
3200 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
3201 }
3202 let tmp = is.read_int64()?;
3203 self.seqno = tmp;
3204 },
3205 5 => {
3206 ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.request_options)?;
3207 },
3208 _ => {
3209 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
3210 },
3211 };
3212 }
3213 ::std::result::Result::Ok(())
3214 }
3215
3216 #[allow(unused_variables)]
3218 fn compute_size(&self) -> u32 {
3219 let mut my_size = 0;
3220 if !self.session.is_empty() {
3221 my_size += ::protobuf::rt::string_size(1, &self.session);
3222 }
3223 if let Some(ref v) = self.transaction.as_ref() {
3224 let len = v.compute_size();
3225 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
3226 }
3227 for value in &self.statements {
3228 let len = value.compute_size();
3229 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
3230 };
3231 if self.seqno != 0 {
3232 my_size += ::protobuf::rt::value_size(4, self.seqno, ::protobuf::wire_format::WireTypeVarint);
3233 }
3234 if let Some(ref v) = self.request_options.as_ref() {
3235 let len = v.compute_size();
3236 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
3237 }
3238 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
3239 self.cached_size.set(my_size);
3240 my_size
3241 }
3242
3243 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3244 if !self.session.is_empty() {
3245 os.write_string(1, &self.session)?;
3246 }
3247 if let Some(ref v) = self.transaction.as_ref() {
3248 os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
3249 os.write_raw_varint32(v.get_cached_size())?;
3250 v.write_to_with_cached_sizes(os)?;
3251 }
3252 for v in &self.statements {
3253 os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
3254 os.write_raw_varint32(v.get_cached_size())?;
3255 v.write_to_with_cached_sizes(os)?;
3256 };
3257 if self.seqno != 0 {
3258 os.write_int64(4, self.seqno)?;
3259 }
3260 if let Some(ref v) = self.request_options.as_ref() {
3261 os.write_tag(5, ::protobuf::wire_format::WireTypeLengthDelimited)?;
3262 os.write_raw_varint32(v.get_cached_size())?;
3263 v.write_to_with_cached_sizes(os)?;
3264 }
3265 os.write_unknown_fields(self.get_unknown_fields())?;
3266 ::std::result::Result::Ok(())
3267 }
3268
3269 fn get_cached_size(&self) -> u32 {
3270 self.cached_size.get()
3271 }
3272
3273 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
3274 &self.unknown_fields
3275 }
3276
3277 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
3278 &mut self.unknown_fields
3279 }
3280
3281 fn as_any(&self) -> &dyn (::std::any::Any) {
3282 self as &dyn (::std::any::Any)
3283 }
3284 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
3285 self as &mut dyn (::std::any::Any)
3286 }
3287 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
3288 self
3289 }
3290
3291 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
3292 Self::descriptor_static()
3293 }
3294
3295 fn new() -> ExecuteBatchDmlRequest {
3296 ExecuteBatchDmlRequest::new()
3297 }
3298
3299 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
3300 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
3301 descriptor.get(|| {
3302 let mut fields = ::std::vec::Vec::new();
3303 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
3304 "session",
3305 |m: &ExecuteBatchDmlRequest| { &m.session },
3306 |m: &mut ExecuteBatchDmlRequest| { &mut m.session },
3307 ));
3308 fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::transaction::TransactionSelector>>(
3309 "transaction",
3310 |m: &ExecuteBatchDmlRequest| { &m.transaction },
3311 |m: &mut ExecuteBatchDmlRequest| { &mut m.transaction },
3312 ));
3313 fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<ExecuteBatchDmlRequest_Statement>>(
3314 "statements",
3315 |m: &ExecuteBatchDmlRequest| { &m.statements },
3316 |m: &mut ExecuteBatchDmlRequest| { &mut m.statements },
3317 ));
3318 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>(
3319 "seqno",
3320 |m: &ExecuteBatchDmlRequest| { &m.seqno },
3321 |m: &mut ExecuteBatchDmlRequest| { &mut m.seqno },
3322 ));
3323 fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<RequestOptions>>(
3324 "request_options",
3325 |m: &ExecuteBatchDmlRequest| { &m.request_options },
3326 |m: &mut ExecuteBatchDmlRequest| { &mut m.request_options },
3327 ));
3328 ::protobuf::reflect::MessageDescriptor::new_pb_name::<ExecuteBatchDmlRequest>(
3329 "ExecuteBatchDmlRequest",
3330 fields,
3331 file_descriptor_proto()
3332 )
3333 })
3334 }
3335
3336 fn default_instance() -> &'static ExecuteBatchDmlRequest {
3337 static instance: ::protobuf::rt::LazyV2<ExecuteBatchDmlRequest> = ::protobuf::rt::LazyV2::INIT;
3338 instance.get(ExecuteBatchDmlRequest::new)
3339 }
3340}
3341
3342impl ::protobuf::Clear for ExecuteBatchDmlRequest {
3343 fn clear(&mut self) {
3344 self.session.clear();
3345 self.transaction.clear();
3346 self.statements.clear();
3347 self.seqno = 0;
3348 self.request_options.clear();
3349 self.unknown_fields.clear();
3350 }
3351}
3352
3353impl ::std::fmt::Debug for ExecuteBatchDmlRequest {
3354 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3355 ::protobuf::text_format::fmt(self, f)
3356 }
3357}
3358
3359impl ::protobuf::reflect::ProtobufValue for ExecuteBatchDmlRequest {
3360 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
3361 ::protobuf::reflect::ReflectValueRef::Message(self)
3362 }
3363}
3364
3365#[derive(PartialEq,Clone,Default)]
3366pub struct ExecuteBatchDmlRequest_Statement {
3367 pub sql: ::std::string::String,
3369 pub params: ::protobuf::SingularPtrField<::protobuf::well_known_types::Struct>,
3370 pub param_types: ::std::collections::HashMap<::std::string::String, super::type_pb::Type>,
3371 pub unknown_fields: ::protobuf::UnknownFields,
3373 pub cached_size: ::protobuf::CachedSize,
3374}
3375
3376impl<'a> ::std::default::Default for &'a ExecuteBatchDmlRequest_Statement {
3377 fn default() -> &'a ExecuteBatchDmlRequest_Statement {
3378 <ExecuteBatchDmlRequest_Statement as ::protobuf::Message>::default_instance()
3379 }
3380}
3381
3382impl ExecuteBatchDmlRequest_Statement {
3383 pub fn new() -> ExecuteBatchDmlRequest_Statement {
3384 ::std::default::Default::default()
3385 }
3386
3387 pub fn get_sql(&self) -> &str {
3391 &self.sql
3392 }
3393 pub fn clear_sql(&mut self) {
3394 self.sql.clear();
3395 }
3396
3397 pub fn set_sql(&mut self, v: ::std::string::String) {
3399 self.sql = v;
3400 }
3401
3402 pub fn mut_sql(&mut self) -> &mut ::std::string::String {
3405 &mut self.sql
3406 }
3407
3408 pub fn take_sql(&mut self) -> ::std::string::String {
3410 ::std::mem::replace(&mut self.sql, ::std::string::String::new())
3411 }
3412
3413 pub fn get_params(&self) -> &::protobuf::well_known_types::Struct {
3417 self.params.as_ref().unwrap_or_else(|| <::protobuf::well_known_types::Struct as ::protobuf::Message>::default_instance())
3418 }
3419 pub fn clear_params(&mut self) {
3420 self.params.clear();
3421 }
3422
3423 pub fn has_params(&self) -> bool {
3424 self.params.is_some()
3425 }
3426
3427 pub fn set_params(&mut self, v: ::protobuf::well_known_types::Struct) {
3429 self.params = ::protobuf::SingularPtrField::some(v);
3430 }
3431
3432 pub fn mut_params(&mut self) -> &mut ::protobuf::well_known_types::Struct {
3435 if self.params.is_none() {
3436 self.params.set_default();
3437 }
3438 self.params.as_mut().unwrap()
3439 }
3440
3441 pub fn take_params(&mut self) -> ::protobuf::well_known_types::Struct {
3443 self.params.take().unwrap_or_else(|| ::protobuf::well_known_types::Struct::new())
3444 }
3445
3446 pub fn get_param_types(&self) -> &::std::collections::HashMap<::std::string::String, super::type_pb::Type> {
3450 &self.param_types
3451 }
3452 pub fn clear_param_types(&mut self) {
3453 self.param_types.clear();
3454 }
3455
3456 pub fn set_param_types(&mut self, v: ::std::collections::HashMap<::std::string::String, super::type_pb::Type>) {
3458 self.param_types = v;
3459 }
3460
3461 pub fn mut_param_types(&mut self) -> &mut ::std::collections::HashMap<::std::string::String, super::type_pb::Type> {
3463 &mut self.param_types
3464 }
3465
3466 pub fn take_param_types(&mut self) -> ::std::collections::HashMap<::std::string::String, super::type_pb::Type> {
3468 ::std::mem::replace(&mut self.param_types, ::std::collections::HashMap::new())
3469 }
3470}
3471
3472impl ::protobuf::Message for ExecuteBatchDmlRequest_Statement {
3473 fn is_initialized(&self) -> bool {
3474 for v in &self.params {
3475 if !v.is_initialized() {
3476 return false;
3477 }
3478 };
3479 true
3480 }
3481
3482 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3483 while !is.eof()? {
3484 let (field_number, wire_type) = is.read_tag_unpack()?;
3485 match field_number {
3486 1 => {
3487 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.sql)?;
3488 },
3489 2 => {
3490 ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.params)?;
3491 },
3492 3 => {
3493 ::protobuf::rt::read_map_into::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<super::type_pb::Type>>(wire_type, is, &mut self.param_types)?;
3494 },
3495 _ => {
3496 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
3497 },
3498 };
3499 }
3500 ::std::result::Result::Ok(())
3501 }
3502
3503 #[allow(unused_variables)]
3505 fn compute_size(&self) -> u32 {
3506 let mut my_size = 0;
3507 if !self.sql.is_empty() {
3508 my_size += ::protobuf::rt::string_size(1, &self.sql);
3509 }
3510 if let Some(ref v) = self.params.as_ref() {
3511 let len = v.compute_size();
3512 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
3513 }
3514 my_size += ::protobuf::rt::compute_map_size::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<super::type_pb::Type>>(3, &self.param_types);
3515 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
3516 self.cached_size.set(my_size);
3517 my_size
3518 }
3519
3520 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3521 if !self.sql.is_empty() {
3522 os.write_string(1, &self.sql)?;
3523 }
3524 if let Some(ref v) = self.params.as_ref() {
3525 os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
3526 os.write_raw_varint32(v.get_cached_size())?;
3527 v.write_to_with_cached_sizes(os)?;
3528 }
3529 ::protobuf::rt::write_map_with_cached_sizes::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<super::type_pb::Type>>(3, &self.param_types, os)?;
3530 os.write_unknown_fields(self.get_unknown_fields())?;
3531 ::std::result::Result::Ok(())
3532 }
3533
3534 fn get_cached_size(&self) -> u32 {
3535 self.cached_size.get()
3536 }
3537
3538 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
3539 &self.unknown_fields
3540 }
3541
3542 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
3543 &mut self.unknown_fields
3544 }
3545
3546 fn as_any(&self) -> &dyn (::std::any::Any) {
3547 self as &dyn (::std::any::Any)
3548 }
3549 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
3550 self as &mut dyn (::std::any::Any)
3551 }
3552 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
3553 self
3554 }
3555
3556 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
3557 Self::descriptor_static()
3558 }
3559
3560 fn new() -> ExecuteBatchDmlRequest_Statement {
3561 ExecuteBatchDmlRequest_Statement::new()
3562 }
3563
3564 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
3565 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
3566 descriptor.get(|| {
3567 let mut fields = ::std::vec::Vec::new();
3568 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
3569 "sql",
3570 |m: &ExecuteBatchDmlRequest_Statement| { &m.sql },
3571 |m: &mut ExecuteBatchDmlRequest_Statement| { &mut m.sql },
3572 ));
3573 fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<::protobuf::well_known_types::Struct>>(
3574 "params",
3575 |m: &ExecuteBatchDmlRequest_Statement| { &m.params },
3576 |m: &mut ExecuteBatchDmlRequest_Statement| { &mut m.params },
3577 ));
3578 fields.push(::protobuf::reflect::accessor::make_map_accessor::<_, ::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<super::type_pb::Type>>(
3579 "param_types",
3580 |m: &ExecuteBatchDmlRequest_Statement| { &m.param_types },
3581 |m: &mut ExecuteBatchDmlRequest_Statement| { &mut m.param_types },
3582 ));
3583 ::protobuf::reflect::MessageDescriptor::new_pb_name::<ExecuteBatchDmlRequest_Statement>(
3584 "ExecuteBatchDmlRequest.Statement",
3585 fields,
3586 file_descriptor_proto()
3587 )
3588 })
3589 }
3590
3591 fn default_instance() -> &'static ExecuteBatchDmlRequest_Statement {
3592 static instance: ::protobuf::rt::LazyV2<ExecuteBatchDmlRequest_Statement> = ::protobuf::rt::LazyV2::INIT;
3593 instance.get(ExecuteBatchDmlRequest_Statement::new)
3594 }
3595}
3596
3597impl ::protobuf::Clear for ExecuteBatchDmlRequest_Statement {
3598 fn clear(&mut self) {
3599 self.sql.clear();
3600 self.params.clear();
3601 self.param_types.clear();
3602 self.unknown_fields.clear();
3603 }
3604}
3605
3606impl ::std::fmt::Debug for ExecuteBatchDmlRequest_Statement {
3607 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3608 ::protobuf::text_format::fmt(self, f)
3609 }
3610}
3611
3612impl ::protobuf::reflect::ProtobufValue for ExecuteBatchDmlRequest_Statement {
3613 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
3614 ::protobuf::reflect::ReflectValueRef::Message(self)
3615 }
3616}
3617
3618#[derive(PartialEq,Clone,Default)]
3619pub struct ExecuteBatchDmlResponse {
3620 pub result_sets: ::protobuf::RepeatedField<super::result_set::ResultSet>,
3622 pub status: ::protobuf::SingularPtrField<super::status::Status>,
3623 pub unknown_fields: ::protobuf::UnknownFields,
3625 pub cached_size: ::protobuf::CachedSize,
3626}
3627
3628impl<'a> ::std::default::Default for &'a ExecuteBatchDmlResponse {
3629 fn default() -> &'a ExecuteBatchDmlResponse {
3630 <ExecuteBatchDmlResponse as ::protobuf::Message>::default_instance()
3631 }
3632}
3633
3634impl ExecuteBatchDmlResponse {
3635 pub fn new() -> ExecuteBatchDmlResponse {
3636 ::std::default::Default::default()
3637 }
3638
3639 pub fn get_result_sets(&self) -> &[super::result_set::ResultSet] {
3643 &self.result_sets
3644 }
3645 pub fn clear_result_sets(&mut self) {
3646 self.result_sets.clear();
3647 }
3648
3649 pub fn set_result_sets(&mut self, v: ::protobuf::RepeatedField<super::result_set::ResultSet>) {
3651 self.result_sets = v;
3652 }
3653
3654 pub fn mut_result_sets(&mut self) -> &mut ::protobuf::RepeatedField<super::result_set::ResultSet> {
3656 &mut self.result_sets
3657 }
3658
3659 pub fn take_result_sets(&mut self) -> ::protobuf::RepeatedField<super::result_set::ResultSet> {
3661 ::std::mem::replace(&mut self.result_sets, ::protobuf::RepeatedField::new())
3662 }
3663
3664 pub fn get_status(&self) -> &super::status::Status {
3668 self.status.as_ref().unwrap_or_else(|| <super::status::Status as ::protobuf::Message>::default_instance())
3669 }
3670 pub fn clear_status(&mut self) {
3671 self.status.clear();
3672 }
3673
3674 pub fn has_status(&self) -> bool {
3675 self.status.is_some()
3676 }
3677
3678 pub fn set_status(&mut self, v: super::status::Status) {
3680 self.status = ::protobuf::SingularPtrField::some(v);
3681 }
3682
3683 pub fn mut_status(&mut self) -> &mut super::status::Status {
3686 if self.status.is_none() {
3687 self.status.set_default();
3688 }
3689 self.status.as_mut().unwrap()
3690 }
3691
3692 pub fn take_status(&mut self) -> super::status::Status {
3694 self.status.take().unwrap_or_else(|| super::status::Status::new())
3695 }
3696}
3697
3698impl ::protobuf::Message for ExecuteBatchDmlResponse {
3699 fn is_initialized(&self) -> bool {
3700 for v in &self.result_sets {
3701 if !v.is_initialized() {
3702 return false;
3703 }
3704 };
3705 for v in &self.status {
3706 if !v.is_initialized() {
3707 return false;
3708 }
3709 };
3710 true
3711 }
3712
3713 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3714 while !is.eof()? {
3715 let (field_number, wire_type) = is.read_tag_unpack()?;
3716 match field_number {
3717 1 => {
3718 ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.result_sets)?;
3719 },
3720 2 => {
3721 ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.status)?;
3722 },
3723 _ => {
3724 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
3725 },
3726 };
3727 }
3728 ::std::result::Result::Ok(())
3729 }
3730
3731 #[allow(unused_variables)]
3733 fn compute_size(&self) -> u32 {
3734 let mut my_size = 0;
3735 for value in &self.result_sets {
3736 let len = value.compute_size();
3737 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
3738 };
3739 if let Some(ref v) = self.status.as_ref() {
3740 let len = v.compute_size();
3741 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
3742 }
3743 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
3744 self.cached_size.set(my_size);
3745 my_size
3746 }
3747
3748 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3749 for v in &self.result_sets {
3750 os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
3751 os.write_raw_varint32(v.get_cached_size())?;
3752 v.write_to_with_cached_sizes(os)?;
3753 };
3754 if let Some(ref v) = self.status.as_ref() {
3755 os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
3756 os.write_raw_varint32(v.get_cached_size())?;
3757 v.write_to_with_cached_sizes(os)?;
3758 }
3759 os.write_unknown_fields(self.get_unknown_fields())?;
3760 ::std::result::Result::Ok(())
3761 }
3762
3763 fn get_cached_size(&self) -> u32 {
3764 self.cached_size.get()
3765 }
3766
3767 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
3768 &self.unknown_fields
3769 }
3770
3771 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
3772 &mut self.unknown_fields
3773 }
3774
3775 fn as_any(&self) -> &dyn (::std::any::Any) {
3776 self as &dyn (::std::any::Any)
3777 }
3778 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
3779 self as &mut dyn (::std::any::Any)
3780 }
3781 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
3782 self
3783 }
3784
3785 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
3786 Self::descriptor_static()
3787 }
3788
3789 fn new() -> ExecuteBatchDmlResponse {
3790 ExecuteBatchDmlResponse::new()
3791 }
3792
3793 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
3794 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
3795 descriptor.get(|| {
3796 let mut fields = ::std::vec::Vec::new();
3797 fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::result_set::ResultSet>>(
3798 "result_sets",
3799 |m: &ExecuteBatchDmlResponse| { &m.result_sets },
3800 |m: &mut ExecuteBatchDmlResponse| { &mut m.result_sets },
3801 ));
3802 fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::status::Status>>(
3803 "status",
3804 |m: &ExecuteBatchDmlResponse| { &m.status },
3805 |m: &mut ExecuteBatchDmlResponse| { &mut m.status },
3806 ));
3807 ::protobuf::reflect::MessageDescriptor::new_pb_name::<ExecuteBatchDmlResponse>(
3808 "ExecuteBatchDmlResponse",
3809 fields,
3810 file_descriptor_proto()
3811 )
3812 })
3813 }
3814
3815 fn default_instance() -> &'static ExecuteBatchDmlResponse {
3816 static instance: ::protobuf::rt::LazyV2<ExecuteBatchDmlResponse> = ::protobuf::rt::LazyV2::INIT;
3817 instance.get(ExecuteBatchDmlResponse::new)
3818 }
3819}
3820
3821impl ::protobuf::Clear for ExecuteBatchDmlResponse {
3822 fn clear(&mut self) {
3823 self.result_sets.clear();
3824 self.status.clear();
3825 self.unknown_fields.clear();
3826 }
3827}
3828
3829impl ::std::fmt::Debug for ExecuteBatchDmlResponse {
3830 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3831 ::protobuf::text_format::fmt(self, f)
3832 }
3833}
3834
3835impl ::protobuf::reflect::ProtobufValue for ExecuteBatchDmlResponse {
3836 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
3837 ::protobuf::reflect::ReflectValueRef::Message(self)
3838 }
3839}
3840
3841#[derive(PartialEq,Clone,Default)]
3842pub struct PartitionOptions {
3843 pub partition_size_bytes: i64,
3845 pub max_partitions: i64,
3846 pub unknown_fields: ::protobuf::UnknownFields,
3848 pub cached_size: ::protobuf::CachedSize,
3849}
3850
3851impl<'a> ::std::default::Default for &'a PartitionOptions {
3852 fn default() -> &'a PartitionOptions {
3853 <PartitionOptions as ::protobuf::Message>::default_instance()
3854 }
3855}
3856
3857impl PartitionOptions {
3858 pub fn new() -> PartitionOptions {
3859 ::std::default::Default::default()
3860 }
3861
3862 pub fn get_partition_size_bytes(&self) -> i64 {
3866 self.partition_size_bytes
3867 }
3868 pub fn clear_partition_size_bytes(&mut self) {
3869 self.partition_size_bytes = 0;
3870 }
3871
3872 pub fn set_partition_size_bytes(&mut self, v: i64) {
3874 self.partition_size_bytes = v;
3875 }
3876
3877 pub fn get_max_partitions(&self) -> i64 {
3881 self.max_partitions
3882 }
3883 pub fn clear_max_partitions(&mut self) {
3884 self.max_partitions = 0;
3885 }
3886
3887 pub fn set_max_partitions(&mut self, v: i64) {
3889 self.max_partitions = v;
3890 }
3891}
3892
3893impl ::protobuf::Message for PartitionOptions {
3894 fn is_initialized(&self) -> bool {
3895 true
3896 }
3897
3898 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3899 while !is.eof()? {
3900 let (field_number, wire_type) = is.read_tag_unpack()?;
3901 match field_number {
3902 1 => {
3903 if wire_type != ::protobuf::wire_format::WireTypeVarint {
3904 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
3905 }
3906 let tmp = is.read_int64()?;
3907 self.partition_size_bytes = tmp;
3908 },
3909 2 => {
3910 if wire_type != ::protobuf::wire_format::WireTypeVarint {
3911 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
3912 }
3913 let tmp = is.read_int64()?;
3914 self.max_partitions = tmp;
3915 },
3916 _ => {
3917 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
3918 },
3919 };
3920 }
3921 ::std::result::Result::Ok(())
3922 }
3923
3924 #[allow(unused_variables)]
3926 fn compute_size(&self) -> u32 {
3927 let mut my_size = 0;
3928 if self.partition_size_bytes != 0 {
3929 my_size += ::protobuf::rt::value_size(1, self.partition_size_bytes, ::protobuf::wire_format::WireTypeVarint);
3930 }
3931 if self.max_partitions != 0 {
3932 my_size += ::protobuf::rt::value_size(2, self.max_partitions, ::protobuf::wire_format::WireTypeVarint);
3933 }
3934 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
3935 self.cached_size.set(my_size);
3936 my_size
3937 }
3938
3939 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3940 if self.partition_size_bytes != 0 {
3941 os.write_int64(1, self.partition_size_bytes)?;
3942 }
3943 if self.max_partitions != 0 {
3944 os.write_int64(2, self.max_partitions)?;
3945 }
3946 os.write_unknown_fields(self.get_unknown_fields())?;
3947 ::std::result::Result::Ok(())
3948 }
3949
3950 fn get_cached_size(&self) -> u32 {
3951 self.cached_size.get()
3952 }
3953
3954 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
3955 &self.unknown_fields
3956 }
3957
3958 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
3959 &mut self.unknown_fields
3960 }
3961
3962 fn as_any(&self) -> &dyn (::std::any::Any) {
3963 self as &dyn (::std::any::Any)
3964 }
3965 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
3966 self as &mut dyn (::std::any::Any)
3967 }
3968 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
3969 self
3970 }
3971
3972 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
3973 Self::descriptor_static()
3974 }
3975
3976 fn new() -> PartitionOptions {
3977 PartitionOptions::new()
3978 }
3979
3980 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
3981 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
3982 descriptor.get(|| {
3983 let mut fields = ::std::vec::Vec::new();
3984 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>(
3985 "partition_size_bytes",
3986 |m: &PartitionOptions| { &m.partition_size_bytes },
3987 |m: &mut PartitionOptions| { &mut m.partition_size_bytes },
3988 ));
3989 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>(
3990 "max_partitions",
3991 |m: &PartitionOptions| { &m.max_partitions },
3992 |m: &mut PartitionOptions| { &mut m.max_partitions },
3993 ));
3994 ::protobuf::reflect::MessageDescriptor::new_pb_name::<PartitionOptions>(
3995 "PartitionOptions",
3996 fields,
3997 file_descriptor_proto()
3998 )
3999 })
4000 }
4001
4002 fn default_instance() -> &'static PartitionOptions {
4003 static instance: ::protobuf::rt::LazyV2<PartitionOptions> = ::protobuf::rt::LazyV2::INIT;
4004 instance.get(PartitionOptions::new)
4005 }
4006}
4007
4008impl ::protobuf::Clear for PartitionOptions {
4009 fn clear(&mut self) {
4010 self.partition_size_bytes = 0;
4011 self.max_partitions = 0;
4012 self.unknown_fields.clear();
4013 }
4014}
4015
4016impl ::std::fmt::Debug for PartitionOptions {
4017 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4018 ::protobuf::text_format::fmt(self, f)
4019 }
4020}
4021
4022impl ::protobuf::reflect::ProtobufValue for PartitionOptions {
4023 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
4024 ::protobuf::reflect::ReflectValueRef::Message(self)
4025 }
4026}
4027
4028#[derive(PartialEq,Clone,Default)]
4029pub struct PartitionQueryRequest {
4030 pub session: ::std::string::String,
4032 pub transaction: ::protobuf::SingularPtrField<super::transaction::TransactionSelector>,
4033 pub sql: ::std::string::String,
4034 pub params: ::protobuf::SingularPtrField<::protobuf::well_known_types::Struct>,
4035 pub param_types: ::std::collections::HashMap<::std::string::String, super::type_pb::Type>,
4036 pub partition_options: ::protobuf::SingularPtrField<PartitionOptions>,
4037 pub unknown_fields: ::protobuf::UnknownFields,
4039 pub cached_size: ::protobuf::CachedSize,
4040}
4041
4042impl<'a> ::std::default::Default for &'a PartitionQueryRequest {
4043 fn default() -> &'a PartitionQueryRequest {
4044 <PartitionQueryRequest as ::protobuf::Message>::default_instance()
4045 }
4046}
4047
4048impl PartitionQueryRequest {
4049 pub fn new() -> PartitionQueryRequest {
4050 ::std::default::Default::default()
4051 }
4052
4053 pub fn get_session(&self) -> &str {
4057 &self.session
4058 }
4059 pub fn clear_session(&mut self) {
4060 self.session.clear();
4061 }
4062
4063 pub fn set_session(&mut self, v: ::std::string::String) {
4065 self.session = v;
4066 }
4067
4068 pub fn mut_session(&mut self) -> &mut ::std::string::String {
4071 &mut self.session
4072 }
4073
4074 pub fn take_session(&mut self) -> ::std::string::String {
4076 ::std::mem::replace(&mut self.session, ::std::string::String::new())
4077 }
4078
4079 pub fn get_transaction(&self) -> &super::transaction::TransactionSelector {
4083 self.transaction.as_ref().unwrap_or_else(|| <super::transaction::TransactionSelector as ::protobuf::Message>::default_instance())
4084 }
4085 pub fn clear_transaction(&mut self) {
4086 self.transaction.clear();
4087 }
4088
4089 pub fn has_transaction(&self) -> bool {
4090 self.transaction.is_some()
4091 }
4092
4093 pub fn set_transaction(&mut self, v: super::transaction::TransactionSelector) {
4095 self.transaction = ::protobuf::SingularPtrField::some(v);
4096 }
4097
4098 pub fn mut_transaction(&mut self) -> &mut super::transaction::TransactionSelector {
4101 if self.transaction.is_none() {
4102 self.transaction.set_default();
4103 }
4104 self.transaction.as_mut().unwrap()
4105 }
4106
4107 pub fn take_transaction(&mut self) -> super::transaction::TransactionSelector {
4109 self.transaction.take().unwrap_or_else(|| super::transaction::TransactionSelector::new())
4110 }
4111
4112 pub fn get_sql(&self) -> &str {
4116 &self.sql
4117 }
4118 pub fn clear_sql(&mut self) {
4119 self.sql.clear();
4120 }
4121
4122 pub fn set_sql(&mut self, v: ::std::string::String) {
4124 self.sql = v;
4125 }
4126
4127 pub fn mut_sql(&mut self) -> &mut ::std::string::String {
4130 &mut self.sql
4131 }
4132
4133 pub fn take_sql(&mut self) -> ::std::string::String {
4135 ::std::mem::replace(&mut self.sql, ::std::string::String::new())
4136 }
4137
4138 pub fn get_params(&self) -> &::protobuf::well_known_types::Struct {
4142 self.params.as_ref().unwrap_or_else(|| <::protobuf::well_known_types::Struct as ::protobuf::Message>::default_instance())
4143 }
4144 pub fn clear_params(&mut self) {
4145 self.params.clear();
4146 }
4147
4148 pub fn has_params(&self) -> bool {
4149 self.params.is_some()
4150 }
4151
4152 pub fn set_params(&mut self, v: ::protobuf::well_known_types::Struct) {
4154 self.params = ::protobuf::SingularPtrField::some(v);
4155 }
4156
4157 pub fn mut_params(&mut self) -> &mut ::protobuf::well_known_types::Struct {
4160 if self.params.is_none() {
4161 self.params.set_default();
4162 }
4163 self.params.as_mut().unwrap()
4164 }
4165
4166 pub fn take_params(&mut self) -> ::protobuf::well_known_types::Struct {
4168 self.params.take().unwrap_or_else(|| ::protobuf::well_known_types::Struct::new())
4169 }
4170
4171 pub fn get_param_types(&self) -> &::std::collections::HashMap<::std::string::String, super::type_pb::Type> {
4175 &self.param_types
4176 }
4177 pub fn clear_param_types(&mut self) {
4178 self.param_types.clear();
4179 }
4180
4181 pub fn set_param_types(&mut self, v: ::std::collections::HashMap<::std::string::String, super::type_pb::Type>) {
4183 self.param_types = v;
4184 }
4185
4186 pub fn mut_param_types(&mut self) -> &mut ::std::collections::HashMap<::std::string::String, super::type_pb::Type> {
4188 &mut self.param_types
4189 }
4190
4191 pub fn take_param_types(&mut self) -> ::std::collections::HashMap<::std::string::String, super::type_pb::Type> {
4193 ::std::mem::replace(&mut self.param_types, ::std::collections::HashMap::new())
4194 }
4195
4196 pub fn get_partition_options(&self) -> &PartitionOptions {
4200 self.partition_options.as_ref().unwrap_or_else(|| <PartitionOptions as ::protobuf::Message>::default_instance())
4201 }
4202 pub fn clear_partition_options(&mut self) {
4203 self.partition_options.clear();
4204 }
4205
4206 pub fn has_partition_options(&self) -> bool {
4207 self.partition_options.is_some()
4208 }
4209
4210 pub fn set_partition_options(&mut self, v: PartitionOptions) {
4212 self.partition_options = ::protobuf::SingularPtrField::some(v);
4213 }
4214
4215 pub fn mut_partition_options(&mut self) -> &mut PartitionOptions {
4218 if self.partition_options.is_none() {
4219 self.partition_options.set_default();
4220 }
4221 self.partition_options.as_mut().unwrap()
4222 }
4223
4224 pub fn take_partition_options(&mut self) -> PartitionOptions {
4226 self.partition_options.take().unwrap_or_else(|| PartitionOptions::new())
4227 }
4228}
4229
4230impl ::protobuf::Message for PartitionQueryRequest {
4231 fn is_initialized(&self) -> bool {
4232 for v in &self.transaction {
4233 if !v.is_initialized() {
4234 return false;
4235 }
4236 };
4237 for v in &self.params {
4238 if !v.is_initialized() {
4239 return false;
4240 }
4241 };
4242 for v in &self.partition_options {
4243 if !v.is_initialized() {
4244 return false;
4245 }
4246 };
4247 true
4248 }
4249
4250 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
4251 while !is.eof()? {
4252 let (field_number, wire_type) = is.read_tag_unpack()?;
4253 match field_number {
4254 1 => {
4255 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.session)?;
4256 },
4257 2 => {
4258 ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.transaction)?;
4259 },
4260 3 => {
4261 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.sql)?;
4262 },
4263 4 => {
4264 ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.params)?;
4265 },
4266 5 => {
4267 ::protobuf::rt::read_map_into::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<super::type_pb::Type>>(wire_type, is, &mut self.param_types)?;
4268 },
4269 6 => {
4270 ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.partition_options)?;
4271 },
4272 _ => {
4273 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
4274 },
4275 };
4276 }
4277 ::std::result::Result::Ok(())
4278 }
4279
4280 #[allow(unused_variables)]
4282 fn compute_size(&self) -> u32 {
4283 let mut my_size = 0;
4284 if !self.session.is_empty() {
4285 my_size += ::protobuf::rt::string_size(1, &self.session);
4286 }
4287 if let Some(ref v) = self.transaction.as_ref() {
4288 let len = v.compute_size();
4289 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
4290 }
4291 if !self.sql.is_empty() {
4292 my_size += ::protobuf::rt::string_size(3, &self.sql);
4293 }
4294 if let Some(ref v) = self.params.as_ref() {
4295 let len = v.compute_size();
4296 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
4297 }
4298 my_size += ::protobuf::rt::compute_map_size::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<super::type_pb::Type>>(5, &self.param_types);
4299 if let Some(ref v) = self.partition_options.as_ref() {
4300 let len = v.compute_size();
4301 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
4302 }
4303 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
4304 self.cached_size.set(my_size);
4305 my_size
4306 }
4307
4308 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
4309 if !self.session.is_empty() {
4310 os.write_string(1, &self.session)?;
4311 }
4312 if let Some(ref v) = self.transaction.as_ref() {
4313 os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
4314 os.write_raw_varint32(v.get_cached_size())?;
4315 v.write_to_with_cached_sizes(os)?;
4316 }
4317 if !self.sql.is_empty() {
4318 os.write_string(3, &self.sql)?;
4319 }
4320 if let Some(ref v) = self.params.as_ref() {
4321 os.write_tag(4, ::protobuf::wire_format::WireTypeLengthDelimited)?;
4322 os.write_raw_varint32(v.get_cached_size())?;
4323 v.write_to_with_cached_sizes(os)?;
4324 }
4325 ::protobuf::rt::write_map_with_cached_sizes::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<super::type_pb::Type>>(5, &self.param_types, os)?;
4326 if let Some(ref v) = self.partition_options.as_ref() {
4327 os.write_tag(6, ::protobuf::wire_format::WireTypeLengthDelimited)?;
4328 os.write_raw_varint32(v.get_cached_size())?;
4329 v.write_to_with_cached_sizes(os)?;
4330 }
4331 os.write_unknown_fields(self.get_unknown_fields())?;
4332 ::std::result::Result::Ok(())
4333 }
4334
4335 fn get_cached_size(&self) -> u32 {
4336 self.cached_size.get()
4337 }
4338
4339 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
4340 &self.unknown_fields
4341 }
4342
4343 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
4344 &mut self.unknown_fields
4345 }
4346
4347 fn as_any(&self) -> &dyn (::std::any::Any) {
4348 self as &dyn (::std::any::Any)
4349 }
4350 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
4351 self as &mut dyn (::std::any::Any)
4352 }
4353 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
4354 self
4355 }
4356
4357 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
4358 Self::descriptor_static()
4359 }
4360
4361 fn new() -> PartitionQueryRequest {
4362 PartitionQueryRequest::new()
4363 }
4364
4365 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
4366 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
4367 descriptor.get(|| {
4368 let mut fields = ::std::vec::Vec::new();
4369 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
4370 "session",
4371 |m: &PartitionQueryRequest| { &m.session },
4372 |m: &mut PartitionQueryRequest| { &mut m.session },
4373 ));
4374 fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::transaction::TransactionSelector>>(
4375 "transaction",
4376 |m: &PartitionQueryRequest| { &m.transaction },
4377 |m: &mut PartitionQueryRequest| { &mut m.transaction },
4378 ));
4379 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
4380 "sql",
4381 |m: &PartitionQueryRequest| { &m.sql },
4382 |m: &mut PartitionQueryRequest| { &mut m.sql },
4383 ));
4384 fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<::protobuf::well_known_types::Struct>>(
4385 "params",
4386 |m: &PartitionQueryRequest| { &m.params },
4387 |m: &mut PartitionQueryRequest| { &mut m.params },
4388 ));
4389 fields.push(::protobuf::reflect::accessor::make_map_accessor::<_, ::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<super::type_pb::Type>>(
4390 "param_types",
4391 |m: &PartitionQueryRequest| { &m.param_types },
4392 |m: &mut PartitionQueryRequest| { &mut m.param_types },
4393 ));
4394 fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<PartitionOptions>>(
4395 "partition_options",
4396 |m: &PartitionQueryRequest| { &m.partition_options },
4397 |m: &mut PartitionQueryRequest| { &mut m.partition_options },
4398 ));
4399 ::protobuf::reflect::MessageDescriptor::new_pb_name::<PartitionQueryRequest>(
4400 "PartitionQueryRequest",
4401 fields,
4402 file_descriptor_proto()
4403 )
4404 })
4405 }
4406
4407 fn default_instance() -> &'static PartitionQueryRequest {
4408 static instance: ::protobuf::rt::LazyV2<PartitionQueryRequest> = ::protobuf::rt::LazyV2::INIT;
4409 instance.get(PartitionQueryRequest::new)
4410 }
4411}
4412
4413impl ::protobuf::Clear for PartitionQueryRequest {
4414 fn clear(&mut self) {
4415 self.session.clear();
4416 self.transaction.clear();
4417 self.sql.clear();
4418 self.params.clear();
4419 self.param_types.clear();
4420 self.partition_options.clear();
4421 self.unknown_fields.clear();
4422 }
4423}
4424
4425impl ::std::fmt::Debug for PartitionQueryRequest {
4426 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4427 ::protobuf::text_format::fmt(self, f)
4428 }
4429}
4430
4431impl ::protobuf::reflect::ProtobufValue for PartitionQueryRequest {
4432 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
4433 ::protobuf::reflect::ReflectValueRef::Message(self)
4434 }
4435}
4436
4437#[derive(PartialEq,Clone,Default)]
4438pub struct PartitionReadRequest {
4439 pub session: ::std::string::String,
4441 pub transaction: ::protobuf::SingularPtrField<super::transaction::TransactionSelector>,
4442 pub table: ::std::string::String,
4443 pub index: ::std::string::String,
4444 pub columns: ::protobuf::RepeatedField<::std::string::String>,
4445 pub key_set: ::protobuf::SingularPtrField<super::keys::KeySet>,
4446 pub partition_options: ::protobuf::SingularPtrField<PartitionOptions>,
4447 pub unknown_fields: ::protobuf::UnknownFields,
4449 pub cached_size: ::protobuf::CachedSize,
4450}
4451
4452impl<'a> ::std::default::Default for &'a PartitionReadRequest {
4453 fn default() -> &'a PartitionReadRequest {
4454 <PartitionReadRequest as ::protobuf::Message>::default_instance()
4455 }
4456}
4457
4458impl PartitionReadRequest {
4459 pub fn new() -> PartitionReadRequest {
4460 ::std::default::Default::default()
4461 }
4462
4463 pub fn get_session(&self) -> &str {
4467 &self.session
4468 }
4469 pub fn clear_session(&mut self) {
4470 self.session.clear();
4471 }
4472
4473 pub fn set_session(&mut self, v: ::std::string::String) {
4475 self.session = v;
4476 }
4477
4478 pub fn mut_session(&mut self) -> &mut ::std::string::String {
4481 &mut self.session
4482 }
4483
4484 pub fn take_session(&mut self) -> ::std::string::String {
4486 ::std::mem::replace(&mut self.session, ::std::string::String::new())
4487 }
4488
4489 pub fn get_transaction(&self) -> &super::transaction::TransactionSelector {
4493 self.transaction.as_ref().unwrap_or_else(|| <super::transaction::TransactionSelector as ::protobuf::Message>::default_instance())
4494 }
4495 pub fn clear_transaction(&mut self) {
4496 self.transaction.clear();
4497 }
4498
4499 pub fn has_transaction(&self) -> bool {
4500 self.transaction.is_some()
4501 }
4502
4503 pub fn set_transaction(&mut self, v: super::transaction::TransactionSelector) {
4505 self.transaction = ::protobuf::SingularPtrField::some(v);
4506 }
4507
4508 pub fn mut_transaction(&mut self) -> &mut super::transaction::TransactionSelector {
4511 if self.transaction.is_none() {
4512 self.transaction.set_default();
4513 }
4514 self.transaction.as_mut().unwrap()
4515 }
4516
4517 pub fn take_transaction(&mut self) -> super::transaction::TransactionSelector {
4519 self.transaction.take().unwrap_or_else(|| super::transaction::TransactionSelector::new())
4520 }
4521
4522 pub fn get_table(&self) -> &str {
4526 &self.table
4527 }
4528 pub fn clear_table(&mut self) {
4529 self.table.clear();
4530 }
4531
4532 pub fn set_table(&mut self, v: ::std::string::String) {
4534 self.table = v;
4535 }
4536
4537 pub fn mut_table(&mut self) -> &mut ::std::string::String {
4540 &mut self.table
4541 }
4542
4543 pub fn take_table(&mut self) -> ::std::string::String {
4545 ::std::mem::replace(&mut self.table, ::std::string::String::new())
4546 }
4547
4548 pub fn get_index(&self) -> &str {
4552 &self.index
4553 }
4554 pub fn clear_index(&mut self) {
4555 self.index.clear();
4556 }
4557
4558 pub fn set_index(&mut self, v: ::std::string::String) {
4560 self.index = v;
4561 }
4562
4563 pub fn mut_index(&mut self) -> &mut ::std::string::String {
4566 &mut self.index
4567 }
4568
4569 pub fn take_index(&mut self) -> ::std::string::String {
4571 ::std::mem::replace(&mut self.index, ::std::string::String::new())
4572 }
4573
4574 pub fn get_columns(&self) -> &[::std::string::String] {
4578 &self.columns
4579 }
4580 pub fn clear_columns(&mut self) {
4581 self.columns.clear();
4582 }
4583
4584 pub fn set_columns(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
4586 self.columns = v;
4587 }
4588
4589 pub fn mut_columns(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
4591 &mut self.columns
4592 }
4593
4594 pub fn take_columns(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
4596 ::std::mem::replace(&mut self.columns, ::protobuf::RepeatedField::new())
4597 }
4598
4599 pub fn get_key_set(&self) -> &super::keys::KeySet {
4603 self.key_set.as_ref().unwrap_or_else(|| <super::keys::KeySet as ::protobuf::Message>::default_instance())
4604 }
4605 pub fn clear_key_set(&mut self) {
4606 self.key_set.clear();
4607 }
4608
4609 pub fn has_key_set(&self) -> bool {
4610 self.key_set.is_some()
4611 }
4612
4613 pub fn set_key_set(&mut self, v: super::keys::KeySet) {
4615 self.key_set = ::protobuf::SingularPtrField::some(v);
4616 }
4617
4618 pub fn mut_key_set(&mut self) -> &mut super::keys::KeySet {
4621 if self.key_set.is_none() {
4622 self.key_set.set_default();
4623 }
4624 self.key_set.as_mut().unwrap()
4625 }
4626
4627 pub fn take_key_set(&mut self) -> super::keys::KeySet {
4629 self.key_set.take().unwrap_or_else(|| super::keys::KeySet::new())
4630 }
4631
4632 pub fn get_partition_options(&self) -> &PartitionOptions {
4636 self.partition_options.as_ref().unwrap_or_else(|| <PartitionOptions as ::protobuf::Message>::default_instance())
4637 }
4638 pub fn clear_partition_options(&mut self) {
4639 self.partition_options.clear();
4640 }
4641
4642 pub fn has_partition_options(&self) -> bool {
4643 self.partition_options.is_some()
4644 }
4645
4646 pub fn set_partition_options(&mut self, v: PartitionOptions) {
4648 self.partition_options = ::protobuf::SingularPtrField::some(v);
4649 }
4650
4651 pub fn mut_partition_options(&mut self) -> &mut PartitionOptions {
4654 if self.partition_options.is_none() {
4655 self.partition_options.set_default();
4656 }
4657 self.partition_options.as_mut().unwrap()
4658 }
4659
4660 pub fn take_partition_options(&mut self) -> PartitionOptions {
4662 self.partition_options.take().unwrap_or_else(|| PartitionOptions::new())
4663 }
4664}
4665
4666impl ::protobuf::Message for PartitionReadRequest {
4667 fn is_initialized(&self) -> bool {
4668 for v in &self.transaction {
4669 if !v.is_initialized() {
4670 return false;
4671 }
4672 };
4673 for v in &self.key_set {
4674 if !v.is_initialized() {
4675 return false;
4676 }
4677 };
4678 for v in &self.partition_options {
4679 if !v.is_initialized() {
4680 return false;
4681 }
4682 };
4683 true
4684 }
4685
4686 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
4687 while !is.eof()? {
4688 let (field_number, wire_type) = is.read_tag_unpack()?;
4689 match field_number {
4690 1 => {
4691 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.session)?;
4692 },
4693 2 => {
4694 ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.transaction)?;
4695 },
4696 3 => {
4697 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.table)?;
4698 },
4699 4 => {
4700 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.index)?;
4701 },
4702 5 => {
4703 ::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.columns)?;
4704 },
4705 6 => {
4706 ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.key_set)?;
4707 },
4708 9 => {
4709 ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.partition_options)?;
4710 },
4711 _ => {
4712 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
4713 },
4714 };
4715 }
4716 ::std::result::Result::Ok(())
4717 }
4718
4719 #[allow(unused_variables)]
4721 fn compute_size(&self) -> u32 {
4722 let mut my_size = 0;
4723 if !self.session.is_empty() {
4724 my_size += ::protobuf::rt::string_size(1, &self.session);
4725 }
4726 if let Some(ref v) = self.transaction.as_ref() {
4727 let len = v.compute_size();
4728 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
4729 }
4730 if !self.table.is_empty() {
4731 my_size += ::protobuf::rt::string_size(3, &self.table);
4732 }
4733 if !self.index.is_empty() {
4734 my_size += ::protobuf::rt::string_size(4, &self.index);
4735 }
4736 for value in &self.columns {
4737 my_size += ::protobuf::rt::string_size(5, &value);
4738 };
4739 if let Some(ref v) = self.key_set.as_ref() {
4740 let len = v.compute_size();
4741 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
4742 }
4743 if let Some(ref v) = self.partition_options.as_ref() {
4744 let len = v.compute_size();
4745 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
4746 }
4747 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
4748 self.cached_size.set(my_size);
4749 my_size
4750 }
4751
4752 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
4753 if !self.session.is_empty() {
4754 os.write_string(1, &self.session)?;
4755 }
4756 if let Some(ref v) = self.transaction.as_ref() {
4757 os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
4758 os.write_raw_varint32(v.get_cached_size())?;
4759 v.write_to_with_cached_sizes(os)?;
4760 }
4761 if !self.table.is_empty() {
4762 os.write_string(3, &self.table)?;
4763 }
4764 if !self.index.is_empty() {
4765 os.write_string(4, &self.index)?;
4766 }
4767 for v in &self.columns {
4768 os.write_string(5, &v)?;
4769 };
4770 if let Some(ref v) = self.key_set.as_ref() {
4771 os.write_tag(6, ::protobuf::wire_format::WireTypeLengthDelimited)?;
4772 os.write_raw_varint32(v.get_cached_size())?;
4773 v.write_to_with_cached_sizes(os)?;
4774 }
4775 if let Some(ref v) = self.partition_options.as_ref() {
4776 os.write_tag(9, ::protobuf::wire_format::WireTypeLengthDelimited)?;
4777 os.write_raw_varint32(v.get_cached_size())?;
4778 v.write_to_with_cached_sizes(os)?;
4779 }
4780 os.write_unknown_fields(self.get_unknown_fields())?;
4781 ::std::result::Result::Ok(())
4782 }
4783
4784 fn get_cached_size(&self) -> u32 {
4785 self.cached_size.get()
4786 }
4787
4788 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
4789 &self.unknown_fields
4790 }
4791
4792 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
4793 &mut self.unknown_fields
4794 }
4795
4796 fn as_any(&self) -> &dyn (::std::any::Any) {
4797 self as &dyn (::std::any::Any)
4798 }
4799 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
4800 self as &mut dyn (::std::any::Any)
4801 }
4802 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
4803 self
4804 }
4805
4806 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
4807 Self::descriptor_static()
4808 }
4809
4810 fn new() -> PartitionReadRequest {
4811 PartitionReadRequest::new()
4812 }
4813
4814 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
4815 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
4816 descriptor.get(|| {
4817 let mut fields = ::std::vec::Vec::new();
4818 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
4819 "session",
4820 |m: &PartitionReadRequest| { &m.session },
4821 |m: &mut PartitionReadRequest| { &mut m.session },
4822 ));
4823 fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::transaction::TransactionSelector>>(
4824 "transaction",
4825 |m: &PartitionReadRequest| { &m.transaction },
4826 |m: &mut PartitionReadRequest| { &mut m.transaction },
4827 ));
4828 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
4829 "table",
4830 |m: &PartitionReadRequest| { &m.table },
4831 |m: &mut PartitionReadRequest| { &mut m.table },
4832 ));
4833 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
4834 "index",
4835 |m: &PartitionReadRequest| { &m.index },
4836 |m: &mut PartitionReadRequest| { &mut m.index },
4837 ));
4838 fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
4839 "columns",
4840 |m: &PartitionReadRequest| { &m.columns },
4841 |m: &mut PartitionReadRequest| { &mut m.columns },
4842 ));
4843 fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::keys::KeySet>>(
4844 "key_set",
4845 |m: &PartitionReadRequest| { &m.key_set },
4846 |m: &mut PartitionReadRequest| { &mut m.key_set },
4847 ));
4848 fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<PartitionOptions>>(
4849 "partition_options",
4850 |m: &PartitionReadRequest| { &m.partition_options },
4851 |m: &mut PartitionReadRequest| { &mut m.partition_options },
4852 ));
4853 ::protobuf::reflect::MessageDescriptor::new_pb_name::<PartitionReadRequest>(
4854 "PartitionReadRequest",
4855 fields,
4856 file_descriptor_proto()
4857 )
4858 })
4859 }
4860
4861 fn default_instance() -> &'static PartitionReadRequest {
4862 static instance: ::protobuf::rt::LazyV2<PartitionReadRequest> = ::protobuf::rt::LazyV2::INIT;
4863 instance.get(PartitionReadRequest::new)
4864 }
4865}
4866
4867impl ::protobuf::Clear for PartitionReadRequest {
4868 fn clear(&mut self) {
4869 self.session.clear();
4870 self.transaction.clear();
4871 self.table.clear();
4872 self.index.clear();
4873 self.columns.clear();
4874 self.key_set.clear();
4875 self.partition_options.clear();
4876 self.unknown_fields.clear();
4877 }
4878}
4879
4880impl ::std::fmt::Debug for PartitionReadRequest {
4881 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4882 ::protobuf::text_format::fmt(self, f)
4883 }
4884}
4885
4886impl ::protobuf::reflect::ProtobufValue for PartitionReadRequest {
4887 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
4888 ::protobuf::reflect::ReflectValueRef::Message(self)
4889 }
4890}
4891
4892#[derive(PartialEq,Clone,Default)]
4893pub struct Partition {
4894 pub partition_token: ::std::vec::Vec<u8>,
4896 pub unknown_fields: ::protobuf::UnknownFields,
4898 pub cached_size: ::protobuf::CachedSize,
4899}
4900
4901impl<'a> ::std::default::Default for &'a Partition {
4902 fn default() -> &'a Partition {
4903 <Partition as ::protobuf::Message>::default_instance()
4904 }
4905}
4906
4907impl Partition {
4908 pub fn new() -> Partition {
4909 ::std::default::Default::default()
4910 }
4911
4912 pub fn get_partition_token(&self) -> &[u8] {
4916 &self.partition_token
4917 }
4918 pub fn clear_partition_token(&mut self) {
4919 self.partition_token.clear();
4920 }
4921
4922 pub fn set_partition_token(&mut self, v: ::std::vec::Vec<u8>) {
4924 self.partition_token = v;
4925 }
4926
4927 pub fn mut_partition_token(&mut self) -> &mut ::std::vec::Vec<u8> {
4930 &mut self.partition_token
4931 }
4932
4933 pub fn take_partition_token(&mut self) -> ::std::vec::Vec<u8> {
4935 ::std::mem::replace(&mut self.partition_token, ::std::vec::Vec::new())
4936 }
4937}
4938
4939impl ::protobuf::Message for Partition {
4940 fn is_initialized(&self) -> bool {
4941 true
4942 }
4943
4944 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
4945 while !is.eof()? {
4946 let (field_number, wire_type) = is.read_tag_unpack()?;
4947 match field_number {
4948 1 => {
4949 ::protobuf::rt::read_singular_proto3_bytes_into(wire_type, is, &mut self.partition_token)?;
4950 },
4951 _ => {
4952 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
4953 },
4954 };
4955 }
4956 ::std::result::Result::Ok(())
4957 }
4958
4959 #[allow(unused_variables)]
4961 fn compute_size(&self) -> u32 {
4962 let mut my_size = 0;
4963 if !self.partition_token.is_empty() {
4964 my_size += ::protobuf::rt::bytes_size(1, &self.partition_token);
4965 }
4966 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
4967 self.cached_size.set(my_size);
4968 my_size
4969 }
4970
4971 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
4972 if !self.partition_token.is_empty() {
4973 os.write_bytes(1, &self.partition_token)?;
4974 }
4975 os.write_unknown_fields(self.get_unknown_fields())?;
4976 ::std::result::Result::Ok(())
4977 }
4978
4979 fn get_cached_size(&self) -> u32 {
4980 self.cached_size.get()
4981 }
4982
4983 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
4984 &self.unknown_fields
4985 }
4986
4987 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
4988 &mut self.unknown_fields
4989 }
4990
4991 fn as_any(&self) -> &dyn (::std::any::Any) {
4992 self as &dyn (::std::any::Any)
4993 }
4994 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
4995 self as &mut dyn (::std::any::Any)
4996 }
4997 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
4998 self
4999 }
5000
5001 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
5002 Self::descriptor_static()
5003 }
5004
5005 fn new() -> Partition {
5006 Partition::new()
5007 }
5008
5009 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
5010 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
5011 descriptor.get(|| {
5012 let mut fields = ::std::vec::Vec::new();
5013 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
5014 "partition_token",
5015 |m: &Partition| { &m.partition_token },
5016 |m: &mut Partition| { &mut m.partition_token },
5017 ));
5018 ::protobuf::reflect::MessageDescriptor::new_pb_name::<Partition>(
5019 "Partition",
5020 fields,
5021 file_descriptor_proto()
5022 )
5023 })
5024 }
5025
5026 fn default_instance() -> &'static Partition {
5027 static instance: ::protobuf::rt::LazyV2<Partition> = ::protobuf::rt::LazyV2::INIT;
5028 instance.get(Partition::new)
5029 }
5030}
5031
5032impl ::protobuf::Clear for Partition {
5033 fn clear(&mut self) {
5034 self.partition_token.clear();
5035 self.unknown_fields.clear();
5036 }
5037}
5038
5039impl ::std::fmt::Debug for Partition {
5040 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5041 ::protobuf::text_format::fmt(self, f)
5042 }
5043}
5044
5045impl ::protobuf::reflect::ProtobufValue for Partition {
5046 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
5047 ::protobuf::reflect::ReflectValueRef::Message(self)
5048 }
5049}
5050
5051#[derive(PartialEq,Clone,Default)]
5052pub struct PartitionResponse {
5053 pub partitions: ::protobuf::RepeatedField<Partition>,
5055 pub transaction: ::protobuf::SingularPtrField<super::transaction::Transaction>,
5056 pub unknown_fields: ::protobuf::UnknownFields,
5058 pub cached_size: ::protobuf::CachedSize,
5059}
5060
5061impl<'a> ::std::default::Default for &'a PartitionResponse {
5062 fn default() -> &'a PartitionResponse {
5063 <PartitionResponse as ::protobuf::Message>::default_instance()
5064 }
5065}
5066
5067impl PartitionResponse {
5068 pub fn new() -> PartitionResponse {
5069 ::std::default::Default::default()
5070 }
5071
5072 pub fn get_partitions(&self) -> &[Partition] {
5076 &self.partitions
5077 }
5078 pub fn clear_partitions(&mut self) {
5079 self.partitions.clear();
5080 }
5081
5082 pub fn set_partitions(&mut self, v: ::protobuf::RepeatedField<Partition>) {
5084 self.partitions = v;
5085 }
5086
5087 pub fn mut_partitions(&mut self) -> &mut ::protobuf::RepeatedField<Partition> {
5089 &mut self.partitions
5090 }
5091
5092 pub fn take_partitions(&mut self) -> ::protobuf::RepeatedField<Partition> {
5094 ::std::mem::replace(&mut self.partitions, ::protobuf::RepeatedField::new())
5095 }
5096
5097 pub fn get_transaction(&self) -> &super::transaction::Transaction {
5101 self.transaction.as_ref().unwrap_or_else(|| <super::transaction::Transaction as ::protobuf::Message>::default_instance())
5102 }
5103 pub fn clear_transaction(&mut self) {
5104 self.transaction.clear();
5105 }
5106
5107 pub fn has_transaction(&self) -> bool {
5108 self.transaction.is_some()
5109 }
5110
5111 pub fn set_transaction(&mut self, v: super::transaction::Transaction) {
5113 self.transaction = ::protobuf::SingularPtrField::some(v);
5114 }
5115
5116 pub fn mut_transaction(&mut self) -> &mut super::transaction::Transaction {
5119 if self.transaction.is_none() {
5120 self.transaction.set_default();
5121 }
5122 self.transaction.as_mut().unwrap()
5123 }
5124
5125 pub fn take_transaction(&mut self) -> super::transaction::Transaction {
5127 self.transaction.take().unwrap_or_else(|| super::transaction::Transaction::new())
5128 }
5129}
5130
5131impl ::protobuf::Message for PartitionResponse {
5132 fn is_initialized(&self) -> bool {
5133 for v in &self.partitions {
5134 if !v.is_initialized() {
5135 return false;
5136 }
5137 };
5138 for v in &self.transaction {
5139 if !v.is_initialized() {
5140 return false;
5141 }
5142 };
5143 true
5144 }
5145
5146 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
5147 while !is.eof()? {
5148 let (field_number, wire_type) = is.read_tag_unpack()?;
5149 match field_number {
5150 1 => {
5151 ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.partitions)?;
5152 },
5153 2 => {
5154 ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.transaction)?;
5155 },
5156 _ => {
5157 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
5158 },
5159 };
5160 }
5161 ::std::result::Result::Ok(())
5162 }
5163
5164 #[allow(unused_variables)]
5166 fn compute_size(&self) -> u32 {
5167 let mut my_size = 0;
5168 for value in &self.partitions {
5169 let len = value.compute_size();
5170 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
5171 };
5172 if let Some(ref v) = self.transaction.as_ref() {
5173 let len = v.compute_size();
5174 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
5175 }
5176 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
5177 self.cached_size.set(my_size);
5178 my_size
5179 }
5180
5181 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
5182 for v in &self.partitions {
5183 os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
5184 os.write_raw_varint32(v.get_cached_size())?;
5185 v.write_to_with_cached_sizes(os)?;
5186 };
5187 if let Some(ref v) = self.transaction.as_ref() {
5188 os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
5189 os.write_raw_varint32(v.get_cached_size())?;
5190 v.write_to_with_cached_sizes(os)?;
5191 }
5192 os.write_unknown_fields(self.get_unknown_fields())?;
5193 ::std::result::Result::Ok(())
5194 }
5195
5196 fn get_cached_size(&self) -> u32 {
5197 self.cached_size.get()
5198 }
5199
5200 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
5201 &self.unknown_fields
5202 }
5203
5204 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
5205 &mut self.unknown_fields
5206 }
5207
5208 fn as_any(&self) -> &dyn (::std::any::Any) {
5209 self as &dyn (::std::any::Any)
5210 }
5211 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
5212 self as &mut dyn (::std::any::Any)
5213 }
5214 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
5215 self
5216 }
5217
5218 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
5219 Self::descriptor_static()
5220 }
5221
5222 fn new() -> PartitionResponse {
5223 PartitionResponse::new()
5224 }
5225
5226 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
5227 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
5228 descriptor.get(|| {
5229 let mut fields = ::std::vec::Vec::new();
5230 fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Partition>>(
5231 "partitions",
5232 |m: &PartitionResponse| { &m.partitions },
5233 |m: &mut PartitionResponse| { &mut m.partitions },
5234 ));
5235 fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::transaction::Transaction>>(
5236 "transaction",
5237 |m: &PartitionResponse| { &m.transaction },
5238 |m: &mut PartitionResponse| { &mut m.transaction },
5239 ));
5240 ::protobuf::reflect::MessageDescriptor::new_pb_name::<PartitionResponse>(
5241 "PartitionResponse",
5242 fields,
5243 file_descriptor_proto()
5244 )
5245 })
5246 }
5247
5248 fn default_instance() -> &'static PartitionResponse {
5249 static instance: ::protobuf::rt::LazyV2<PartitionResponse> = ::protobuf::rt::LazyV2::INIT;
5250 instance.get(PartitionResponse::new)
5251 }
5252}
5253
5254impl ::protobuf::Clear for PartitionResponse {
5255 fn clear(&mut self) {
5256 self.partitions.clear();
5257 self.transaction.clear();
5258 self.unknown_fields.clear();
5259 }
5260}
5261
5262impl ::std::fmt::Debug for PartitionResponse {
5263 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5264 ::protobuf::text_format::fmt(self, f)
5265 }
5266}
5267
5268impl ::protobuf::reflect::ProtobufValue for PartitionResponse {
5269 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
5270 ::protobuf::reflect::ReflectValueRef::Message(self)
5271 }
5272}
5273
5274#[derive(PartialEq,Clone,Default)]
5275pub struct ReadRequest {
5276 pub session: ::std::string::String,
5278 pub transaction: ::protobuf::SingularPtrField<super::transaction::TransactionSelector>,
5279 pub table: ::std::string::String,
5280 pub index: ::std::string::String,
5281 pub columns: ::protobuf::RepeatedField<::std::string::String>,
5282 pub key_set: ::protobuf::SingularPtrField<super::keys::KeySet>,
5283 pub limit: i64,
5284 pub resume_token: ::std::vec::Vec<u8>,
5285 pub partition_token: ::std::vec::Vec<u8>,
5286 pub request_options: ::protobuf::SingularPtrField<RequestOptions>,
5287 pub data_boost_enabled: bool,
5288 pub unknown_fields: ::protobuf::UnknownFields,
5290 pub cached_size: ::protobuf::CachedSize,
5291}
5292
5293impl<'a> ::std::default::Default for &'a ReadRequest {
5294 fn default() -> &'a ReadRequest {
5295 <ReadRequest as ::protobuf::Message>::default_instance()
5296 }
5297}
5298
5299impl ReadRequest {
5300 pub fn new() -> ReadRequest {
5301 ::std::default::Default::default()
5302 }
5303
5304 pub fn get_session(&self) -> &str {
5308 &self.session
5309 }
5310 pub fn clear_session(&mut self) {
5311 self.session.clear();
5312 }
5313
5314 pub fn set_session(&mut self, v: ::std::string::String) {
5316 self.session = v;
5317 }
5318
5319 pub fn mut_session(&mut self) -> &mut ::std::string::String {
5322 &mut self.session
5323 }
5324
5325 pub fn take_session(&mut self) -> ::std::string::String {
5327 ::std::mem::replace(&mut self.session, ::std::string::String::new())
5328 }
5329
5330 pub fn get_transaction(&self) -> &super::transaction::TransactionSelector {
5334 self.transaction.as_ref().unwrap_or_else(|| <super::transaction::TransactionSelector as ::protobuf::Message>::default_instance())
5335 }
5336 pub fn clear_transaction(&mut self) {
5337 self.transaction.clear();
5338 }
5339
5340 pub fn has_transaction(&self) -> bool {
5341 self.transaction.is_some()
5342 }
5343
5344 pub fn set_transaction(&mut self, v: super::transaction::TransactionSelector) {
5346 self.transaction = ::protobuf::SingularPtrField::some(v);
5347 }
5348
5349 pub fn mut_transaction(&mut self) -> &mut super::transaction::TransactionSelector {
5352 if self.transaction.is_none() {
5353 self.transaction.set_default();
5354 }
5355 self.transaction.as_mut().unwrap()
5356 }
5357
5358 pub fn take_transaction(&mut self) -> super::transaction::TransactionSelector {
5360 self.transaction.take().unwrap_or_else(|| super::transaction::TransactionSelector::new())
5361 }
5362
5363 pub fn get_table(&self) -> &str {
5367 &self.table
5368 }
5369 pub fn clear_table(&mut self) {
5370 self.table.clear();
5371 }
5372
5373 pub fn set_table(&mut self, v: ::std::string::String) {
5375 self.table = v;
5376 }
5377
5378 pub fn mut_table(&mut self) -> &mut ::std::string::String {
5381 &mut self.table
5382 }
5383
5384 pub fn take_table(&mut self) -> ::std::string::String {
5386 ::std::mem::replace(&mut self.table, ::std::string::String::new())
5387 }
5388
5389 pub fn get_index(&self) -> &str {
5393 &self.index
5394 }
5395 pub fn clear_index(&mut self) {
5396 self.index.clear();
5397 }
5398
5399 pub fn set_index(&mut self, v: ::std::string::String) {
5401 self.index = v;
5402 }
5403
5404 pub fn mut_index(&mut self) -> &mut ::std::string::String {
5407 &mut self.index
5408 }
5409
5410 pub fn take_index(&mut self) -> ::std::string::String {
5412 ::std::mem::replace(&mut self.index, ::std::string::String::new())
5413 }
5414
5415 pub fn get_columns(&self) -> &[::std::string::String] {
5419 &self.columns
5420 }
5421 pub fn clear_columns(&mut self) {
5422 self.columns.clear();
5423 }
5424
5425 pub fn set_columns(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
5427 self.columns = v;
5428 }
5429
5430 pub fn mut_columns(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
5432 &mut self.columns
5433 }
5434
5435 pub fn take_columns(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
5437 ::std::mem::replace(&mut self.columns, ::protobuf::RepeatedField::new())
5438 }
5439
5440 pub fn get_key_set(&self) -> &super::keys::KeySet {
5444 self.key_set.as_ref().unwrap_or_else(|| <super::keys::KeySet as ::protobuf::Message>::default_instance())
5445 }
5446 pub fn clear_key_set(&mut self) {
5447 self.key_set.clear();
5448 }
5449
5450 pub fn has_key_set(&self) -> bool {
5451 self.key_set.is_some()
5452 }
5453
5454 pub fn set_key_set(&mut self, v: super::keys::KeySet) {
5456 self.key_set = ::protobuf::SingularPtrField::some(v);
5457 }
5458
5459 pub fn mut_key_set(&mut self) -> &mut super::keys::KeySet {
5462 if self.key_set.is_none() {
5463 self.key_set.set_default();
5464 }
5465 self.key_set.as_mut().unwrap()
5466 }
5467
5468 pub fn take_key_set(&mut self) -> super::keys::KeySet {
5470 self.key_set.take().unwrap_or_else(|| super::keys::KeySet::new())
5471 }
5472
5473 pub fn get_limit(&self) -> i64 {
5477 self.limit
5478 }
5479 pub fn clear_limit(&mut self) {
5480 self.limit = 0;
5481 }
5482
5483 pub fn set_limit(&mut self, v: i64) {
5485 self.limit = v;
5486 }
5487
5488 pub fn get_resume_token(&self) -> &[u8] {
5492 &self.resume_token
5493 }
5494 pub fn clear_resume_token(&mut self) {
5495 self.resume_token.clear();
5496 }
5497
5498 pub fn set_resume_token(&mut self, v: ::std::vec::Vec<u8>) {
5500 self.resume_token = v;
5501 }
5502
5503 pub fn mut_resume_token(&mut self) -> &mut ::std::vec::Vec<u8> {
5506 &mut self.resume_token
5507 }
5508
5509 pub fn take_resume_token(&mut self) -> ::std::vec::Vec<u8> {
5511 ::std::mem::replace(&mut self.resume_token, ::std::vec::Vec::new())
5512 }
5513
5514 pub fn get_partition_token(&self) -> &[u8] {
5518 &self.partition_token
5519 }
5520 pub fn clear_partition_token(&mut self) {
5521 self.partition_token.clear();
5522 }
5523
5524 pub fn set_partition_token(&mut self, v: ::std::vec::Vec<u8>) {
5526 self.partition_token = v;
5527 }
5528
5529 pub fn mut_partition_token(&mut self) -> &mut ::std::vec::Vec<u8> {
5532 &mut self.partition_token
5533 }
5534
5535 pub fn take_partition_token(&mut self) -> ::std::vec::Vec<u8> {
5537 ::std::mem::replace(&mut self.partition_token, ::std::vec::Vec::new())
5538 }
5539
5540 pub fn get_request_options(&self) -> &RequestOptions {
5544 self.request_options.as_ref().unwrap_or_else(|| <RequestOptions as ::protobuf::Message>::default_instance())
5545 }
5546 pub fn clear_request_options(&mut self) {
5547 self.request_options.clear();
5548 }
5549
5550 pub fn has_request_options(&self) -> bool {
5551 self.request_options.is_some()
5552 }
5553
5554 pub fn set_request_options(&mut self, v: RequestOptions) {
5556 self.request_options = ::protobuf::SingularPtrField::some(v);
5557 }
5558
5559 pub fn mut_request_options(&mut self) -> &mut RequestOptions {
5562 if self.request_options.is_none() {
5563 self.request_options.set_default();
5564 }
5565 self.request_options.as_mut().unwrap()
5566 }
5567
5568 pub fn take_request_options(&mut self) -> RequestOptions {
5570 self.request_options.take().unwrap_or_else(|| RequestOptions::new())
5571 }
5572
5573 pub fn get_data_boost_enabled(&self) -> bool {
5577 self.data_boost_enabled
5578 }
5579 pub fn clear_data_boost_enabled(&mut self) {
5580 self.data_boost_enabled = false;
5581 }
5582
5583 pub fn set_data_boost_enabled(&mut self, v: bool) {
5585 self.data_boost_enabled = v;
5586 }
5587}
5588
5589impl ::protobuf::Message for ReadRequest {
5590 fn is_initialized(&self) -> bool {
5591 for v in &self.transaction {
5592 if !v.is_initialized() {
5593 return false;
5594 }
5595 };
5596 for v in &self.key_set {
5597 if !v.is_initialized() {
5598 return false;
5599 }
5600 };
5601 for v in &self.request_options {
5602 if !v.is_initialized() {
5603 return false;
5604 }
5605 };
5606 true
5607 }
5608
5609 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
5610 while !is.eof()? {
5611 let (field_number, wire_type) = is.read_tag_unpack()?;
5612 match field_number {
5613 1 => {
5614 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.session)?;
5615 },
5616 2 => {
5617 ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.transaction)?;
5618 },
5619 3 => {
5620 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.table)?;
5621 },
5622 4 => {
5623 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.index)?;
5624 },
5625 5 => {
5626 ::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.columns)?;
5627 },
5628 6 => {
5629 ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.key_set)?;
5630 },
5631 8 => {
5632 if wire_type != ::protobuf::wire_format::WireTypeVarint {
5633 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
5634 }
5635 let tmp = is.read_int64()?;
5636 self.limit = tmp;
5637 },
5638 9 => {
5639 ::protobuf::rt::read_singular_proto3_bytes_into(wire_type, is, &mut self.resume_token)?;
5640 },
5641 10 => {
5642 ::protobuf::rt::read_singular_proto3_bytes_into(wire_type, is, &mut self.partition_token)?;
5643 },
5644 11 => {
5645 ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.request_options)?;
5646 },
5647 15 => {
5648 if wire_type != ::protobuf::wire_format::WireTypeVarint {
5649 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
5650 }
5651 let tmp = is.read_bool()?;
5652 self.data_boost_enabled = tmp;
5653 },
5654 _ => {
5655 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
5656 },
5657 };
5658 }
5659 ::std::result::Result::Ok(())
5660 }
5661
5662 #[allow(unused_variables)]
5664 fn compute_size(&self) -> u32 {
5665 let mut my_size = 0;
5666 if !self.session.is_empty() {
5667 my_size += ::protobuf::rt::string_size(1, &self.session);
5668 }
5669 if let Some(ref v) = self.transaction.as_ref() {
5670 let len = v.compute_size();
5671 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
5672 }
5673 if !self.table.is_empty() {
5674 my_size += ::protobuf::rt::string_size(3, &self.table);
5675 }
5676 if !self.index.is_empty() {
5677 my_size += ::protobuf::rt::string_size(4, &self.index);
5678 }
5679 for value in &self.columns {
5680 my_size += ::protobuf::rt::string_size(5, &value);
5681 };
5682 if let Some(ref v) = self.key_set.as_ref() {
5683 let len = v.compute_size();
5684 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
5685 }
5686 if self.limit != 0 {
5687 my_size += ::protobuf::rt::value_size(8, self.limit, ::protobuf::wire_format::WireTypeVarint);
5688 }
5689 if !self.resume_token.is_empty() {
5690 my_size += ::protobuf::rt::bytes_size(9, &self.resume_token);
5691 }
5692 if !self.partition_token.is_empty() {
5693 my_size += ::protobuf::rt::bytes_size(10, &self.partition_token);
5694 }
5695 if let Some(ref v) = self.request_options.as_ref() {
5696 let len = v.compute_size();
5697 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
5698 }
5699 if self.data_boost_enabled != false {
5700 my_size += 2;
5701 }
5702 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
5703 self.cached_size.set(my_size);
5704 my_size
5705 }
5706
5707 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
5708 if !self.session.is_empty() {
5709 os.write_string(1, &self.session)?;
5710 }
5711 if let Some(ref v) = self.transaction.as_ref() {
5712 os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
5713 os.write_raw_varint32(v.get_cached_size())?;
5714 v.write_to_with_cached_sizes(os)?;
5715 }
5716 if !self.table.is_empty() {
5717 os.write_string(3, &self.table)?;
5718 }
5719 if !self.index.is_empty() {
5720 os.write_string(4, &self.index)?;
5721 }
5722 for v in &self.columns {
5723 os.write_string(5, &v)?;
5724 };
5725 if let Some(ref v) = self.key_set.as_ref() {
5726 os.write_tag(6, ::protobuf::wire_format::WireTypeLengthDelimited)?;
5727 os.write_raw_varint32(v.get_cached_size())?;
5728 v.write_to_with_cached_sizes(os)?;
5729 }
5730 if self.limit != 0 {
5731 os.write_int64(8, self.limit)?;
5732 }
5733 if !self.resume_token.is_empty() {
5734 os.write_bytes(9, &self.resume_token)?;
5735 }
5736 if !self.partition_token.is_empty() {
5737 os.write_bytes(10, &self.partition_token)?;
5738 }
5739 if let Some(ref v) = self.request_options.as_ref() {
5740 os.write_tag(11, ::protobuf::wire_format::WireTypeLengthDelimited)?;
5741 os.write_raw_varint32(v.get_cached_size())?;
5742 v.write_to_with_cached_sizes(os)?;
5743 }
5744 if self.data_boost_enabled != false {
5745 os.write_bool(15, self.data_boost_enabled)?;
5746 }
5747 os.write_unknown_fields(self.get_unknown_fields())?;
5748 ::std::result::Result::Ok(())
5749 }
5750
5751 fn get_cached_size(&self) -> u32 {
5752 self.cached_size.get()
5753 }
5754
5755 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
5756 &self.unknown_fields
5757 }
5758
5759 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
5760 &mut self.unknown_fields
5761 }
5762
5763 fn as_any(&self) -> &dyn (::std::any::Any) {
5764 self as &dyn (::std::any::Any)
5765 }
5766 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
5767 self as &mut dyn (::std::any::Any)
5768 }
5769 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
5770 self
5771 }
5772
5773 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
5774 Self::descriptor_static()
5775 }
5776
5777 fn new() -> ReadRequest {
5778 ReadRequest::new()
5779 }
5780
5781 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
5782 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
5783 descriptor.get(|| {
5784 let mut fields = ::std::vec::Vec::new();
5785 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
5786 "session",
5787 |m: &ReadRequest| { &m.session },
5788 |m: &mut ReadRequest| { &mut m.session },
5789 ));
5790 fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::transaction::TransactionSelector>>(
5791 "transaction",
5792 |m: &ReadRequest| { &m.transaction },
5793 |m: &mut ReadRequest| { &mut m.transaction },
5794 ));
5795 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
5796 "table",
5797 |m: &ReadRequest| { &m.table },
5798 |m: &mut ReadRequest| { &mut m.table },
5799 ));
5800 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
5801 "index",
5802 |m: &ReadRequest| { &m.index },
5803 |m: &mut ReadRequest| { &mut m.index },
5804 ));
5805 fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
5806 "columns",
5807 |m: &ReadRequest| { &m.columns },
5808 |m: &mut ReadRequest| { &mut m.columns },
5809 ));
5810 fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::keys::KeySet>>(
5811 "key_set",
5812 |m: &ReadRequest| { &m.key_set },
5813 |m: &mut ReadRequest| { &mut m.key_set },
5814 ));
5815 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>(
5816 "limit",
5817 |m: &ReadRequest| { &m.limit },
5818 |m: &mut ReadRequest| { &mut m.limit },
5819 ));
5820 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
5821 "resume_token",
5822 |m: &ReadRequest| { &m.resume_token },
5823 |m: &mut ReadRequest| { &mut m.resume_token },
5824 ));
5825 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
5826 "partition_token",
5827 |m: &ReadRequest| { &m.partition_token },
5828 |m: &mut ReadRequest| { &mut m.partition_token },
5829 ));
5830 fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<RequestOptions>>(
5831 "request_options",
5832 |m: &ReadRequest| { &m.request_options },
5833 |m: &mut ReadRequest| { &mut m.request_options },
5834 ));
5835 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
5836 "data_boost_enabled",
5837 |m: &ReadRequest| { &m.data_boost_enabled },
5838 |m: &mut ReadRequest| { &mut m.data_boost_enabled },
5839 ));
5840 ::protobuf::reflect::MessageDescriptor::new_pb_name::<ReadRequest>(
5841 "ReadRequest",
5842 fields,
5843 file_descriptor_proto()
5844 )
5845 })
5846 }
5847
5848 fn default_instance() -> &'static ReadRequest {
5849 static instance: ::protobuf::rt::LazyV2<ReadRequest> = ::protobuf::rt::LazyV2::INIT;
5850 instance.get(ReadRequest::new)
5851 }
5852}
5853
5854impl ::protobuf::Clear for ReadRequest {
5855 fn clear(&mut self) {
5856 self.session.clear();
5857 self.transaction.clear();
5858 self.table.clear();
5859 self.index.clear();
5860 self.columns.clear();
5861 self.key_set.clear();
5862 self.limit = 0;
5863 self.resume_token.clear();
5864 self.partition_token.clear();
5865 self.request_options.clear();
5866 self.data_boost_enabled = false;
5867 self.unknown_fields.clear();
5868 }
5869}
5870
5871impl ::std::fmt::Debug for ReadRequest {
5872 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5873 ::protobuf::text_format::fmt(self, f)
5874 }
5875}
5876
5877impl ::protobuf::reflect::ProtobufValue for ReadRequest {
5878 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
5879 ::protobuf::reflect::ReflectValueRef::Message(self)
5880 }
5881}
5882
5883#[derive(PartialEq,Clone,Default)]
5884pub struct BeginTransactionRequest {
5885 pub session: ::std::string::String,
5887 pub options: ::protobuf::SingularPtrField<super::transaction::TransactionOptions>,
5888 pub request_options: ::protobuf::SingularPtrField<RequestOptions>,
5889 pub unknown_fields: ::protobuf::UnknownFields,
5891 pub cached_size: ::protobuf::CachedSize,
5892}
5893
5894impl<'a> ::std::default::Default for &'a BeginTransactionRequest {
5895 fn default() -> &'a BeginTransactionRequest {
5896 <BeginTransactionRequest as ::protobuf::Message>::default_instance()
5897 }
5898}
5899
5900impl BeginTransactionRequest {
5901 pub fn new() -> BeginTransactionRequest {
5902 ::std::default::Default::default()
5903 }
5904
5905 pub fn get_session(&self) -> &str {
5909 &self.session
5910 }
5911 pub fn clear_session(&mut self) {
5912 self.session.clear();
5913 }
5914
5915 pub fn set_session(&mut self, v: ::std::string::String) {
5917 self.session = v;
5918 }
5919
5920 pub fn mut_session(&mut self) -> &mut ::std::string::String {
5923 &mut self.session
5924 }
5925
5926 pub fn take_session(&mut self) -> ::std::string::String {
5928 ::std::mem::replace(&mut self.session, ::std::string::String::new())
5929 }
5930
5931 pub fn get_options(&self) -> &super::transaction::TransactionOptions {
5935 self.options.as_ref().unwrap_or_else(|| <super::transaction::TransactionOptions as ::protobuf::Message>::default_instance())
5936 }
5937 pub fn clear_options(&mut self) {
5938 self.options.clear();
5939 }
5940
5941 pub fn has_options(&self) -> bool {
5942 self.options.is_some()
5943 }
5944
5945 pub fn set_options(&mut self, v: super::transaction::TransactionOptions) {
5947 self.options = ::protobuf::SingularPtrField::some(v);
5948 }
5949
5950 pub fn mut_options(&mut self) -> &mut super::transaction::TransactionOptions {
5953 if self.options.is_none() {
5954 self.options.set_default();
5955 }
5956 self.options.as_mut().unwrap()
5957 }
5958
5959 pub fn take_options(&mut self) -> super::transaction::TransactionOptions {
5961 self.options.take().unwrap_or_else(|| super::transaction::TransactionOptions::new())
5962 }
5963
5964 pub fn get_request_options(&self) -> &RequestOptions {
5968 self.request_options.as_ref().unwrap_or_else(|| <RequestOptions as ::protobuf::Message>::default_instance())
5969 }
5970 pub fn clear_request_options(&mut self) {
5971 self.request_options.clear();
5972 }
5973
5974 pub fn has_request_options(&self) -> bool {
5975 self.request_options.is_some()
5976 }
5977
5978 pub fn set_request_options(&mut self, v: RequestOptions) {
5980 self.request_options = ::protobuf::SingularPtrField::some(v);
5981 }
5982
5983 pub fn mut_request_options(&mut self) -> &mut RequestOptions {
5986 if self.request_options.is_none() {
5987 self.request_options.set_default();
5988 }
5989 self.request_options.as_mut().unwrap()
5990 }
5991
5992 pub fn take_request_options(&mut self) -> RequestOptions {
5994 self.request_options.take().unwrap_or_else(|| RequestOptions::new())
5995 }
5996}
5997
5998impl ::protobuf::Message for BeginTransactionRequest {
5999 fn is_initialized(&self) -> bool {
6000 for v in &self.options {
6001 if !v.is_initialized() {
6002 return false;
6003 }
6004 };
6005 for v in &self.request_options {
6006 if !v.is_initialized() {
6007 return false;
6008 }
6009 };
6010 true
6011 }
6012
6013 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
6014 while !is.eof()? {
6015 let (field_number, wire_type) = is.read_tag_unpack()?;
6016 match field_number {
6017 1 => {
6018 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.session)?;
6019 },
6020 2 => {
6021 ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.options)?;
6022 },
6023 3 => {
6024 ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.request_options)?;
6025 },
6026 _ => {
6027 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
6028 },
6029 };
6030 }
6031 ::std::result::Result::Ok(())
6032 }
6033
6034 #[allow(unused_variables)]
6036 fn compute_size(&self) -> u32 {
6037 let mut my_size = 0;
6038 if !self.session.is_empty() {
6039 my_size += ::protobuf::rt::string_size(1, &self.session);
6040 }
6041 if let Some(ref v) = self.options.as_ref() {
6042 let len = v.compute_size();
6043 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
6044 }
6045 if let Some(ref v) = self.request_options.as_ref() {
6046 let len = v.compute_size();
6047 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
6048 }
6049 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
6050 self.cached_size.set(my_size);
6051 my_size
6052 }
6053
6054 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
6055 if !self.session.is_empty() {
6056 os.write_string(1, &self.session)?;
6057 }
6058 if let Some(ref v) = self.options.as_ref() {
6059 os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
6060 os.write_raw_varint32(v.get_cached_size())?;
6061 v.write_to_with_cached_sizes(os)?;
6062 }
6063 if let Some(ref v) = self.request_options.as_ref() {
6064 os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
6065 os.write_raw_varint32(v.get_cached_size())?;
6066 v.write_to_with_cached_sizes(os)?;
6067 }
6068 os.write_unknown_fields(self.get_unknown_fields())?;
6069 ::std::result::Result::Ok(())
6070 }
6071
6072 fn get_cached_size(&self) -> u32 {
6073 self.cached_size.get()
6074 }
6075
6076 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
6077 &self.unknown_fields
6078 }
6079
6080 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
6081 &mut self.unknown_fields
6082 }
6083
6084 fn as_any(&self) -> &dyn (::std::any::Any) {
6085 self as &dyn (::std::any::Any)
6086 }
6087 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
6088 self as &mut dyn (::std::any::Any)
6089 }
6090 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
6091 self
6092 }
6093
6094 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
6095 Self::descriptor_static()
6096 }
6097
6098 fn new() -> BeginTransactionRequest {
6099 BeginTransactionRequest::new()
6100 }
6101
6102 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
6103 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
6104 descriptor.get(|| {
6105 let mut fields = ::std::vec::Vec::new();
6106 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
6107 "session",
6108 |m: &BeginTransactionRequest| { &m.session },
6109 |m: &mut BeginTransactionRequest| { &mut m.session },
6110 ));
6111 fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::transaction::TransactionOptions>>(
6112 "options",
6113 |m: &BeginTransactionRequest| { &m.options },
6114 |m: &mut BeginTransactionRequest| { &mut m.options },
6115 ));
6116 fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<RequestOptions>>(
6117 "request_options",
6118 |m: &BeginTransactionRequest| { &m.request_options },
6119 |m: &mut BeginTransactionRequest| { &mut m.request_options },
6120 ));
6121 ::protobuf::reflect::MessageDescriptor::new_pb_name::<BeginTransactionRequest>(
6122 "BeginTransactionRequest",
6123 fields,
6124 file_descriptor_proto()
6125 )
6126 })
6127 }
6128
6129 fn default_instance() -> &'static BeginTransactionRequest {
6130 static instance: ::protobuf::rt::LazyV2<BeginTransactionRequest> = ::protobuf::rt::LazyV2::INIT;
6131 instance.get(BeginTransactionRequest::new)
6132 }
6133}
6134
6135impl ::protobuf::Clear for BeginTransactionRequest {
6136 fn clear(&mut self) {
6137 self.session.clear();
6138 self.options.clear();
6139 self.request_options.clear();
6140 self.unknown_fields.clear();
6141 }
6142}
6143
6144impl ::std::fmt::Debug for BeginTransactionRequest {
6145 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
6146 ::protobuf::text_format::fmt(self, f)
6147 }
6148}
6149
6150impl ::protobuf::reflect::ProtobufValue for BeginTransactionRequest {
6151 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
6152 ::protobuf::reflect::ReflectValueRef::Message(self)
6153 }
6154}
6155
6156#[derive(PartialEq,Clone,Default)]
6157pub struct CommitRequest {
6158 pub session: ::std::string::String,
6160 pub mutations: ::protobuf::RepeatedField<super::mutation::Mutation>,
6161 pub return_commit_stats: bool,
6162 pub request_options: ::protobuf::SingularPtrField<RequestOptions>,
6163 pub transaction: ::std::option::Option<CommitRequest_oneof_transaction>,
6165 pub unknown_fields: ::protobuf::UnknownFields,
6167 pub cached_size: ::protobuf::CachedSize,
6168}
6169
6170impl<'a> ::std::default::Default for &'a CommitRequest {
6171 fn default() -> &'a CommitRequest {
6172 <CommitRequest as ::protobuf::Message>::default_instance()
6173 }
6174}
6175
6176#[derive(Clone,PartialEq,Debug)]
6177pub enum CommitRequest_oneof_transaction {
6178 transaction_id(::std::vec::Vec<u8>),
6179 single_use_transaction(super::transaction::TransactionOptions),
6180}
6181
6182impl CommitRequest {
6183 pub fn new() -> CommitRequest {
6184 ::std::default::Default::default()
6185 }
6186
6187 pub fn get_session(&self) -> &str {
6191 &self.session
6192 }
6193 pub fn clear_session(&mut self) {
6194 self.session.clear();
6195 }
6196
6197 pub fn set_session(&mut self, v: ::std::string::String) {
6199 self.session = v;
6200 }
6201
6202 pub fn mut_session(&mut self) -> &mut ::std::string::String {
6205 &mut self.session
6206 }
6207
6208 pub fn take_session(&mut self) -> ::std::string::String {
6210 ::std::mem::replace(&mut self.session, ::std::string::String::new())
6211 }
6212
6213 pub fn get_transaction_id(&self) -> &[u8] {
6217 match self.transaction {
6218 ::std::option::Option::Some(CommitRequest_oneof_transaction::transaction_id(ref v)) => v,
6219 _ => &[],
6220 }
6221 }
6222 pub fn clear_transaction_id(&mut self) {
6223 self.transaction = ::std::option::Option::None;
6224 }
6225
6226 pub fn has_transaction_id(&self) -> bool {
6227 match self.transaction {
6228 ::std::option::Option::Some(CommitRequest_oneof_transaction::transaction_id(..)) => true,
6229 _ => false,
6230 }
6231 }
6232
6233 pub fn set_transaction_id(&mut self, v: ::std::vec::Vec<u8>) {
6235 self.transaction = ::std::option::Option::Some(CommitRequest_oneof_transaction::transaction_id(v))
6236 }
6237
6238 pub fn mut_transaction_id(&mut self) -> &mut ::std::vec::Vec<u8> {
6240 if let ::std::option::Option::Some(CommitRequest_oneof_transaction::transaction_id(_)) = self.transaction {
6241 } else {
6242 self.transaction = ::std::option::Option::Some(CommitRequest_oneof_transaction::transaction_id(::std::vec::Vec::new()));
6243 }
6244 match self.transaction {
6245 ::std::option::Option::Some(CommitRequest_oneof_transaction::transaction_id(ref mut v)) => v,
6246 _ => panic!(),
6247 }
6248 }
6249
6250 pub fn take_transaction_id(&mut self) -> ::std::vec::Vec<u8> {
6252 if self.has_transaction_id() {
6253 match self.transaction.take() {
6254 ::std::option::Option::Some(CommitRequest_oneof_transaction::transaction_id(v)) => v,
6255 _ => panic!(),
6256 }
6257 } else {
6258 ::std::vec::Vec::new()
6259 }
6260 }
6261
6262 pub fn get_single_use_transaction(&self) -> &super::transaction::TransactionOptions {
6266 match self.transaction {
6267 ::std::option::Option::Some(CommitRequest_oneof_transaction::single_use_transaction(ref v)) => v,
6268 _ => <super::transaction::TransactionOptions as ::protobuf::Message>::default_instance(),
6269 }
6270 }
6271 pub fn clear_single_use_transaction(&mut self) {
6272 self.transaction = ::std::option::Option::None;
6273 }
6274
6275 pub fn has_single_use_transaction(&self) -> bool {
6276 match self.transaction {
6277 ::std::option::Option::Some(CommitRequest_oneof_transaction::single_use_transaction(..)) => true,
6278 _ => false,
6279 }
6280 }
6281
6282 pub fn set_single_use_transaction(&mut self, v: super::transaction::TransactionOptions) {
6284 self.transaction = ::std::option::Option::Some(CommitRequest_oneof_transaction::single_use_transaction(v))
6285 }
6286
6287 pub fn mut_single_use_transaction(&mut self) -> &mut super::transaction::TransactionOptions {
6289 if let ::std::option::Option::Some(CommitRequest_oneof_transaction::single_use_transaction(_)) = self.transaction {
6290 } else {
6291 self.transaction = ::std::option::Option::Some(CommitRequest_oneof_transaction::single_use_transaction(super::transaction::TransactionOptions::new()));
6292 }
6293 match self.transaction {
6294 ::std::option::Option::Some(CommitRequest_oneof_transaction::single_use_transaction(ref mut v)) => v,
6295 _ => panic!(),
6296 }
6297 }
6298
6299 pub fn take_single_use_transaction(&mut self) -> super::transaction::TransactionOptions {
6301 if self.has_single_use_transaction() {
6302 match self.transaction.take() {
6303 ::std::option::Option::Some(CommitRequest_oneof_transaction::single_use_transaction(v)) => v,
6304 _ => panic!(),
6305 }
6306 } else {
6307 super::transaction::TransactionOptions::new()
6308 }
6309 }
6310
6311 pub fn get_mutations(&self) -> &[super::mutation::Mutation] {
6315 &self.mutations
6316 }
6317 pub fn clear_mutations(&mut self) {
6318 self.mutations.clear();
6319 }
6320
6321 pub fn set_mutations(&mut self, v: ::protobuf::RepeatedField<super::mutation::Mutation>) {
6323 self.mutations = v;
6324 }
6325
6326 pub fn mut_mutations(&mut self) -> &mut ::protobuf::RepeatedField<super::mutation::Mutation> {
6328 &mut self.mutations
6329 }
6330
6331 pub fn take_mutations(&mut self) -> ::protobuf::RepeatedField<super::mutation::Mutation> {
6333 ::std::mem::replace(&mut self.mutations, ::protobuf::RepeatedField::new())
6334 }
6335
6336 pub fn get_return_commit_stats(&self) -> bool {
6340 self.return_commit_stats
6341 }
6342 pub fn clear_return_commit_stats(&mut self) {
6343 self.return_commit_stats = false;
6344 }
6345
6346 pub fn set_return_commit_stats(&mut self, v: bool) {
6348 self.return_commit_stats = v;
6349 }
6350
6351 pub fn get_request_options(&self) -> &RequestOptions {
6355 self.request_options.as_ref().unwrap_or_else(|| <RequestOptions as ::protobuf::Message>::default_instance())
6356 }
6357 pub fn clear_request_options(&mut self) {
6358 self.request_options.clear();
6359 }
6360
6361 pub fn has_request_options(&self) -> bool {
6362 self.request_options.is_some()
6363 }
6364
6365 pub fn set_request_options(&mut self, v: RequestOptions) {
6367 self.request_options = ::protobuf::SingularPtrField::some(v);
6368 }
6369
6370 pub fn mut_request_options(&mut self) -> &mut RequestOptions {
6373 if self.request_options.is_none() {
6374 self.request_options.set_default();
6375 }
6376 self.request_options.as_mut().unwrap()
6377 }
6378
6379 pub fn take_request_options(&mut self) -> RequestOptions {
6381 self.request_options.take().unwrap_or_else(|| RequestOptions::new())
6382 }
6383}
6384
6385impl ::protobuf::Message for CommitRequest {
6386 fn is_initialized(&self) -> bool {
6387 if let Some(CommitRequest_oneof_transaction::single_use_transaction(ref v)) = self.transaction {
6388 if !v.is_initialized() {
6389 return false;
6390 }
6391 }
6392 for v in &self.mutations {
6393 if !v.is_initialized() {
6394 return false;
6395 }
6396 };
6397 for v in &self.request_options {
6398 if !v.is_initialized() {
6399 return false;
6400 }
6401 };
6402 true
6403 }
6404
6405 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
6406 while !is.eof()? {
6407 let (field_number, wire_type) = is.read_tag_unpack()?;
6408 match field_number {
6409 1 => {
6410 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.session)?;
6411 },
6412 2 => {
6413 if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
6414 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
6415 }
6416 self.transaction = ::std::option::Option::Some(CommitRequest_oneof_transaction::transaction_id(is.read_bytes()?));
6417 },
6418 3 => {
6419 if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
6420 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
6421 }
6422 self.transaction = ::std::option::Option::Some(CommitRequest_oneof_transaction::single_use_transaction(is.read_message()?));
6423 },
6424 4 => {
6425 ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.mutations)?;
6426 },
6427 5 => {
6428 if wire_type != ::protobuf::wire_format::WireTypeVarint {
6429 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
6430 }
6431 let tmp = is.read_bool()?;
6432 self.return_commit_stats = tmp;
6433 },
6434 6 => {
6435 ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.request_options)?;
6436 },
6437 _ => {
6438 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
6439 },
6440 };
6441 }
6442 ::std::result::Result::Ok(())
6443 }
6444
6445 #[allow(unused_variables)]
6447 fn compute_size(&self) -> u32 {
6448 let mut my_size = 0;
6449 if !self.session.is_empty() {
6450 my_size += ::protobuf::rt::string_size(1, &self.session);
6451 }
6452 for value in &self.mutations {
6453 let len = value.compute_size();
6454 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
6455 };
6456 if self.return_commit_stats != false {
6457 my_size += 2;
6458 }
6459 if let Some(ref v) = self.request_options.as_ref() {
6460 let len = v.compute_size();
6461 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
6462 }
6463 if let ::std::option::Option::Some(ref v) = self.transaction {
6464 match v {
6465 &CommitRequest_oneof_transaction::transaction_id(ref v) => {
6466 my_size += ::protobuf::rt::bytes_size(2, &v);
6467 },
6468 &CommitRequest_oneof_transaction::single_use_transaction(ref v) => {
6469 let len = v.compute_size();
6470 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
6471 },
6472 };
6473 }
6474 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
6475 self.cached_size.set(my_size);
6476 my_size
6477 }
6478
6479 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
6480 if !self.session.is_empty() {
6481 os.write_string(1, &self.session)?;
6482 }
6483 for v in &self.mutations {
6484 os.write_tag(4, ::protobuf::wire_format::WireTypeLengthDelimited)?;
6485 os.write_raw_varint32(v.get_cached_size())?;
6486 v.write_to_with_cached_sizes(os)?;
6487 };
6488 if self.return_commit_stats != false {
6489 os.write_bool(5, self.return_commit_stats)?;
6490 }
6491 if let Some(ref v) = self.request_options.as_ref() {
6492 os.write_tag(6, ::protobuf::wire_format::WireTypeLengthDelimited)?;
6493 os.write_raw_varint32(v.get_cached_size())?;
6494 v.write_to_with_cached_sizes(os)?;
6495 }
6496 if let ::std::option::Option::Some(ref v) = self.transaction {
6497 match v {
6498 &CommitRequest_oneof_transaction::transaction_id(ref v) => {
6499 os.write_bytes(2, v)?;
6500 },
6501 &CommitRequest_oneof_transaction::single_use_transaction(ref v) => {
6502 os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
6503 os.write_raw_varint32(v.get_cached_size())?;
6504 v.write_to_with_cached_sizes(os)?;
6505 },
6506 };
6507 }
6508 os.write_unknown_fields(self.get_unknown_fields())?;
6509 ::std::result::Result::Ok(())
6510 }
6511
6512 fn get_cached_size(&self) -> u32 {
6513 self.cached_size.get()
6514 }
6515
6516 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
6517 &self.unknown_fields
6518 }
6519
6520 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
6521 &mut self.unknown_fields
6522 }
6523
6524 fn as_any(&self) -> &dyn (::std::any::Any) {
6525 self as &dyn (::std::any::Any)
6526 }
6527 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
6528 self as &mut dyn (::std::any::Any)
6529 }
6530 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
6531 self
6532 }
6533
6534 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
6535 Self::descriptor_static()
6536 }
6537
6538 fn new() -> CommitRequest {
6539 CommitRequest::new()
6540 }
6541
6542 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
6543 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
6544 descriptor.get(|| {
6545 let mut fields = ::std::vec::Vec::new();
6546 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
6547 "session",
6548 |m: &CommitRequest| { &m.session },
6549 |m: &mut CommitRequest| { &mut m.session },
6550 ));
6551 fields.push(::protobuf::reflect::accessor::make_singular_bytes_accessor::<_>(
6552 "transaction_id",
6553 CommitRequest::has_transaction_id,
6554 CommitRequest::get_transaction_id,
6555 ));
6556 fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, super::transaction::TransactionOptions>(
6557 "single_use_transaction",
6558 CommitRequest::has_single_use_transaction,
6559 CommitRequest::get_single_use_transaction,
6560 ));
6561 fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::mutation::Mutation>>(
6562 "mutations",
6563 |m: &CommitRequest| { &m.mutations },
6564 |m: &mut CommitRequest| { &mut m.mutations },
6565 ));
6566 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
6567 "return_commit_stats",
6568 |m: &CommitRequest| { &m.return_commit_stats },
6569 |m: &mut CommitRequest| { &mut m.return_commit_stats },
6570 ));
6571 fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<RequestOptions>>(
6572 "request_options",
6573 |m: &CommitRequest| { &m.request_options },
6574 |m: &mut CommitRequest| { &mut m.request_options },
6575 ));
6576 ::protobuf::reflect::MessageDescriptor::new_pb_name::<CommitRequest>(
6577 "CommitRequest",
6578 fields,
6579 file_descriptor_proto()
6580 )
6581 })
6582 }
6583
6584 fn default_instance() -> &'static CommitRequest {
6585 static instance: ::protobuf::rt::LazyV2<CommitRequest> = ::protobuf::rt::LazyV2::INIT;
6586 instance.get(CommitRequest::new)
6587 }
6588}
6589
6590impl ::protobuf::Clear for CommitRequest {
6591 fn clear(&mut self) {
6592 self.session.clear();
6593 self.transaction = ::std::option::Option::None;
6594 self.transaction = ::std::option::Option::None;
6595 self.mutations.clear();
6596 self.return_commit_stats = false;
6597 self.request_options.clear();
6598 self.unknown_fields.clear();
6599 }
6600}
6601
6602impl ::std::fmt::Debug for CommitRequest {
6603 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
6604 ::protobuf::text_format::fmt(self, f)
6605 }
6606}
6607
6608impl ::protobuf::reflect::ProtobufValue for CommitRequest {
6609 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
6610 ::protobuf::reflect::ReflectValueRef::Message(self)
6611 }
6612}
6613
6614#[derive(PartialEq,Clone,Default)]
6615pub struct RollbackRequest {
6616 pub session: ::std::string::String,
6618 pub transaction_id: ::std::vec::Vec<u8>,
6619 pub unknown_fields: ::protobuf::UnknownFields,
6621 pub cached_size: ::protobuf::CachedSize,
6622}
6623
6624impl<'a> ::std::default::Default for &'a RollbackRequest {
6625 fn default() -> &'a RollbackRequest {
6626 <RollbackRequest as ::protobuf::Message>::default_instance()
6627 }
6628}
6629
6630impl RollbackRequest {
6631 pub fn new() -> RollbackRequest {
6632 ::std::default::Default::default()
6633 }
6634
6635 pub fn get_session(&self) -> &str {
6639 &self.session
6640 }
6641 pub fn clear_session(&mut self) {
6642 self.session.clear();
6643 }
6644
6645 pub fn set_session(&mut self, v: ::std::string::String) {
6647 self.session = v;
6648 }
6649
6650 pub fn mut_session(&mut self) -> &mut ::std::string::String {
6653 &mut self.session
6654 }
6655
6656 pub fn take_session(&mut self) -> ::std::string::String {
6658 ::std::mem::replace(&mut self.session, ::std::string::String::new())
6659 }
6660
6661 pub fn get_transaction_id(&self) -> &[u8] {
6665 &self.transaction_id
6666 }
6667 pub fn clear_transaction_id(&mut self) {
6668 self.transaction_id.clear();
6669 }
6670
6671 pub fn set_transaction_id(&mut self, v: ::std::vec::Vec<u8>) {
6673 self.transaction_id = v;
6674 }
6675
6676 pub fn mut_transaction_id(&mut self) -> &mut ::std::vec::Vec<u8> {
6679 &mut self.transaction_id
6680 }
6681
6682 pub fn take_transaction_id(&mut self) -> ::std::vec::Vec<u8> {
6684 ::std::mem::replace(&mut self.transaction_id, ::std::vec::Vec::new())
6685 }
6686}
6687
6688impl ::protobuf::Message for RollbackRequest {
6689 fn is_initialized(&self) -> bool {
6690 true
6691 }
6692
6693 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
6694 while !is.eof()? {
6695 let (field_number, wire_type) = is.read_tag_unpack()?;
6696 match field_number {
6697 1 => {
6698 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.session)?;
6699 },
6700 2 => {
6701 ::protobuf::rt::read_singular_proto3_bytes_into(wire_type, is, &mut self.transaction_id)?;
6702 },
6703 _ => {
6704 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
6705 },
6706 };
6707 }
6708 ::std::result::Result::Ok(())
6709 }
6710
6711 #[allow(unused_variables)]
6713 fn compute_size(&self) -> u32 {
6714 let mut my_size = 0;
6715 if !self.session.is_empty() {
6716 my_size += ::protobuf::rt::string_size(1, &self.session);
6717 }
6718 if !self.transaction_id.is_empty() {
6719 my_size += ::protobuf::rt::bytes_size(2, &self.transaction_id);
6720 }
6721 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
6722 self.cached_size.set(my_size);
6723 my_size
6724 }
6725
6726 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
6727 if !self.session.is_empty() {
6728 os.write_string(1, &self.session)?;
6729 }
6730 if !self.transaction_id.is_empty() {
6731 os.write_bytes(2, &self.transaction_id)?;
6732 }
6733 os.write_unknown_fields(self.get_unknown_fields())?;
6734 ::std::result::Result::Ok(())
6735 }
6736
6737 fn get_cached_size(&self) -> u32 {
6738 self.cached_size.get()
6739 }
6740
6741 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
6742 &self.unknown_fields
6743 }
6744
6745 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
6746 &mut self.unknown_fields
6747 }
6748
6749 fn as_any(&self) -> &dyn (::std::any::Any) {
6750 self as &dyn (::std::any::Any)
6751 }
6752 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
6753 self as &mut dyn (::std::any::Any)
6754 }
6755 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
6756 self
6757 }
6758
6759 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
6760 Self::descriptor_static()
6761 }
6762
6763 fn new() -> RollbackRequest {
6764 RollbackRequest::new()
6765 }
6766
6767 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
6768 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
6769 descriptor.get(|| {
6770 let mut fields = ::std::vec::Vec::new();
6771 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
6772 "session",
6773 |m: &RollbackRequest| { &m.session },
6774 |m: &mut RollbackRequest| { &mut m.session },
6775 ));
6776 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
6777 "transaction_id",
6778 |m: &RollbackRequest| { &m.transaction_id },
6779 |m: &mut RollbackRequest| { &mut m.transaction_id },
6780 ));
6781 ::protobuf::reflect::MessageDescriptor::new_pb_name::<RollbackRequest>(
6782 "RollbackRequest",
6783 fields,
6784 file_descriptor_proto()
6785 )
6786 })
6787 }
6788
6789 fn default_instance() -> &'static RollbackRequest {
6790 static instance: ::protobuf::rt::LazyV2<RollbackRequest> = ::protobuf::rt::LazyV2::INIT;
6791 instance.get(RollbackRequest::new)
6792 }
6793}
6794
6795impl ::protobuf::Clear for RollbackRequest {
6796 fn clear(&mut self) {
6797 self.session.clear();
6798 self.transaction_id.clear();
6799 self.unknown_fields.clear();
6800 }
6801}
6802
6803impl ::std::fmt::Debug for RollbackRequest {
6804 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
6805 ::protobuf::text_format::fmt(self, f)
6806 }
6807}
6808
6809impl ::protobuf::reflect::ProtobufValue for RollbackRequest {
6810 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
6811 ::protobuf::reflect::ReflectValueRef::Message(self)
6812 }
6813}
6814
6815#[derive(PartialEq,Clone,Default)]
6816pub struct BatchWriteRequest {
6817 pub session: ::std::string::String,
6819 pub request_options: ::protobuf::SingularPtrField<RequestOptions>,
6820 pub mutation_groups: ::protobuf::RepeatedField<BatchWriteRequest_MutationGroup>,
6821 pub unknown_fields: ::protobuf::UnknownFields,
6823 pub cached_size: ::protobuf::CachedSize,
6824}
6825
6826impl<'a> ::std::default::Default for &'a BatchWriteRequest {
6827 fn default() -> &'a BatchWriteRequest {
6828 <BatchWriteRequest as ::protobuf::Message>::default_instance()
6829 }
6830}
6831
6832impl BatchWriteRequest {
6833 pub fn new() -> BatchWriteRequest {
6834 ::std::default::Default::default()
6835 }
6836
6837 pub fn get_session(&self) -> &str {
6841 &self.session
6842 }
6843 pub fn clear_session(&mut self) {
6844 self.session.clear();
6845 }
6846
6847 pub fn set_session(&mut self, v: ::std::string::String) {
6849 self.session = v;
6850 }
6851
6852 pub fn mut_session(&mut self) -> &mut ::std::string::String {
6855 &mut self.session
6856 }
6857
6858 pub fn take_session(&mut self) -> ::std::string::String {
6860 ::std::mem::replace(&mut self.session, ::std::string::String::new())
6861 }
6862
6863 pub fn get_request_options(&self) -> &RequestOptions {
6867 self.request_options.as_ref().unwrap_or_else(|| <RequestOptions as ::protobuf::Message>::default_instance())
6868 }
6869 pub fn clear_request_options(&mut self) {
6870 self.request_options.clear();
6871 }
6872
6873 pub fn has_request_options(&self) -> bool {
6874 self.request_options.is_some()
6875 }
6876
6877 pub fn set_request_options(&mut self, v: RequestOptions) {
6879 self.request_options = ::protobuf::SingularPtrField::some(v);
6880 }
6881
6882 pub fn mut_request_options(&mut self) -> &mut RequestOptions {
6885 if self.request_options.is_none() {
6886 self.request_options.set_default();
6887 }
6888 self.request_options.as_mut().unwrap()
6889 }
6890
6891 pub fn take_request_options(&mut self) -> RequestOptions {
6893 self.request_options.take().unwrap_or_else(|| RequestOptions::new())
6894 }
6895
6896 pub fn get_mutation_groups(&self) -> &[BatchWriteRequest_MutationGroup] {
6900 &self.mutation_groups
6901 }
6902 pub fn clear_mutation_groups(&mut self) {
6903 self.mutation_groups.clear();
6904 }
6905
6906 pub fn set_mutation_groups(&mut self, v: ::protobuf::RepeatedField<BatchWriteRequest_MutationGroup>) {
6908 self.mutation_groups = v;
6909 }
6910
6911 pub fn mut_mutation_groups(&mut self) -> &mut ::protobuf::RepeatedField<BatchWriteRequest_MutationGroup> {
6913 &mut self.mutation_groups
6914 }
6915
6916 pub fn take_mutation_groups(&mut self) -> ::protobuf::RepeatedField<BatchWriteRequest_MutationGroup> {
6918 ::std::mem::replace(&mut self.mutation_groups, ::protobuf::RepeatedField::new())
6919 }
6920}
6921
6922impl ::protobuf::Message for BatchWriteRequest {
6923 fn is_initialized(&self) -> bool {
6924 for v in &self.request_options {
6925 if !v.is_initialized() {
6926 return false;
6927 }
6928 };
6929 for v in &self.mutation_groups {
6930 if !v.is_initialized() {
6931 return false;
6932 }
6933 };
6934 true
6935 }
6936
6937 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
6938 while !is.eof()? {
6939 let (field_number, wire_type) = is.read_tag_unpack()?;
6940 match field_number {
6941 1 => {
6942 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.session)?;
6943 },
6944 3 => {
6945 ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.request_options)?;
6946 },
6947 4 => {
6948 ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.mutation_groups)?;
6949 },
6950 _ => {
6951 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
6952 },
6953 };
6954 }
6955 ::std::result::Result::Ok(())
6956 }
6957
6958 #[allow(unused_variables)]
6960 fn compute_size(&self) -> u32 {
6961 let mut my_size = 0;
6962 if !self.session.is_empty() {
6963 my_size += ::protobuf::rt::string_size(1, &self.session);
6964 }
6965 if let Some(ref v) = self.request_options.as_ref() {
6966 let len = v.compute_size();
6967 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
6968 }
6969 for value in &self.mutation_groups {
6970 let len = value.compute_size();
6971 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
6972 };
6973 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
6974 self.cached_size.set(my_size);
6975 my_size
6976 }
6977
6978 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
6979 if !self.session.is_empty() {
6980 os.write_string(1, &self.session)?;
6981 }
6982 if let Some(ref v) = self.request_options.as_ref() {
6983 os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
6984 os.write_raw_varint32(v.get_cached_size())?;
6985 v.write_to_with_cached_sizes(os)?;
6986 }
6987 for v in &self.mutation_groups {
6988 os.write_tag(4, ::protobuf::wire_format::WireTypeLengthDelimited)?;
6989 os.write_raw_varint32(v.get_cached_size())?;
6990 v.write_to_with_cached_sizes(os)?;
6991 };
6992 os.write_unknown_fields(self.get_unknown_fields())?;
6993 ::std::result::Result::Ok(())
6994 }
6995
6996 fn get_cached_size(&self) -> u32 {
6997 self.cached_size.get()
6998 }
6999
7000 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
7001 &self.unknown_fields
7002 }
7003
7004 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
7005 &mut self.unknown_fields
7006 }
7007
7008 fn as_any(&self) -> &dyn (::std::any::Any) {
7009 self as &dyn (::std::any::Any)
7010 }
7011 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
7012 self as &mut dyn (::std::any::Any)
7013 }
7014 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
7015 self
7016 }
7017
7018 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
7019 Self::descriptor_static()
7020 }
7021
7022 fn new() -> BatchWriteRequest {
7023 BatchWriteRequest::new()
7024 }
7025
7026 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
7027 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
7028 descriptor.get(|| {
7029 let mut fields = ::std::vec::Vec::new();
7030 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
7031 "session",
7032 |m: &BatchWriteRequest| { &m.session },
7033 |m: &mut BatchWriteRequest| { &mut m.session },
7034 ));
7035 fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<RequestOptions>>(
7036 "request_options",
7037 |m: &BatchWriteRequest| { &m.request_options },
7038 |m: &mut BatchWriteRequest| { &mut m.request_options },
7039 ));
7040 fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<BatchWriteRequest_MutationGroup>>(
7041 "mutation_groups",
7042 |m: &BatchWriteRequest| { &m.mutation_groups },
7043 |m: &mut BatchWriteRequest| { &mut m.mutation_groups },
7044 ));
7045 ::protobuf::reflect::MessageDescriptor::new_pb_name::<BatchWriteRequest>(
7046 "BatchWriteRequest",
7047 fields,
7048 file_descriptor_proto()
7049 )
7050 })
7051 }
7052
7053 fn default_instance() -> &'static BatchWriteRequest {
7054 static instance: ::protobuf::rt::LazyV2<BatchWriteRequest> = ::protobuf::rt::LazyV2::INIT;
7055 instance.get(BatchWriteRequest::new)
7056 }
7057}
7058
7059impl ::protobuf::Clear for BatchWriteRequest {
7060 fn clear(&mut self) {
7061 self.session.clear();
7062 self.request_options.clear();
7063 self.mutation_groups.clear();
7064 self.unknown_fields.clear();
7065 }
7066}
7067
7068impl ::std::fmt::Debug for BatchWriteRequest {
7069 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
7070 ::protobuf::text_format::fmt(self, f)
7071 }
7072}
7073
7074impl ::protobuf::reflect::ProtobufValue for BatchWriteRequest {
7075 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
7076 ::protobuf::reflect::ReflectValueRef::Message(self)
7077 }
7078}
7079
7080#[derive(PartialEq,Clone,Default)]
7081pub struct BatchWriteRequest_MutationGroup {
7082 pub mutations: ::protobuf::RepeatedField<super::mutation::Mutation>,
7084 pub unknown_fields: ::protobuf::UnknownFields,
7086 pub cached_size: ::protobuf::CachedSize,
7087}
7088
7089impl<'a> ::std::default::Default for &'a BatchWriteRequest_MutationGroup {
7090 fn default() -> &'a BatchWriteRequest_MutationGroup {
7091 <BatchWriteRequest_MutationGroup as ::protobuf::Message>::default_instance()
7092 }
7093}
7094
7095impl BatchWriteRequest_MutationGroup {
7096 pub fn new() -> BatchWriteRequest_MutationGroup {
7097 ::std::default::Default::default()
7098 }
7099
7100 pub fn get_mutations(&self) -> &[super::mutation::Mutation] {
7104 &self.mutations
7105 }
7106 pub fn clear_mutations(&mut self) {
7107 self.mutations.clear();
7108 }
7109
7110 pub fn set_mutations(&mut self, v: ::protobuf::RepeatedField<super::mutation::Mutation>) {
7112 self.mutations = v;
7113 }
7114
7115 pub fn mut_mutations(&mut self) -> &mut ::protobuf::RepeatedField<super::mutation::Mutation> {
7117 &mut self.mutations
7118 }
7119
7120 pub fn take_mutations(&mut self) -> ::protobuf::RepeatedField<super::mutation::Mutation> {
7122 ::std::mem::replace(&mut self.mutations, ::protobuf::RepeatedField::new())
7123 }
7124}
7125
7126impl ::protobuf::Message for BatchWriteRequest_MutationGroup {
7127 fn is_initialized(&self) -> bool {
7128 for v in &self.mutations {
7129 if !v.is_initialized() {
7130 return false;
7131 }
7132 };
7133 true
7134 }
7135
7136 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
7137 while !is.eof()? {
7138 let (field_number, wire_type) = is.read_tag_unpack()?;
7139 match field_number {
7140 1 => {
7141 ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.mutations)?;
7142 },
7143 _ => {
7144 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
7145 },
7146 };
7147 }
7148 ::std::result::Result::Ok(())
7149 }
7150
7151 #[allow(unused_variables)]
7153 fn compute_size(&self) -> u32 {
7154 let mut my_size = 0;
7155 for value in &self.mutations {
7156 let len = value.compute_size();
7157 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
7158 };
7159 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
7160 self.cached_size.set(my_size);
7161 my_size
7162 }
7163
7164 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
7165 for v in &self.mutations {
7166 os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
7167 os.write_raw_varint32(v.get_cached_size())?;
7168 v.write_to_with_cached_sizes(os)?;
7169 };
7170 os.write_unknown_fields(self.get_unknown_fields())?;
7171 ::std::result::Result::Ok(())
7172 }
7173
7174 fn get_cached_size(&self) -> u32 {
7175 self.cached_size.get()
7176 }
7177
7178 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
7179 &self.unknown_fields
7180 }
7181
7182 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
7183 &mut self.unknown_fields
7184 }
7185
7186 fn as_any(&self) -> &dyn (::std::any::Any) {
7187 self as &dyn (::std::any::Any)
7188 }
7189 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
7190 self as &mut dyn (::std::any::Any)
7191 }
7192 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
7193 self
7194 }
7195
7196 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
7197 Self::descriptor_static()
7198 }
7199
7200 fn new() -> BatchWriteRequest_MutationGroup {
7201 BatchWriteRequest_MutationGroup::new()
7202 }
7203
7204 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
7205 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
7206 descriptor.get(|| {
7207 let mut fields = ::std::vec::Vec::new();
7208 fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::mutation::Mutation>>(
7209 "mutations",
7210 |m: &BatchWriteRequest_MutationGroup| { &m.mutations },
7211 |m: &mut BatchWriteRequest_MutationGroup| { &mut m.mutations },
7212 ));
7213 ::protobuf::reflect::MessageDescriptor::new_pb_name::<BatchWriteRequest_MutationGroup>(
7214 "BatchWriteRequest.MutationGroup",
7215 fields,
7216 file_descriptor_proto()
7217 )
7218 })
7219 }
7220
7221 fn default_instance() -> &'static BatchWriteRequest_MutationGroup {
7222 static instance: ::protobuf::rt::LazyV2<BatchWriteRequest_MutationGroup> = ::protobuf::rt::LazyV2::INIT;
7223 instance.get(BatchWriteRequest_MutationGroup::new)
7224 }
7225}
7226
7227impl ::protobuf::Clear for BatchWriteRequest_MutationGroup {
7228 fn clear(&mut self) {
7229 self.mutations.clear();
7230 self.unknown_fields.clear();
7231 }
7232}
7233
7234impl ::std::fmt::Debug for BatchWriteRequest_MutationGroup {
7235 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
7236 ::protobuf::text_format::fmt(self, f)
7237 }
7238}
7239
7240impl ::protobuf::reflect::ProtobufValue for BatchWriteRequest_MutationGroup {
7241 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
7242 ::protobuf::reflect::ReflectValueRef::Message(self)
7243 }
7244}
7245
7246#[derive(PartialEq,Clone,Default)]
7247pub struct BatchWriteResponse {
7248 pub indexes: ::std::vec::Vec<i32>,
7250 pub status: ::protobuf::SingularPtrField<super::status::Status>,
7251 pub commit_timestamp: ::protobuf::SingularPtrField<::protobuf::well_known_types::Timestamp>,
7252 pub unknown_fields: ::protobuf::UnknownFields,
7254 pub cached_size: ::protobuf::CachedSize,
7255}
7256
7257impl<'a> ::std::default::Default for &'a BatchWriteResponse {
7258 fn default() -> &'a BatchWriteResponse {
7259 <BatchWriteResponse as ::protobuf::Message>::default_instance()
7260 }
7261}
7262
7263impl BatchWriteResponse {
7264 pub fn new() -> BatchWriteResponse {
7265 ::std::default::Default::default()
7266 }
7267
7268 pub fn get_indexes(&self) -> &[i32] {
7272 &self.indexes
7273 }
7274 pub fn clear_indexes(&mut self) {
7275 self.indexes.clear();
7276 }
7277
7278 pub fn set_indexes(&mut self, v: ::std::vec::Vec<i32>) {
7280 self.indexes = v;
7281 }
7282
7283 pub fn mut_indexes(&mut self) -> &mut ::std::vec::Vec<i32> {
7285 &mut self.indexes
7286 }
7287
7288 pub fn take_indexes(&mut self) -> ::std::vec::Vec<i32> {
7290 ::std::mem::replace(&mut self.indexes, ::std::vec::Vec::new())
7291 }
7292
7293 pub fn get_status(&self) -> &super::status::Status {
7297 self.status.as_ref().unwrap_or_else(|| <super::status::Status as ::protobuf::Message>::default_instance())
7298 }
7299 pub fn clear_status(&mut self) {
7300 self.status.clear();
7301 }
7302
7303 pub fn has_status(&self) -> bool {
7304 self.status.is_some()
7305 }
7306
7307 pub fn set_status(&mut self, v: super::status::Status) {
7309 self.status = ::protobuf::SingularPtrField::some(v);
7310 }
7311
7312 pub fn mut_status(&mut self) -> &mut super::status::Status {
7315 if self.status.is_none() {
7316 self.status.set_default();
7317 }
7318 self.status.as_mut().unwrap()
7319 }
7320
7321 pub fn take_status(&mut self) -> super::status::Status {
7323 self.status.take().unwrap_or_else(|| super::status::Status::new())
7324 }
7325
7326 pub fn get_commit_timestamp(&self) -> &::protobuf::well_known_types::Timestamp {
7330 self.commit_timestamp.as_ref().unwrap_or_else(|| <::protobuf::well_known_types::Timestamp as ::protobuf::Message>::default_instance())
7331 }
7332 pub fn clear_commit_timestamp(&mut self) {
7333 self.commit_timestamp.clear();
7334 }
7335
7336 pub fn has_commit_timestamp(&self) -> bool {
7337 self.commit_timestamp.is_some()
7338 }
7339
7340 pub fn set_commit_timestamp(&mut self, v: ::protobuf::well_known_types::Timestamp) {
7342 self.commit_timestamp = ::protobuf::SingularPtrField::some(v);
7343 }
7344
7345 pub fn mut_commit_timestamp(&mut self) -> &mut ::protobuf::well_known_types::Timestamp {
7348 if self.commit_timestamp.is_none() {
7349 self.commit_timestamp.set_default();
7350 }
7351 self.commit_timestamp.as_mut().unwrap()
7352 }
7353
7354 pub fn take_commit_timestamp(&mut self) -> ::protobuf::well_known_types::Timestamp {
7356 self.commit_timestamp.take().unwrap_or_else(|| ::protobuf::well_known_types::Timestamp::new())
7357 }
7358}
7359
7360impl ::protobuf::Message for BatchWriteResponse {
7361 fn is_initialized(&self) -> bool {
7362 for v in &self.status {
7363 if !v.is_initialized() {
7364 return false;
7365 }
7366 };
7367 for v in &self.commit_timestamp {
7368 if !v.is_initialized() {
7369 return false;
7370 }
7371 };
7372 true
7373 }
7374
7375 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
7376 while !is.eof()? {
7377 let (field_number, wire_type) = is.read_tag_unpack()?;
7378 match field_number {
7379 1 => {
7380 ::protobuf::rt::read_repeated_int32_into(wire_type, is, &mut self.indexes)?;
7381 },
7382 2 => {
7383 ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.status)?;
7384 },
7385 3 => {
7386 ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.commit_timestamp)?;
7387 },
7388 _ => {
7389 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
7390 },
7391 };
7392 }
7393 ::std::result::Result::Ok(())
7394 }
7395
7396 #[allow(unused_variables)]
7398 fn compute_size(&self) -> u32 {
7399 let mut my_size = 0;
7400 for value in &self.indexes {
7401 my_size += ::protobuf::rt::value_size(1, *value, ::protobuf::wire_format::WireTypeVarint);
7402 };
7403 if let Some(ref v) = self.status.as_ref() {
7404 let len = v.compute_size();
7405 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
7406 }
7407 if let Some(ref v) = self.commit_timestamp.as_ref() {
7408 let len = v.compute_size();
7409 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
7410 }
7411 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
7412 self.cached_size.set(my_size);
7413 my_size
7414 }
7415
7416 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
7417 for v in &self.indexes {
7418 os.write_int32(1, *v)?;
7419 };
7420 if let Some(ref v) = self.status.as_ref() {
7421 os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
7422 os.write_raw_varint32(v.get_cached_size())?;
7423 v.write_to_with_cached_sizes(os)?;
7424 }
7425 if let Some(ref v) = self.commit_timestamp.as_ref() {
7426 os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
7427 os.write_raw_varint32(v.get_cached_size())?;
7428 v.write_to_with_cached_sizes(os)?;
7429 }
7430 os.write_unknown_fields(self.get_unknown_fields())?;
7431 ::std::result::Result::Ok(())
7432 }
7433
7434 fn get_cached_size(&self) -> u32 {
7435 self.cached_size.get()
7436 }
7437
7438 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
7439 &self.unknown_fields
7440 }
7441
7442 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
7443 &mut self.unknown_fields
7444 }
7445
7446 fn as_any(&self) -> &dyn (::std::any::Any) {
7447 self as &dyn (::std::any::Any)
7448 }
7449 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
7450 self as &mut dyn (::std::any::Any)
7451 }
7452 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
7453 self
7454 }
7455
7456 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
7457 Self::descriptor_static()
7458 }
7459
7460 fn new() -> BatchWriteResponse {
7461 BatchWriteResponse::new()
7462 }
7463
7464 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
7465 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
7466 descriptor.get(|| {
7467 let mut fields = ::std::vec::Vec::new();
7468 fields.push(::protobuf::reflect::accessor::make_vec_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
7469 "indexes",
7470 |m: &BatchWriteResponse| { &m.indexes },
7471 |m: &mut BatchWriteResponse| { &mut m.indexes },
7472 ));
7473 fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::status::Status>>(
7474 "status",
7475 |m: &BatchWriteResponse| { &m.status },
7476 |m: &mut BatchWriteResponse| { &mut m.status },
7477 ));
7478 fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<::protobuf::well_known_types::Timestamp>>(
7479 "commit_timestamp",
7480 |m: &BatchWriteResponse| { &m.commit_timestamp },
7481 |m: &mut BatchWriteResponse| { &mut m.commit_timestamp },
7482 ));
7483 ::protobuf::reflect::MessageDescriptor::new_pb_name::<BatchWriteResponse>(
7484 "BatchWriteResponse",
7485 fields,
7486 file_descriptor_proto()
7487 )
7488 })
7489 }
7490
7491 fn default_instance() -> &'static BatchWriteResponse {
7492 static instance: ::protobuf::rt::LazyV2<BatchWriteResponse> = ::protobuf::rt::LazyV2::INIT;
7493 instance.get(BatchWriteResponse::new)
7494 }
7495}
7496
7497impl ::protobuf::Clear for BatchWriteResponse {
7498 fn clear(&mut self) {
7499 self.indexes.clear();
7500 self.status.clear();
7501 self.commit_timestamp.clear();
7502 self.unknown_fields.clear();
7503 }
7504}
7505
7506impl ::std::fmt::Debug for BatchWriteResponse {
7507 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
7508 ::protobuf::text_format::fmt(self, f)
7509 }
7510}
7511
7512impl ::protobuf::reflect::ProtobufValue for BatchWriteResponse {
7513 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
7514 ::protobuf::reflect::ReflectValueRef::Message(self)
7515 }
7516}
7517
7518static file_descriptor_proto_data: &'static [u8] = b"\
7519 \n\x1fgoogle/spanner/v1/spanner.proto\x12\x11google.spanner.v1\x1a\x1cgo\
7520 ogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/\
7521 api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x1bgoogle/\
7522 protobuf/empty.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/p\
7523 rotobuf/timestamp.proto\x1a\x17google/rpc/status.proto\x1a'google/spanne\
7524 r/v1/commit_response.proto\x1a\x1cgoogle/spanner/v1/keys.proto\x1a\x20go\
7525 ogle/spanner/v1/mutation.proto\x1a\"google/spanner/v1/result_set.proto\
7526 \x1a#google/spanner/v1/transaction.proto\x1a\x1cgoogle/spanner/v1/type.p\
7527 rotoP\x08\"\x96\x01\n\x14CreateSessionRequest\x12C\n\x08database\x18\x01\
7528 \x20\x01(\tR\x08databaseB'\xfaA!\n\x1fspanner.googleapis.com/Database\
7529 \xe0A\x02\x129\n\x07session\x18\x02\x20\x01(\x0b2\x1a.google.spanner.v1.\
7530 SessionR\x07sessionB\x03\xe0A\x02\"\xd2\x01\n\x1aBatchCreateSessionsRequ\
7531 est\x12C\n\x08database\x18\x01\x20\x01(\tR\x08databaseB'\xfaA!\n\x1fspan\
7532 ner.googleapis.com/Database\xe0A\x02\x12E\n\x10session_template\x18\x02\
7533 \x20\x01(\x0b2\x1a.google.spanner.v1.SessionR\x0fsessionTemplate\x12(\n\
7534 \rsession_count\x18\x03\x20\x01(\x05R\x0csessionCountB\x03\xe0A\x02\"S\n\
7535 \x1bBatchCreateSessionsResponse\x124\n\x07session\x18\x01\x20\x03(\x0b2\
7536 \x1a.google.spanner.v1.SessionR\x07session\"\xd4\x03\n\x07Session\x12\
7537 \x17\n\x04name\x18\x01\x20\x01(\tR\x04nameB\x03\xe0A\x03\x12>\n\x06label\
7538 s\x18\x02\x20\x03(\x0b2&.google.spanner.v1.Session.LabelsEntryR\x06label\
7539 s\x12@\n\x0bcreate_time\x18\x03\x20\x01(\x0b2\x1a.google.protobuf.Timest\
7540 ampR\ncreateTimeB\x03\xe0A\x03\x12Z\n\x19approximate_last_use_time\x18\
7541 \x04\x20\x01(\x0b2\x1a.google.protobuf.TimestampR\x16approximateLastUseT\
7542 imeB\x03\xe0A\x03\x12!\n\x0ccreator_role\x18\x05\x20\x01(\tR\x0bcreatorR\
7543 ole\x1a9\n\x0bLabelsEntry\x12\x10\n\x03key\x18\x01\x20\x01(\tR\x03key\
7544 \x12\x14\n\x05value\x18\x02\x20\x01(\tR\x05value:\x028\x01:t\xeaAq\n\x1e\
7545 spanner.googleapis.com/Session\x12Oprojects/{project}/instances/{instanc\
7546 e}/databases/{database}/sessions/{session}\"O\n\x11GetSessionRequest\x12\
7547 :\n\x04name\x18\x01\x20\x01(\tR\x04nameB&\xfaA\x20\n\x1espanner.googleap\
7548 is.com/Session\xe0A\x02\"\xae\x01\n\x13ListSessionsRequest\x12C\n\x08dat\
7549 abase\x18\x01\x20\x01(\tR\x08databaseB'\xfaA!\n\x1fspanner.googleapis.co\
7550 m/Database\xe0A\x02\x12\x1b\n\tpage_size\x18\x02\x20\x01(\x05R\x08pageSi\
7551 ze\x12\x1d\n\npage_token\x18\x03\x20\x01(\tR\tpageToken\x12\x16\n\x06fil\
7552 ter\x18\x04\x20\x01(\tR\x06filter\"v\n\x14ListSessionsResponse\x126\n\
7553 \x08sessions\x18\x01\x20\x03(\x0b2\x1a.google.spanner.v1.SessionR\x08ses\
7554 sions\x12&\n\x0fnext_page_token\x18\x02\x20\x01(\tR\rnextPageToken\"R\n\
7555 \x14DeleteSessionRequest\x12:\n\x04name\x18\x01\x20\x01(\tR\x04nameB&\
7556 \xfaA\x20\n\x1espanner.googleapis.com/Session\xe0A\x02\"\x82\x02\n\x0eRe\
7557 questOptions\x12F\n\x08priority\x18\x01\x20\x01(\x0e2*.google.spanner.v1\
7558 .RequestOptions.PriorityR\x08priority\x12\x1f\n\x0brequest_tag\x18\x02\
7559 \x20\x01(\tR\nrequestTag\x12'\n\x0ftransaction_tag\x18\x03\x20\x01(\tR\
7560 \x0etransactionTag\"^\n\x08Priority\x12\x18\n\x14PRIORITY_UNSPECIFIED\
7561 \x10\0\x12\x10\n\x0cPRIORITY_LOW\x10\x01\x12\x13\n\x0fPRIORITY_MEDIUM\
7562 \x10\x02\x12\x11\n\rPRIORITY_HIGH\x10\x03\"\xc8\x07\n\x11ExecuteSqlReque\
7563 st\x12@\n\x07session\x18\x01\x20\x01(\tR\x07sessionB&\xfaA\x20\n\x1espan\
7564 ner.googleapis.com/Session\xe0A\x02\x12H\n\x0btransaction\x18\x02\x20\
7565 \x01(\x0b2&.google.spanner.v1.TransactionSelectorR\x0btransaction\x12\
7566 \x15\n\x03sql\x18\x03\x20\x01(\tR\x03sqlB\x03\xe0A\x02\x12/\n\x06params\
7567 \x18\x04\x20\x01(\x0b2\x17.google.protobuf.StructR\x06params\x12U\n\x0bp\
7568 aram_types\x18\x05\x20\x03(\x0b24.google.spanner.v1.ExecuteSqlRequest.Pa\
7569 ramTypesEntryR\nparamTypes\x12!\n\x0cresume_token\x18\x06\x20\x01(\x0cR\
7570 \x0bresumeToken\x12M\n\nquery_mode\x18\x07\x20\x01(\x0e2..google.spanner\
7571 .v1.ExecuteSqlRequest.QueryModeR\tqueryMode\x12'\n\x0fpartition_token\
7572 \x18\x08\x20\x01(\x0cR\x0epartitionToken\x12\x14\n\x05seqno\x18\t\x20\
7573 \x01(\x03R\x05seqno\x12V\n\rquery_options\x18\n\x20\x01(\x0b21.google.sp\
7574 anner.v1.ExecuteSqlRequest.QueryOptionsR\x0cqueryOptions\x12J\n\x0freque\
7575 st_options\x18\x0b\x20\x01(\x0b2!.google.spanner.v1.RequestOptionsR\x0er\
7576 equestOptions\x12,\n\x12data_boost_enabled\x18\x10\x20\x01(\x08R\x10data\
7577 BoostEnabled\x1a}\n\x0cQueryOptions\x12+\n\x11optimizer_version\x18\x01\
7578 \x20\x01(\tR\x10optimizerVersion\x12@\n\x1coptimizer_statistics_package\
7579 \x18\x02\x20\x01(\tR\x1aoptimizerStatisticsPackage\x1aV\n\x0fParamTypesE\
7580 ntry\x12\x10\n\x03key\x18\x01\x20\x01(\tR\x03key\x12-\n\x05value\x18\x02\
7581 \x20\x01(\x0b2\x17.google.spanner.v1.TypeR\x05value:\x028\x01\".\n\tQuer\
7582 yMode\x12\n\n\x06NORMAL\x10\0\x12\x08\n\x04PLAN\x10\x01\x12\x0b\n\x07PRO\
7583 FILE\x10\x02\"\xfe\x04\n\x16ExecuteBatchDmlRequest\x12@\n\x07session\x18\
7584 \x01\x20\x01(\tR\x07sessionB&\xfaA\x20\n\x1espanner.googleapis.com/Sessi\
7585 on\xe0A\x02\x12M\n\x0btransaction\x18\x02\x20\x01(\x0b2&.google.spanner.\
7586 v1.TransactionSelectorR\x0btransactionB\x03\xe0A\x02\x12X\n\nstatements\
7587 \x18\x03\x20\x03(\x0b23.google.spanner.v1.ExecuteBatchDmlRequest.Stateme\
7588 ntR\nstatementsB\x03\xe0A\x02\x12\x19\n\x05seqno\x18\x04\x20\x01(\x03R\
7589 \x05seqnoB\x03\xe0A\x02\x12J\n\x0frequest_options\x18\x05\x20\x01(\x0b2!\
7590 .google.spanner.v1.RequestOptionsR\x0erequestOptions\x1a\x91\x02\n\tStat\
7591 ement\x12\x15\n\x03sql\x18\x01\x20\x01(\tR\x03sqlB\x03\xe0A\x02\x12/\n\
7592 \x06params\x18\x02\x20\x01(\x0b2\x17.google.protobuf.StructR\x06params\
7593 \x12d\n\x0bparam_types\x18\x03\x20\x03(\x0b2C.google.spanner.v1.ExecuteB\
7594 atchDmlRequest.Statement.ParamTypesEntryR\nparamTypes\x1aV\n\x0fParamTyp\
7595 esEntry\x12\x10\n\x03key\x18\x01\x20\x01(\tR\x03key\x12-\n\x05value\x18\
7596 \x02\x20\x01(\x0b2\x17.google.spanner.v1.TypeR\x05value:\x028\x01\"\x84\
7597 \x01\n\x17ExecuteBatchDmlResponse\x12=\n\x0bresult_sets\x18\x01\x20\x03(\
7598 \x0b2\x1c.google.spanner.v1.ResultSetR\nresultSets\x12*\n\x06status\x18\
7599 \x02\x20\x01(\x0b2\x12.google.rpc.StatusR\x06status\"k\n\x10PartitionOpt\
7600 ions\x120\n\x14partition_size_bytes\x18\x01\x20\x01(\x03R\x12partitionSi\
7601 zeBytes\x12%\n\x0emax_partitions\x18\x02\x20\x01(\x03R\rmaxPartitions\"\
7602 \xf0\x03\n\x15PartitionQueryRequest\x12@\n\x07session\x18\x01\x20\x01(\t\
7603 R\x07sessionB&\xfaA\x20\n\x1espanner.googleapis.com/Session\xe0A\x02\x12\
7604 H\n\x0btransaction\x18\x02\x20\x01(\x0b2&.google.spanner.v1.TransactionS\
7605 electorR\x0btransaction\x12\x15\n\x03sql\x18\x03\x20\x01(\tR\x03sqlB\x03\
7606 \xe0A\x02\x12/\n\x06params\x18\x04\x20\x01(\x0b2\x17.google.protobuf.Str\
7607 uctR\x06params\x12Y\n\x0bparam_types\x18\x05\x20\x03(\x0b28.google.spann\
7608 er.v1.PartitionQueryRequest.ParamTypesEntryR\nparamTypes\x12P\n\x11parti\
7609 tion_options\x18\x06\x20\x01(\x0b2#.google.spanner.v1.PartitionOptionsR\
7610 \x10partitionOptions\x1aV\n\x0fParamTypesEntry\x12\x10\n\x03key\x18\x01\
7611 \x20\x01(\tR\x03key\x12-\n\x05value\x18\x02\x20\x01(\x0b2\x17.google.spa\
7612 nner.v1.TypeR\x05value:\x028\x01\"\xf8\x02\n\x14PartitionReadRequest\x12\
7613 @\n\x07session\x18\x01\x20\x01(\tR\x07sessionB&\xfaA\x20\n\x1espanner.go\
7614 ogleapis.com/Session\xe0A\x02\x12H\n\x0btransaction\x18\x02\x20\x01(\x0b\
7615 2&.google.spanner.v1.TransactionSelectorR\x0btransaction\x12\x19\n\x05ta\
7616 ble\x18\x03\x20\x01(\tR\x05tableB\x03\xe0A\x02\x12\x14\n\x05index\x18\
7617 \x04\x20\x01(\tR\x05index\x12\x18\n\x07columns\x18\x05\x20\x03(\tR\x07co\
7618 lumns\x127\n\x07key_set\x18\x06\x20\x01(\x0b2\x19.google.spanner.v1.KeyS\
7619 etR\x06keySetB\x03\xe0A\x02\x12P\n\x11partition_options\x18\t\x20\x01(\
7620 \x0b2#.google.spanner.v1.PartitionOptionsR\x10partitionOptions\"4\n\tPar\
7621 tition\x12'\n\x0fpartition_token\x18\x01\x20\x01(\x0cR\x0epartitionToken\
7622 \"\x93\x01\n\x11PartitionResponse\x12<\n\npartitions\x18\x01\x20\x03(\
7623 \x0b2\x1c.google.spanner.v1.PartitionR\npartitions\x12@\n\x0btransaction\
7624 \x18\x02\x20\x01(\x0b2\x1e.google.spanner.v1.TransactionR\x0btransaction\
7625 \"\xfe\x03\n\x0bReadRequest\x12@\n\x07session\x18\x01\x20\x01(\tR\x07ses\
7626 sionB&\xfaA\x20\n\x1espanner.googleapis.com/Session\xe0A\x02\x12H\n\x0bt\
7627 ransaction\x18\x02\x20\x01(\x0b2&.google.spanner.v1.TransactionSelectorR\
7628 \x0btransaction\x12\x19\n\x05table\x18\x03\x20\x01(\tR\x05tableB\x03\xe0\
7629 A\x02\x12\x14\n\x05index\x18\x04\x20\x01(\tR\x05index\x12\x1d\n\x07colum\
7630 ns\x18\x05\x20\x03(\tR\x07columnsB\x03\xe0A\x02\x127\n\x07key_set\x18\
7631 \x06\x20\x01(\x0b2\x19.google.spanner.v1.KeySetR\x06keySetB\x03\xe0A\x02\
7632 \x12\x14\n\x05limit\x18\x08\x20\x01(\x03R\x05limit\x12!\n\x0cresume_toke\
7633 n\x18\t\x20\x01(\x0cR\x0bresumeToken\x12'\n\x0fpartition_token\x18\n\x20\
7634 \x01(\x0cR\x0epartitionToken\x12J\n\x0frequest_options\x18\x0b\x20\x01(\
7635 \x0b2!.google.spanner.v1.RequestOptionsR\x0erequestOptions\x12,\n\x12dat\
7636 a_boost_enabled\x18\x0f\x20\x01(\x08R\x10dataBoostEnabled\"\xed\x01\n\
7637 \x17BeginTransactionRequest\x12@\n\x07session\x18\x01\x20\x01(\tR\x07ses\
7638 sionB&\xfaA\x20\n\x1espanner.googleapis.com/Session\xe0A\x02\x12D\n\x07o\
7639 ptions\x18\x02\x20\x01(\x0b2%.google.spanner.v1.TransactionOptionsR\x07o\
7640 ptionsB\x03\xe0A\x02\x12J\n\x0frequest_options\x18\x03\x20\x01(\x0b2!.go\
7641 ogle.spanner.v1.RequestOptionsR\x0erequestOptions\"\x9f\x03\n\rCommitReq\
7642 uest\x12@\n\x07session\x18\x01\x20\x01(\tR\x07sessionB&\xfaA\x20\n\x1esp\
7643 anner.googleapis.com/Session\xe0A\x02\x12'\n\x0etransaction_id\x18\x02\
7644 \x20\x01(\x0cH\0R\rtransactionId\x12]\n\x16single_use_transaction\x18\
7645 \x03\x20\x01(\x0b2%.google.spanner.v1.TransactionOptionsH\0R\x14singleUs\
7646 eTransaction\x129\n\tmutations\x18\x04\x20\x03(\x0b2\x1b.google.spanner.\
7647 v1.MutationR\tmutations\x12.\n\x13return_commit_stats\x18\x05\x20\x01(\
7648 \x08R\x11returnCommitStats\x12J\n\x0frequest_options\x18\x06\x20\x01(\
7649 \x0b2!.google.spanner.v1.RequestOptionsR\x0erequestOptionsB\r\n\x0btrans\
7650 action\"\x7f\n\x0fRollbackRequest\x12@\n\x07session\x18\x01\x20\x01(\tR\
7651 \x07sessionB&\xfaA\x20\n\x1espanner.googleapis.com/Session\xe0A\x02\x12*\
7652 \n\x0etransaction_id\x18\x02\x20\x01(\x0cR\rtransactionIdB\x03\xe0A\x02\
7653 \"\xd4\x02\n\x11BatchWriteRequest\x12@\n\x07session\x18\x01\x20\x01(\tR\
7654 \x07sessionB&\xfaA\x20\n\x1espanner.googleapis.com/Session\xe0A\x02\x12J\
7655 \n\x0frequest_options\x18\x03\x20\x01(\x0b2!.google.spanner.v1.RequestOp\
7656 tionsR\x0erequestOptions\x12`\n\x0fmutation_groups\x18\x04\x20\x03(\x0b2\
7657 2.google.spanner.v1.BatchWriteRequest.MutationGroupR\x0emutationGroupsB\
7658 \x03\xe0A\x02\x1aO\n\rMutationGroup\x12>\n\tmutations\x18\x01\x20\x03(\
7659 \x0b2\x1b.google.spanner.v1.MutationR\tmutationsB\x03\xe0A\x02\"\xa1\x01\
7660 \n\x12BatchWriteResponse\x12\x18\n\x07indexes\x18\x01\x20\x03(\x05R\x07i\
7661 ndexes\x12*\n\x06status\x18\x02\x20\x01(\x0b2\x12.google.rpc.StatusR\x06\
7662 status\x12E\n\x10commit_timestamp\x18\x03\x20\x01(\x0b2\x1a.google.proto\
7663 buf.TimestampR\x0fcommitTimestamp2\x8b\x18\n\x07Spanner\x12\xa6\x01\n\rC\
7664 reateSession\x12'.google.spanner.v1.CreateSessionRequest\x1a\x1a.google.\
7665 spanner.v1.Session\"P\x82\xd3\xe4\x93\x02?\":/v1/{database=projects/*/in\
7666 stances/*/databases/*}/sessions:\x01*\xdaA\x08database\x12\xe0\x01\n\x13\
7667 BatchCreateSessions\x12-.google.spanner.v1.BatchCreateSessionsRequest\
7668 \x1a..google.spanner.v1.BatchCreateSessionsResponse\"j\x82\xd3\xe4\x93\
7669 \x02K\"F/v1/{database=projects/*/instances/*/databases/*}/sessions:batch\
7670 Create:\x01*\xdaA\x16database,session_count\x12\x97\x01\n\nGetSession\
7671 \x12$.google.spanner.v1.GetSessionRequest\x1a\x1a.google.spanner.v1.Sess\
7672 ion\"G\x82\xd3\xe4\x93\x02:\x128/v1/{name=projects/*/instances/*/databas\
7673 es/*/sessions/*}\xdaA\x04name\x12\xae\x01\n\x0cListSessions\x12&.google.\
7674 spanner.v1.ListSessionsRequest\x1a'.google.spanner.v1.ListSessionsRespon\
7675 se\"M\x82\xd3\xe4\x93\x02<\x12:/v1/{database=projects/*/instances/*/data\
7676 bases/*}/sessions\xdaA\x08database\x12\x99\x01\n\rDeleteSession\x12'.goo\
7677 gle.spanner.v1.DeleteSessionRequest\x1a\x16.google.protobuf.Empty\"G\x82\
7678 \xd3\xe4\x93\x02:*8/v1/{name=projects/*/instances/*/databases/*/sessions\
7679 /*}\xdaA\x04name\x12\xa3\x01\n\nExecuteSql\x12$.google.spanner.v1.Execut\
7680 eSqlRequest\x1a\x1c.google.spanner.v1.ResultSet\"Q\x82\xd3\xe4\x93\x02K\
7681 \"F/v1/{session=projects/*/instances/*/databases/*/sessions/*}:executeSq\
7682 l:\x01*\x12\xbe\x01\n\x13ExecuteStreamingSql\x12$.google.spanner.v1.Exec\
7683 uteSqlRequest\x1a#.google.spanner.v1.PartialResultSet\"Z\x82\xd3\xe4\x93\
7684 \x02T\"O/v1/{session=projects/*/instances/*/databases/*/sessions/*}:exec\
7685 uteStreamingSql:\x01*0\x01\x12\xc0\x01\n\x0fExecuteBatchDml\x12).google.\
7686 spanner.v1.ExecuteBatchDmlRequest\x1a*.google.spanner.v1.ExecuteBatchDml\
7687 Response\"V\x82\xd3\xe4\x93\x02P\"K/v1/{session=projects/*/instances/*/d\
7688 atabases/*/sessions/*}:executeBatchDml:\x01*\x12\x91\x01\n\x04Read\x12\
7689 \x1e.google.spanner.v1.ReadRequest\x1a\x1c.google.spanner.v1.ResultSet\"\
7690 K\x82\xd3\xe4\x93\x02E\"@/v1/{session=projects/*/instances/*/databases/*\
7691 /sessions/*}:read:\x01*\x12\xac\x01\n\rStreamingRead\x12\x1e.google.span\
7692 ner.v1.ReadRequest\x1a#.google.spanner.v1.PartialResultSet\"T\x82\xd3\
7693 \xe4\x93\x02N\"I/v1/{session=projects/*/instances/*/databases/*/sessions\
7694 /*}:streamingRead:\x01*0\x01\x12\xc9\x01\n\x10BeginTransaction\x12*.goog\
7695 le.spanner.v1.BeginTransactionRequest\x1a\x1e.google.spanner.v1.Transact\
7696 ion\"i\x82\xd3\xe4\x93\x02Q\"L/v1/{session=projects/*/instances/*/databa\
7697 ses/*/sessions/*}:beginTransaction:\x01*\xdaA\x0fsession,options\x12\xeb\
7698 \x01\n\x06Commit\x12\x20.google.spanner.v1.CommitRequest\x1a!.google.spa\
7699 nner.v1.CommitResponse\"\x9b\x01\x82\xd3\xe4\x93\x02G\"B/v1/{session=pro\
7700 jects/*/instances/*/databases/*/sessions/*}:commit:\x01*\xdaA\x20session\
7701 ,transaction_id,mutations\xdaA(session,single_use_transaction,mutations\
7702 \x12\xb0\x01\n\x08Rollback\x12\".google.spanner.v1.RollbackRequest\x1a\
7703 \x16.google.protobuf.Empty\"h\x82\xd3\xe4\x93\x02I\"D/v1/{session=projec\
7704 ts/*/instances/*/databases/*/sessions/*}:rollback:\x01*\xdaA\x16session,\
7705 transaction_id\x12\xb7\x01\n\x0ePartitionQuery\x12(.google.spanner.v1.Pa\
7706 rtitionQueryRequest\x1a$.google.spanner.v1.PartitionResponse\"U\x82\xd3\
7707 \xe4\x93\x02O\"J/v1/{session=projects/*/instances/*/databases/*/sessions\
7708 /*}:partitionQuery:\x01*\x12\xb4\x01\n\rPartitionRead\x12'.google.spanne\
7709 r.v1.PartitionReadRequest\x1a$.google.spanner.v1.PartitionResponse\"T\
7710 \x82\xd3\xe4\x93\x02N\"I/v1/{session=projects/*/instances/*/databases/*/\
7711 sessions/*}:partitionRead:\x01*\x12\xc8\x01\n\nBatchWrite\x12$.google.sp\
7712 anner.v1.BatchWriteRequest\x1a%.google.spanner.v1.BatchWriteResponse\"k\
7713 \x82\xd3\xe4\x93\x02K\"F/v1/{session=projects/*/instances/*/databases/*/\
7714 sessions/*}:batchWrite:\x01*\xdaA\x17session,mutation_groups0\x01\x1aw\
7715 \xd2A[https://www.googleapis.com/auth/cloud-platform,https://www.googlea\
7716 pis.com/auth/spanner.data\xcaA\x16spanner.googleapis.comB\x91\x02\n\x15c\
7717 om.google.spanner.v1B\x0cSpannerProtoP\x01Z5cloud.google.com/go/spanner/\
7718 apiv1/spannerpb;spannerpb\xaa\x02\x17Google.Cloud.Spanner.V1\xca\x02\x17\
7719 Google\\Cloud\\Spanner\\V1\xea\x02\x1aGoogle::Cloud::Spanner::V1\xeaA_\n\
7720 \x1fspanner.googleapis.com/Database\x12<projects/{project}/instances/{in\
7721 stance}/databases/{database}J\xbb\xe0\x02\n\x07\x12\x05\x0e\0\xce\x08\
7722 \x01\n\xbc\x04\n\x01\x0c\x12\x03\x0e\0\x122\xb1\x04\x20Copyright\x202022\
7723 \x20Google\x20LLC\n\n\x20Licensed\x20under\x20the\x20Apache\x20License,\
7724 \x20Version\x202.0\x20(the\x20\"License\");\n\x20you\x20may\x20not\x20us\
7725 e\x20this\x20file\x20except\x20in\x20compliance\x20with\x20the\x20Licens\
7726 e.\n\x20You\x20may\x20obtain\x20a\x20copy\x20of\x20the\x20License\x20at\
7727 \n\n\x20\x20\x20\x20\x20http://www.apache.org/licenses/LICENSE-2.0\n\n\
7728 \x20Unless\x20required\x20by\x20applicable\x20law\x20or\x20agreed\x20to\
7729 \x20in\x20writing,\x20software\n\x20distributed\x20under\x20the\x20Licen\
7730 se\x20is\x20distributed\x20on\x20an\x20\"AS\x20IS\"\x20BASIS,\n\x20WITHO\
7731 UT\x20WARRANTIES\x20OR\x20CONDITIONS\x20OF\x20ANY\x20KIND,\x20either\x20\
7732 express\x20or\x20implied.\n\x20See\x20the\x20License\x20for\x20the\x20sp\
7733 ecific\x20language\x20governing\x20permissions\x20and\n\x20limitations\
7734 \x20under\x20the\x20License.\n\n\x08\n\x01\x02\x12\x03\x10\0\x1a\n\t\n\
7735 \x02\x03\0\x12\x03\x12\0&\n\t\n\x02\x03\x01\x12\x03\x13\0!\n\t\n\x02\x03\
7736 \x02\x12\x03\x14\0)\n\t\n\x02\x03\x03\x12\x03\x15\0#\n\t\n\x02\x03\x04\
7737 \x12\x03\x16\0%\n\t\n\x02\x03\x05\x12\x03\x17\0&\n\t\n\x02\x03\x06\x12\
7738 \x03\x18\0)\n\t\n\x02\x03\x07\x12\x03\x19\0!\n\t\n\x02\x03\x08\x12\x03\
7739 \x1a\08\n\t\n\x02\n\0\x12\x03\x1a\x07\r\n\t\n\x02\x03\t\x12\x03\x1b\0&\n\
7740 \t\n\x02\x03\n\x12\x03\x1c\0*\n\t\n\x02\x03\x0b\x12\x03\x1d\0,\n\t\n\x02\
7741 \x03\x0c\x12\x03\x1e\0-\n\t\n\x02\x03\r\x12\x03\x1f\0&\n\x08\n\x01\x08\
7742 \x12\x03!\04\n\t\n\x02\x08%\x12\x03!\04\n\x08\n\x01\x08\x12\x03\"\0L\n\t\
7743 \n\x02\x08\x0b\x12\x03\"\0L\n\x08\n\x01\x08\x12\x03#\0\"\n\t\n\x02\x08\n\
7744 \x12\x03#\0\"\n\x08\n\x01\x08\x12\x03$\0-\n\t\n\x02\x08\x08\x12\x03$\0-\
7745 \n\x08\n\x01\x08\x12\x03%\0.\n\t\n\x02\x08\x01\x12\x03%\0.\n\x08\n\x01\
7746 \x08\x12\x03&\04\n\t\n\x02\x08)\x12\x03&\04\n\x08\n\x01\x08\x12\x03'\03\
7747 \n\t\n\x02\x08-\x12\x03'\03\n\t\n\x01\x08\x12\x04(\0+\x02\n\x0c\n\x04\
7748 \x08\x9d\x08\0\x12\x04(\0+\x02\n\x9d\x01\n\x02\x06\0\x12\x051\0\xb9\x02\
7749 \x01\x1a\x8f\x01\x20Cloud\x20Spanner\x20API\n\n\x20The\x20Cloud\x20Spann\
7750 er\x20API\x20can\x20be\x20used\x20to\x20manage\x20sessions\x20and\x20exe\
7751 cute\n\x20transactions\x20on\x20data\x20stored\x20in\x20Cloud\x20Spanner\
7752 \x20databases.\n\n\n\n\x03\x06\0\x01\x12\x031\x08\x0f\n\n\n\x03\x06\0\
7753 \x03\x12\x032\x02>\n\x0c\n\x05\x06\0\x03\x99\x08\x12\x032\x02>\n\x0b\n\
7754 \x03\x06\0\x03\x12\x043\x0255\n\r\n\x05\x06\0\x03\x9a\x08\x12\x043\x0255\
7755 \n\xe7\x06\n\x04\x06\0\x02\0\x12\x04J\x02P\x03\x1a\xd8\x06\x20Creates\
7756 \x20a\x20new\x20session.\x20A\x20session\x20can\x20be\x20used\x20to\x20p\
7757 erform\n\x20transactions\x20that\x20read\x20and/or\x20modify\x20data\x20\
7758 in\x20a\x20Cloud\x20Spanner\x20database.\n\x20Sessions\x20are\x20meant\
7759 \x20to\x20be\x20reused\x20for\x20many\x20consecutive\n\x20transactions.\
7760 \n\n\x20Sessions\x20can\x20only\x20execute\x20one\x20transaction\x20at\
7761 \x20a\x20time.\x20To\x20execute\n\x20multiple\x20concurrent\x20read-writ\
7762 e/write-only\x20transactions,\x20create\n\x20multiple\x20sessions.\x20No\
7763 te\x20that\x20standalone\x20reads\x20and\x20queries\x20use\x20a\n\x20tra\
7764 nsaction\x20internally,\x20and\x20count\x20toward\x20the\x20one\x20trans\
7765 action\n\x20limit.\n\n\x20Active\x20sessions\x20use\x20additional\x20ser\
7766 ver\x20resources,\x20so\x20it\x20is\x20a\x20good\x20idea\x20to\n\x20dele\
7767 te\x20idle\x20and\x20unneeded\x20sessions.\n\x20Aside\x20from\x20explici\
7768 t\x20deletes,\x20Cloud\x20Spanner\x20may\x20delete\x20sessions\x20for\
7769 \x20which\x20no\n\x20operations\x20are\x20sent\x20for\x20more\x20than\
7770 \x20an\x20hour.\x20If\x20a\x20session\x20is\x20deleted,\n\x20requests\
7771 \x20to\x20it\x20return\x20`NOT_FOUND`.\n\n\x20Idle\x20sessions\x20can\
7772 \x20be\x20kept\x20alive\x20by\x20sending\x20a\x20trivial\x20SQL\x20query\
7773 \n\x20periodically,\x20e.g.,\x20`\"SELECT\x201\"`.\n\n\x0c\n\x05\x06\0\
7774 \x02\0\x01\x12\x03J\x06\x13\n\x0c\n\x05\x06\0\x02\0\x02\x12\x03J\x14(\n\
7775 \x0c\n\x05\x06\0\x02\0\x03\x12\x03J3:\n\r\n\x05\x06\0\x02\0\x04\x12\x04K\
7776 \x04N\x06\n\x11\n\t\x06\0\x02\0\x04\xb0\xca\xbc\"\x12\x04K\x04N\x06\n\
7777 \x0c\n\x05\x06\0\x02\0\x04\x12\x03O\x046\n\x0f\n\x08\x06\0\x02\0\x04\x9b\
7778 \x08\0\x12\x03O\x046\n\xbf\x01\n\x04\x06\0\x02\x01\x12\x04V\x02\\\x03\
7779 \x1a\xb0\x01\x20Creates\x20multiple\x20new\x20sessions.\n\n\x20This\x20A\
7780 PI\x20can\x20be\x20used\x20to\x20initialize\x20a\x20session\x20cache\x20\
7781 on\x20the\x20clients.\n\x20See\x20https://goo.gl/TgSFN2\x20for\x20best\
7782 \x20practices\x20on\x20session\x20cache\x20management.\n\n\x0c\n\x05\x06\
7783 \0\x02\x01\x01\x12\x03V\x06\x19\n\x0c\n\x05\x06\0\x02\x01\x02\x12\x03V\
7784 \x1a4\n\x0c\n\x05\x06\0\x02\x01\x03\x12\x03V?Z\n\r\n\x05\x06\0\x02\x01\
7785 \x04\x12\x04W\x04Z\x06\n\x11\n\t\x06\0\x02\x01\x04\xb0\xca\xbc\"\x12\x04\
7786 W\x04Z\x06\n\x0c\n\x05\x06\0\x02\x01\x04\x12\x03[\x04D\n\x0f\n\x08\x06\0\
7787 \x02\x01\x04\x9b\x08\0\x12\x03[\x04D\n\x9d\x01\n\x04\x06\0\x02\x02\x12\
7788 \x04a\x02f\x03\x1a\x8e\x01\x20Gets\x20a\x20session.\x20Returns\x20`NOT_F\
7789 OUND`\x20if\x20the\x20session\x20does\x20not\x20exist.\n\x20This\x20is\
7790 \x20mainly\x20useful\x20for\x20determining\x20whether\x20a\x20session\
7791 \x20is\x20still\n\x20alive.\n\n\x0c\n\x05\x06\0\x02\x02\x01\x12\x03a\x06\
7792 \x10\n\x0c\n\x05\x06\0\x02\x02\x02\x12\x03a\x11\"\n\x0c\n\x05\x06\0\x02\
7793 \x02\x03\x12\x03a-4\n\r\n\x05\x06\0\x02\x02\x04\x12\x04b\x04d\x06\n\x11\
7794 \n\t\x06\0\x02\x02\x04\xb0\xca\xbc\"\x12\x04b\x04d\x06\n\x0c\n\x05\x06\0\
7795 \x02\x02\x04\x12\x03e\x042\n\x0f\n\x08\x06\0\x02\x02\x04\x9b\x08\0\x12\
7796 \x03e\x042\n7\n\x04\x06\0\x02\x03\x12\x04i\x02n\x03\x1a)\x20Lists\x20all\
7797 \x20sessions\x20in\x20a\x20given\x20database.\n\n\x0c\n\x05\x06\0\x02\
7798 \x03\x01\x12\x03i\x06\x12\n\x0c\n\x05\x06\0\x02\x03\x02\x12\x03i\x13&\n\
7799 \x0c\n\x05\x06\0\x02\x03\x03\x12\x03i1E\n\r\n\x05\x06\0\x02\x03\x04\x12\
7800 \x04j\x04l\x06\n\x11\n\t\x06\0\x02\x03\x04\xb0\xca\xbc\"\x12\x04j\x04l\
7801 \x06\n\x0c\n\x05\x06\0\x02\x03\x04\x12\x03m\x046\n\x0f\n\x08\x06\0\x02\
7802 \x03\x04\x9b\x08\0\x12\x03m\x046\n\xb5\x01\n\x04\x06\0\x02\x04\x12\x04s\
7803 \x02x\x03\x1a\xa6\x01\x20Ends\x20a\x20session,\x20releasing\x20server\
7804 \x20resources\x20associated\x20with\x20it.\x20This\x20will\n\x20asynchro\
7805 nously\x20trigger\x20cancellation\x20of\x20any\x20operations\x20that\x20\
7806 are\x20running\x20with\n\x20this\x20session.\n\n\x0c\n\x05\x06\0\x02\x04\
7807 \x01\x12\x03s\x06\x13\n\x0c\n\x05\x06\0\x02\x04\x02\x12\x03s\x14(\n\x0c\
7808 \n\x05\x06\0\x02\x04\x03\x12\x03s3H\n\r\n\x05\x06\0\x02\x04\x04\x12\x04t\
7809 \x04v\x06\n\x11\n\t\x06\0\x02\x04\x04\xb0\xca\xbc\"\x12\x04t\x04v\x06\n\
7810 \x0c\n\x05\x06\0\x02\x04\x04\x12\x03w\x042\n\x0f\n\x08\x06\0\x02\x04\x04\
7811 \x9b\x08\0\x12\x03w\x042\n\xeb\x04\n\x04\x06\0\x02\x05\x12\x06\x85\x01\
7812 \x02\x8a\x01\x03\x1a\xda\x04\x20Executes\x20an\x20SQL\x20statement,\x20r\
7813 eturning\x20all\x20results\x20in\x20a\x20single\x20reply.\x20This\n\x20m\
7814 ethod\x20cannot\x20be\x20used\x20to\x20return\x20a\x20result\x20set\x20l\
7815 arger\x20than\x2010\x20MiB;\n\x20if\x20the\x20query\x20yields\x20more\
7816 \x20data\x20than\x20that,\x20the\x20query\x20fails\x20with\n\x20a\x20`FA\
7817 ILED_PRECONDITION`\x20error.\n\n\x20Operations\x20inside\x20read-write\
7818 \x20transactions\x20might\x20return\x20`ABORTED`.\x20If\n\x20this\x20occ\
7819 urs,\x20the\x20application\x20should\x20restart\x20the\x20transaction\
7820 \x20from\n\x20the\x20beginning.\x20See\x20[Transaction][google.spanner.v\
7821 1.Transaction]\x20for\x20more\x20details.\n\n\x20Larger\x20result\x20set\
7822 s\x20can\x20be\x20fetched\x20in\x20streaming\x20fashion\x20by\x20calling\
7823 \n\x20[ExecuteStreamingSql][google.spanner.v1.Spanner.ExecuteStreamingSq\
7824 l]\x20instead.\n\n\r\n\x05\x06\0\x02\x05\x01\x12\x04\x85\x01\x06\x10\n\r\
7825 \n\x05\x06\0\x02\x05\x02\x12\x04\x85\x01\x11\"\n\r\n\x05\x06\0\x02\x05\
7826 \x03\x12\x04\x85\x01-6\n\x0f\n\x05\x06\0\x02\x05\x04\x12\x06\x86\x01\x04\
7827 \x89\x01\x06\n\x13\n\t\x06\0\x02\x05\x04\xb0\xca\xbc\"\x12\x06\x86\x01\
7828 \x04\x89\x01\x06\n\xd7\x02\n\x04\x06\0\x02\x06\x12\x06\x91\x01\x02\x96\
7829 \x01\x03\x1a\xc6\x02\x20Like\x20[ExecuteSql][google.spanner.v1.Spanner.E\
7830 xecuteSql],\x20except\x20returns\x20the\x20result\n\x20set\x20as\x20a\
7831 \x20stream.\x20Unlike\x20[ExecuteSql][google.spanner.v1.Spanner.ExecuteS\
7832 ql],\x20there\n\x20is\x20no\x20limit\x20on\x20the\x20size\x20of\x20the\
7833 \x20returned\x20result\x20set.\x20However,\x20no\n\x20individual\x20row\
7834 \x20in\x20the\x20result\x20set\x20can\x20exceed\x20100\x20MiB,\x20and\
7835 \x20no\n\x20column\x20value\x20can\x20exceed\x2010\x20MiB.\n\n\r\n\x05\
7836 \x06\0\x02\x06\x01\x12\x04\x91\x01\x06\x19\n\r\n\x05\x06\0\x02\x06\x02\
7837 \x12\x04\x91\x01\x1a+\n\r\n\x05\x06\0\x02\x06\x06\x12\x04\x91\x016<\n\r\
7838 \n\x05\x06\0\x02\x06\x03\x12\x04\x91\x01=M\n\x0f\n\x05\x06\0\x02\x06\x04\
7839 \x12\x06\x92\x01\x04\x95\x01\x06\n\x13\n\t\x06\0\x02\x06\x04\xb0\xca\xbc\
7840 \"\x12\x06\x92\x01\x04\x95\x01\x06\n\x85\x05\n\x04\x06\0\x02\x07\x12\x06\
7841 \xa3\x01\x02\xa8\x01\x03\x1a\xf4\x04\x20Executes\x20a\x20batch\x20of\x20\
7842 SQL\x20DML\x20statements.\x20This\x20method\x20allows\x20many\x20stateme\
7843 nts\n\x20to\x20be\x20run\x20with\x20lower\x20latency\x20than\x20submitti\
7844 ng\x20them\x20sequentially\x20with\n\x20[ExecuteSql][google.spanner.v1.S\
7845 panner.ExecuteSql].\n\n\x20Statements\x20are\x20executed\x20in\x20sequen\
7846 tial\x20order.\x20A\x20request\x20can\x20succeed\x20even\x20if\n\x20a\
7847 \x20statement\x20fails.\x20The\x20[ExecuteBatchDmlResponse.status][googl\
7848 e.spanner.v1.ExecuteBatchDmlResponse.status]\x20field\x20in\x20the\n\x20\
7849 response\x20provides\x20information\x20about\x20the\x20statement\x20that\
7850 \x20failed.\x20Clients\x20must\n\x20inspect\x20this\x20field\x20to\x20de\
7851 termine\x20whether\x20an\x20error\x20occurred.\n\n\x20Execution\x20stops\
7852 \x20after\x20the\x20first\x20failed\x20statement;\x20the\x20remaining\
7853 \x20statements\n\x20are\x20not\x20executed.\n\n\r\n\x05\x06\0\x02\x07\
7854 \x01\x12\x04\xa3\x01\x06\x15\n\r\n\x05\x06\0\x02\x07\x02\x12\x04\xa3\x01\
7855 \x16,\n\r\n\x05\x06\0\x02\x07\x03\x12\x04\xa3\x017N\n\x0f\n\x05\x06\0\
7856 \x02\x07\x04\x12\x06\xa4\x01\x04\xa7\x01\x06\n\x13\n\t\x06\0\x02\x07\x04\
7857 \xb0\xca\xbc\"\x12\x06\xa4\x01\x04\xa7\x01\x06\n\xb1\x05\n\x04\x06\0\x02\
7858 \x08\x12\x06\xb7\x01\x02\xbc\x01\x03\x1a\xa0\x05\x20Reads\x20rows\x20fro\
7859 m\x20the\x20database\x20using\x20key\x20lookups\x20and\x20scans,\x20as\
7860 \x20a\n\x20simple\x20key/value\x20style\x20alternative\x20to\n\x20[Execu\
7861 teSql][google.spanner.v1.Spanner.ExecuteSql].\x20\x20This\x20method\x20c\
7862 annot\x20be\x20used\x20to\n\x20return\x20a\x20result\x20set\x20larger\
7863 \x20than\x2010\x20MiB;\x20if\x20the\x20read\x20matches\x20more\n\x20data\
7864 \x20than\x20that,\x20the\x20read\x20fails\x20with\x20a\x20`FAILED_PRECON\
7865 DITION`\n\x20error.\n\n\x20Reads\x20inside\x20read-write\x20transactions\
7866 \x20might\x20return\x20`ABORTED`.\x20If\n\x20this\x20occurs,\x20the\x20a\
7867 pplication\x20should\x20restart\x20the\x20transaction\x20from\n\x20the\
7868 \x20beginning.\x20See\x20[Transaction][google.spanner.v1.Transaction]\
7869 \x20for\x20more\x20details.\n\n\x20Larger\x20result\x20sets\x20can\x20be\
7870 \x20yielded\x20in\x20streaming\x20fashion\x20by\x20calling\n\x20[Streami\
7871 ngRead][google.spanner.v1.Spanner.StreamingRead]\x20instead.\n\n\r\n\x05\
7872 \x06\0\x02\x08\x01\x12\x04\xb7\x01\x06\n\n\r\n\x05\x06\0\x02\x08\x02\x12\
7873 \x04\xb7\x01\x0b\x16\n\r\n\x05\x06\0\x02\x08\x03\x12\x04\xb7\x01!*\n\x0f\
7874 \n\x05\x06\0\x02\x08\x04\x12\x06\xb8\x01\x04\xbb\x01\x06\n\x13\n\t\x06\0\
7875 \x02\x08\x04\xb0\xca\xbc\"\x12\x06\xb8\x01\x04\xbb\x01\x06\n\xbf\x02\n\
7876 \x04\x06\0\x02\t\x12\x06\xc3\x01\x02\xc8\x01\x03\x1a\xae\x02\x20Like\x20\
7877 [Read][google.spanner.v1.Spanner.Read],\x20except\x20returns\x20the\x20r\
7878 esult\x20set\x20as\x20a\n\x20stream.\x20Unlike\x20[Read][google.spanner.\
7879 v1.Spanner.Read],\x20there\x20is\x20no\x20limit\x20on\x20the\n\x20size\
7880 \x20of\x20the\x20returned\x20result\x20set.\x20However,\x20no\x20individ\
7881 ual\x20row\x20in\n\x20the\x20result\x20set\x20can\x20exceed\x20100\x20Mi\
7882 B,\x20and\x20no\x20column\x20value\x20can\x20exceed\n\x2010\x20MiB.\n\n\
7883 \r\n\x05\x06\0\x02\t\x01\x12\x04\xc3\x01\x06\x13\n\r\n\x05\x06\0\x02\t\
7884 \x02\x12\x04\xc3\x01\x14\x1f\n\r\n\x05\x06\0\x02\t\x06\x12\x04\xc3\x01*0\
7885 \n\r\n\x05\x06\0\x02\t\x03\x12\x04\xc3\x011A\n\x0f\n\x05\x06\0\x02\t\x04\
7886 \x12\x06\xc4\x01\x04\xc7\x01\x06\n\x13\n\t\x06\0\x02\t\x04\xb0\xca\xbc\"\
7887 \x12\x06\xc4\x01\x04\xc7\x01\x06\n\x87\x02\n\x04\x06\0\x02\n\x12\x06\xce\
7888 \x01\x02\xd4\x01\x03\x1a\xf6\x01\x20Begins\x20a\x20new\x20transaction.\
7889 \x20This\x20step\x20can\x20often\x20be\x20skipped:\n\x20[Read][google.sp\
7890 anner.v1.Spanner.Read],\x20[ExecuteSql][google.spanner.v1.Spanner.Execut\
7891 eSql]\x20and\n\x20[Commit][google.spanner.v1.Spanner.Commit]\x20can\x20b\
7892 egin\x20a\x20new\x20transaction\x20as\x20a\n\x20side-effect.\n\n\r\n\x05\
7893 \x06\0\x02\n\x01\x12\x04\xce\x01\x06\x16\n\r\n\x05\x06\0\x02\n\x02\x12\
7894 \x04\xce\x01\x17.\n\r\n\x05\x06\0\x02\n\x03\x12\x04\xce\x019D\n\x0f\n\
7895 \x05\x06\0\x02\n\x04\x12\x06\xcf\x01\x04\xd2\x01\x06\n\x13\n\t\x06\0\x02\
7896 \n\x04\xb0\xca\xbc\"\x12\x06\xcf\x01\x04\xd2\x01\x06\n\r\n\x05\x06\0\x02\
7897 \n\x04\x12\x04\xd3\x01\x04=\n\x10\n\x08\x06\0\x02\n\x04\x9b\x08\0\x12\
7898 \x04\xd3\x01\x04=\n\x83\x06\n\x04\x06\0\x02\x0b\x12\x06\xe4\x01\x02\xeb\
7899 \x01\x03\x1a\xf2\x05\x20Commits\x20a\x20transaction.\x20The\x20request\
7900 \x20includes\x20the\x20mutations\x20to\x20be\n\x20applied\x20to\x20rows\
7901 \x20in\x20the\x20database.\n\n\x20`Commit`\x20might\x20return\x20an\x20`\
7902 ABORTED`\x20error.\x20This\x20can\x20occur\x20at\x20any\x20time;\n\x20co\
7903 mmonly,\x20the\x20cause\x20is\x20conflicts\x20with\x20concurrent\n\x20tr\
7904 ansactions.\x20However,\x20it\x20can\x20also\x20happen\x20for\x20a\x20va\
7905 riety\x20of\x20other\n\x20reasons.\x20If\x20`Commit`\x20returns\x20`ABOR\
7906 TED`,\x20the\x20caller\x20should\x20re-attempt\n\x20the\x20transaction\
7907 \x20from\x20the\x20beginning,\x20re-using\x20the\x20same\x20session.\n\n\
7908 \x20On\x20very\x20rare\x20occasions,\x20`Commit`\x20might\x20return\x20`\
7909 UNKNOWN`.\x20This\x20can\x20happen,\n\x20for\x20example,\x20if\x20the\
7910 \x20client\x20job\x20experiences\x20a\x201+\x20hour\x20networking\x20fai\
7911 lure.\n\x20At\x20that\x20point,\x20Cloud\x20Spanner\x20has\x20lost\x20tr\
7912 ack\x20of\x20the\x20transaction\x20outcome\x20and\n\x20we\x20recommend\
7913 \x20that\x20you\x20perform\x20another\x20read\x20from\x20the\x20database\
7914 \x20to\x20see\x20the\n\x20state\x20of\x20things\x20as\x20they\x20are\x20\
7915 now.\n\n\r\n\x05\x06\0\x02\x0b\x01\x12\x04\xe4\x01\x06\x0c\n\r\n\x05\x06\
7916 \0\x02\x0b\x02\x12\x04\xe4\x01\r\x1a\n\r\n\x05\x06\0\x02\x0b\x03\x12\x04\
7917 \xe4\x01%3\n\x0f\n\x05\x06\0\x02\x0b\x04\x12\x06\xe5\x01\x04\xe8\x01\x06\
7918 \n\x13\n\t\x06\0\x02\x0b\x04\xb0\xca\xbc\"\x12\x06\xe5\x01\x04\xe8\x01\
7919 \x06\n\r\n\x05\x06\0\x02\x0b\x04\x12\x04\xe9\x01\x04N\n\x10\n\x08\x06\0\
7920 \x02\x0b\x04\x9b\x08\0\x12\x04\xe9\x01\x04N\n\r\n\x05\x06\0\x02\x0b\x04\
7921 \x12\x04\xea\x01\x04V\n\x10\n\x08\x06\0\x02\x0b\x04\x9b\x08\x01\x12\x04\
7922 \xea\x01\x04V\n\xd7\x03\n\x04\x06\0\x02\x0c\x12\x06\xf5\x01\x02\xfb\x01\
7923 \x03\x1a\xc6\x03\x20Rolls\x20back\x20a\x20transaction,\x20releasing\x20a\
7924 ny\x20locks\x20it\x20holds.\x20It\x20is\x20a\x20good\n\x20idea\x20to\x20\
7925 call\x20this\x20for\x20any\x20transaction\x20that\x20includes\x20one\x20\
7926 or\x20more\n\x20[Read][google.spanner.v1.Spanner.Read]\x20or\x20[Execute\
7927 Sql][google.spanner.v1.Spanner.ExecuteSql]\x20requests\x20and\n\x20ultim\
7928 ately\x20decides\x20not\x20to\x20commit.\n\n\x20`Rollback`\x20returns\
7929 \x20`OK`\x20if\x20it\x20successfully\x20aborts\x20the\x20transaction,\
7930 \x20the\n\x20transaction\x20was\x20already\x20aborted,\x20or\x20the\x20t\
7931 ransaction\x20is\x20not\n\x20found.\x20`Rollback`\x20never\x20returns\
7932 \x20`ABORTED`.\n\n\r\n\x05\x06\0\x02\x0c\x01\x12\x04\xf5\x01\x06\x0e\n\r\
7933 \n\x05\x06\0\x02\x0c\x02\x12\x04\xf5\x01\x0f\x1e\n\r\n\x05\x06\0\x02\x0c\
7934 \x03\x12\x04\xf5\x01)>\n\x0f\n\x05\x06\0\x02\x0c\x04\x12\x06\xf6\x01\x04\
7935 \xf9\x01\x06\n\x13\n\t\x06\0\x02\x0c\x04\xb0\xca\xbc\"\x12\x06\xf6\x01\
7936 \x04\xf9\x01\x06\n\r\n\x05\x06\0\x02\x0c\x04\x12\x04\xfa\x01\x04D\n\x10\
7937 \n\x08\x06\0\x02\x0c\x04\x9b\x08\0\x12\x04\xfa\x01\x04D\n\xef\x05\n\x04\
7938 \x06\0\x02\r\x12\x06\x88\x02\x02\x8d\x02\x03\x1a\xde\x05\x20Creates\x20a\
7939 \x20set\x20of\x20partition\x20tokens\x20that\x20can\x20be\x20used\x20to\
7940 \x20execute\x20a\x20query\n\x20operation\x20in\x20parallel.\x20\x20Each\
7941 \x20of\x20the\x20returned\x20partition\x20tokens\x20can\x20be\x20used\n\
7942 \x20by\x20[ExecuteStreamingSql][google.spanner.v1.Spanner.ExecuteStreami\
7943 ngSql]\x20to\x20specify\x20a\x20subset\n\x20of\x20the\x20query\x20result\
7944 \x20to\x20read.\x20\x20The\x20same\x20session\x20and\x20read-only\x20tra\
7945 nsaction\n\x20must\x20be\x20used\x20by\x20the\x20PartitionQueryRequest\
7946 \x20used\x20to\x20create\x20the\n\x20partition\x20tokens\x20and\x20the\
7947 \x20ExecuteSqlRequests\x20that\x20use\x20the\x20partition\x20tokens.\n\n\
7948 \x20Partition\x20tokens\x20become\x20invalid\x20when\x20the\x20session\
7949 \x20used\x20to\x20create\x20them\n\x20is\x20deleted,\x20is\x20idle\x20fo\
7950 r\x20too\x20long,\x20begins\x20a\x20new\x20transaction,\x20or\x20becomes\
7951 \x20too\n\x20old.\x20\x20When\x20any\x20of\x20these\x20happen,\x20it\x20\
7952 is\x20not\x20possible\x20to\x20resume\x20the\x20query,\x20and\n\x20the\
7953 \x20whole\x20operation\x20must\x20be\x20restarted\x20from\x20the\x20begi\
7954 nning.\n\n\r\n\x05\x06\0\x02\r\x01\x12\x04\x88\x02\x06\x14\n\r\n\x05\x06\
7955 \0\x02\r\x02\x12\x04\x88\x02\x15*\n\r\n\x05\x06\0\x02\r\x03\x12\x04\x88\
7956 \x025F\n\x0f\n\x05\x06\0\x02\r\x04\x12\x06\x89\x02\x04\x8c\x02\x06\n\x13\
7957 \n\t\x06\0\x02\r\x04\xb0\xca\xbc\"\x12\x06\x89\x02\x04\x8c\x02\x06\n\x84\
7958 \x07\n\x04\x06\0\x02\x0e\x12\x06\x9c\x02\x02\xa1\x02\x03\x1a\xf3\x06\x20\
7959 Creates\x20a\x20set\x20of\x20partition\x20tokens\x20that\x20can\x20be\
7960 \x20used\x20to\x20execute\x20a\x20read\n\x20operation\x20in\x20parallel.\
7961 \x20\x20Each\x20of\x20the\x20returned\x20partition\x20tokens\x20can\x20b\
7962 e\x20used\n\x20by\x20[StreamingRead][google.spanner.v1.Spanner.Streaming\
7963 Read]\x20to\x20specify\x20a\x20subset\x20of\x20the\x20read\n\x20result\
7964 \x20to\x20read.\x20\x20The\x20same\x20session\x20and\x20read-only\x20tra\
7965 nsaction\x20must\x20be\x20used\x20by\n\x20the\x20PartitionReadRequest\
7966 \x20used\x20to\x20create\x20the\x20partition\x20tokens\x20and\x20the\n\
7967 \x20ReadRequests\x20that\x20use\x20the\x20partition\x20tokens.\x20\x20Th\
7968 ere\x20are\x20no\x20ordering\n\x20guarantees\x20on\x20rows\x20returned\
7969 \x20among\x20the\x20returned\x20partition\x20tokens,\x20or\x20even\n\x20\
7970 within\x20each\x20individual\x20StreamingRead\x20call\x20issued\x20with\
7971 \x20a\x20partition_token.\n\n\x20Partition\x20tokens\x20become\x20invali\
7972 d\x20when\x20the\x20session\x20used\x20to\x20create\x20them\n\x20is\x20d\
7973 eleted,\x20is\x20idle\x20for\x20too\x20long,\x20begins\x20a\x20new\x20tr\
7974 ansaction,\x20or\x20becomes\x20too\n\x20old.\x20\x20When\x20any\x20of\
7975 \x20these\x20happen,\x20it\x20is\x20not\x20possible\x20to\x20resume\x20t\
7976 he\x20read,\x20and\n\x20the\x20whole\x20operation\x20must\x20be\x20resta\
7977 rted\x20from\x20the\x20beginning.\n\n\r\n\x05\x06\0\x02\x0e\x01\x12\x04\
7978 \x9c\x02\x06\x13\n\r\n\x05\x06\0\x02\x0e\x02\x12\x04\x9c\x02\x14(\n\r\n\
7979 \x05\x06\0\x02\x0e\x03\x12\x04\x9c\x023D\n\x0f\n\x05\x06\0\x02\x0e\x04\
7980 \x12\x06\x9d\x02\x04\xa0\x02\x06\n\x13\n\t\x06\0\x02\x0e\x04\xb0\xca\xbc\
7981 \"\x12\x06\x9d\x02\x04\xa0\x02\x06\n\xcd\x07\n\x04\x06\0\x02\x0f\x12\x06\
7982 \xb2\x02\x02\xb8\x02\x03\x1a\xbc\x07\x20Batches\x20the\x20supplied\x20mu\
7983 tation\x20groups\x20in\x20a\x20collection\x20of\x20efficient\n\x20transa\
7984 ctions.\x20All\x20mutations\x20in\x20a\x20group\x20are\x20committed\x20a\
7985 tomically.\x20However,\n\x20mutations\x20across\x20groups\x20can\x20be\
7986 \x20committed\x20non-atomically\x20in\x20an\x20unspecified\n\x20order\
7987 \x20and\x20thus,\x20they\x20must\x20be\x20independent\x20of\x20each\x20o\
7988 ther.\x20Partial\x20failure\x20is\n\x20possible,\x20i.e.,\x20some\x20gro\
7989 ups\x20may\x20have\x20been\x20committed\x20successfully,\x20while\n\x20s\
7990 ome\x20may\x20have\x20failed.\x20The\x20results\x20of\x20individual\x20b\
7991 atches\x20are\x20streamed\x20into\n\x20the\x20response\x20as\x20the\x20b\
7992 atches\x20are\x20applied.\n\n\x20BatchWrite\x20requests\x20are\x20not\
7993 \x20replay\x20protected,\x20meaning\x20that\x20each\x20mutation\n\x20gro\
7994 up\x20may\x20be\x20applied\x20more\x20than\x20once.\x20Replays\x20of\x20\
7995 non-idempotent\x20mutations\n\x20may\x20have\x20undesirable\x20effects.\
7996 \x20For\x20example,\x20replays\x20of\x20an\x20insert\x20mutation\n\x20ma\
7997 y\x20produce\x20an\x20already\x20exists\x20error\x20or\x20if\x20you\x20u\
7998 se\x20generated\x20or\x20commit\n\x20timestamp-based\x20keys,\x20it\x20m\
7999 ay\x20result\x20in\x20additional\x20rows\x20being\x20added\x20to\x20the\
8000 \n\x20mutation's\x20table.\x20We\x20recommend\x20structuring\x20your\x20\
8001 mutation\x20groups\x20to\x20be\n\x20idempotent\x20to\x20avoid\x20this\
8002 \x20issue.\n\n\r\n\x05\x06\0\x02\x0f\x01\x12\x04\xb2\x02\x06\x10\n\r\n\
8003 \x05\x06\0\x02\x0f\x02\x12\x04\xb2\x02\x11\"\n\r\n\x05\x06\0\x02\x0f\x06\
8004 \x12\x04\xb2\x02-3\n\r\n\x05\x06\0\x02\x0f\x03\x12\x04\xb2\x024F\n\x0f\n\
8005 \x05\x06\0\x02\x0f\x04\x12\x06\xb3\x02\x04\xb6\x02\x06\n\x13\n\t\x06\0\
8006 \x02\x0f\x04\xb0\xca\xbc\"\x12\x06\xb3\x02\x04\xb6\x02\x06\n\r\n\x05\x06\
8007 \0\x02\x0f\x04\x12\x04\xb7\x02\x04E\n\x10\n\x08\x06\0\x02\x0f\x04\x9b\
8008 \x08\0\x12\x04\xb7\x02\x04E\nY\n\x02\x04\0\x12\x06\xbc\x02\0\xc7\x02\x01\
8009 \x1aK\x20The\x20request\x20for\x20[CreateSession][google.spanner.v1.Span\
8010 ner.CreateSession].\n\n\x0b\n\x03\x04\0\x01\x12\x04\xbc\x02\x08\x1c\nM\n\
8011 \x04\x04\0\x02\0\x12\x06\xbe\x02\x02\xc3\x02\x04\x1a=\x20Required.\x20Th\
8012 e\x20database\x20in\x20which\x20the\x20new\x20session\x20is\x20created.\
8013 \n\n\r\n\x05\x04\0\x02\0\x05\x12\x04\xbe\x02\x02\x08\n\r\n\x05\x04\0\x02\
8014 \0\x01\x12\x04\xbe\x02\t\x11\n\r\n\x05\x04\0\x02\0\x03\x12\x04\xbe\x02\
8015 \x14\x15\n\x0f\n\x05\x04\0\x02\0\x08\x12\x06\xbe\x02\x16\xc3\x02\x03\n\
8016 \x10\n\x08\x04\0\x02\0\x08\x9c\x08\0\x12\x04\xbf\x02\x04*\n\x11\n\x07\
8017 \x04\0\x02\0\x08\x9f\x08\x12\x06\xc0\x02\x04\xc2\x02\x05\n0\n\x04\x04\0\
8018 \x02\x01\x12\x04\xc6\x02\x02?\x1a\"\x20Required.\x20The\x20session\x20to\
8019 \x20create.\n\n\r\n\x05\x04\0\x02\x01\x06\x12\x04\xc6\x02\x02\t\n\r\n\
8020 \x05\x04\0\x02\x01\x01\x12\x04\xc6\x02\n\x11\n\r\n\x05\x04\0\x02\x01\x03\
8021 \x12\x04\xc6\x02\x14\x15\n\r\n\x05\x04\0\x02\x01\x08\x12\x04\xc6\x02\x16\
8022 >\n\x10\n\x08\x04\0\x02\x01\x08\x9c\x08\0\x12\x04\xc6\x02\x17=\ne\n\x02\
8023 \x04\x01\x12\x06\xca\x02\0\xdc\x02\x01\x1aW\x20The\x20request\x20for\x20\
8024 [BatchCreateSessions][google.spanner.v1.Spanner.BatchCreateSessions].\n\
8025 \n\x0b\n\x03\x04\x01\x01\x12\x04\xca\x02\x08\"\nO\n\x04\x04\x01\x02\0\
8026 \x12\x06\xcc\x02\x02\xd1\x02\x04\x1a?\x20Required.\x20The\x20database\
8027 \x20in\x20which\x20the\x20new\x20sessions\x20are\x20created.\n\n\r\n\x05\
8028 \x04\x01\x02\0\x05\x12\x04\xcc\x02\x02\x08\n\r\n\x05\x04\x01\x02\0\x01\
8029 \x12\x04\xcc\x02\t\x11\n\r\n\x05\x04\x01\x02\0\x03\x12\x04\xcc\x02\x14\
8030 \x15\n\x0f\n\x05\x04\x01\x02\0\x08\x12\x06\xcc\x02\x16\xd1\x02\x03\n\x10\
8031 \n\x08\x04\x01\x02\0\x08\x9c\x08\0\x12\x04\xcd\x02\x04*\n\x11\n\x07\x04\
8032 \x01\x02\0\x08\x9f\x08\x12\x06\xce\x02\x04\xd0\x02\x05\nA\n\x04\x04\x01\
8033 \x02\x01\x12\x04\xd4\x02\x02\x1f\x1a3\x20Parameters\x20to\x20be\x20appli\
8034 ed\x20to\x20each\x20created\x20session.\n\n\r\n\x05\x04\x01\x02\x01\x06\
8035 \x12\x04\xd4\x02\x02\t\n\r\n\x05\x04\x01\x02\x01\x01\x12\x04\xd4\x02\n\
8036 \x1a\n\r\n\x05\x04\x01\x02\x01\x03\x12\x04\xd4\x02\x1d\x1e\n\xe7\x02\n\
8037 \x04\x04\x01\x02\x02\x12\x04\xdb\x02\x02C\x1a\xd8\x02\x20Required.\x20Th\
8038 e\x20number\x20of\x20sessions\x20to\x20be\x20created\x20in\x20this\x20ba\
8039 tch\x20call.\n\x20The\x20API\x20may\x20return\x20fewer\x20than\x20the\
8040 \x20requested\x20number\x20of\x20sessions.\x20If\x20a\n\x20specific\x20n\
8041 umber\x20of\x20sessions\x20are\x20desired,\x20the\x20client\x20can\x20ma\
8042 ke\x20additional\n\x20calls\x20to\x20BatchCreateSessions\x20(adjusting\n\
8043 \x20[session_count][google.spanner.v1.BatchCreateSessionsRequest.session\
8044 _count]\x20as\x20necessary).\n\n\r\n\x05\x04\x01\x02\x02\x05\x12\x04\xdb\
8045 \x02\x02\x07\n\r\n\x05\x04\x01\x02\x02\x01\x12\x04\xdb\x02\x08\x15\n\r\n\
8046 \x05\x04\x01\x02\x02\x03\x12\x04\xdb\x02\x18\x19\n\r\n\x05\x04\x01\x02\
8047 \x02\x08\x12\x04\xdb\x02\x1aB\n\x10\n\x08\x04\x01\x02\x02\x08\x9c\x08\0\
8048 \x12\x04\xdb\x02\x1bA\nf\n\x02\x04\x02\x12\x06\xdf\x02\0\xe2\x02\x01\x1a\
8049 X\x20The\x20response\x20for\x20[BatchCreateSessions][google.spanner.v1.S\
8050 panner.BatchCreateSessions].\n\n\x0b\n\x03\x04\x02\x01\x12\x04\xdf\x02\
8051 \x08#\n-\n\x04\x04\x02\x02\0\x12\x04\xe1\x02\x02\x1f\x1a\x1f\x20The\x20f\
8052 reshly\x20created\x20sessions.\n\n\r\n\x05\x04\x02\x02\0\x04\x12\x04\xe1\
8053 \x02\x02\n\n\r\n\x05\x04\x02\x02\0\x06\x12\x04\xe1\x02\x0b\x12\n\r\n\x05\
8054 \x04\x02\x02\0\x01\x12\x04\xe1\x02\x13\x1a\n\r\n\x05\x04\x02\x02\0\x03\
8055 \x12\x04\xe1\x02\x1d\x1e\n3\n\x02\x04\x03\x12\x06\xe5\x02\0\x82\x03\x01\
8056 \x1a%\x20A\x20session\x20in\x20the\x20Cloud\x20Spanner\x20API.\n\n\x0b\n\
8057 \x03\x04\x03\x01\x12\x04\xe5\x02\x08\x0f\n\r\n\x03\x04\x03\x07\x12\x06\
8058 \xe6\x02\x02\xe9\x02\x04\n\x0f\n\x05\x04\x03\x07\x9d\x08\x12\x06\xe6\x02\
8059 \x02\xe9\x02\x04\nU\n\x04\x04\x03\x02\0\x12\x04\xec\x02\x02>\x1aG\x20Out\
8060 put\x20only.\x20The\x20name\x20of\x20the\x20session.\x20This\x20is\x20al\
8061 ways\x20system-assigned.\n\n\r\n\x05\x04\x03\x02\0\x05\x12\x04\xec\x02\
8062 \x02\x08\n\r\n\x05\x04\x03\x02\0\x01\x12\x04\xec\x02\t\r\n\r\n\x05\x04\
8063 \x03\x02\0\x03\x12\x04\xec\x02\x10\x11\n\r\n\x05\x04\x03\x02\0\x08\x12\
8064 \x04\xec\x02\x12=\n\x10\n\x08\x04\x03\x02\0\x08\x9c\x08\0\x12\x04\xec\
8065 \x02\x13<\n\xd6\x03\n\x04\x04\x03\x02\x01\x12\x04\xf7\x02\x02!\x1a\xc7\
8066 \x03\x20The\x20labels\x20for\x20the\x20session.\n\n\x20\x20*\x20Label\
8067 \x20keys\x20must\x20be\x20between\x201\x20and\x2063\x20characters\x20lon\
8068 g\x20and\x20must\x20conform\x20to\n\x20\x20\x20\x20the\x20following\x20r\
8069 egular\x20expression:\x20`[a-z]([-a-z0-9]*[a-z0-9])?`.\n\x20\x20*\x20Lab\
8070 el\x20values\x20must\x20be\x20between\x200\x20and\x2063\x20characters\
8071 \x20long\x20and\x20must\x20conform\n\x20\x20\x20\x20to\x20the\x20regular\
8072 \x20expression\x20`([a-z]([-a-z0-9]*[a-z0-9])?)?`.\n\x20\x20*\x20No\x20m\
8073 ore\x20than\x2064\x20labels\x20can\x20be\x20associated\x20with\x20a\x20g\
8074 iven\x20session.\n\n\x20See\x20https://goo.gl/xmQnxf\x20for\x20more\x20i\
8075 nformation\x20on\x20and\x20examples\x20of\x20labels.\n\n\r\n\x05\x04\x03\
8076 \x02\x01\x06\x12\x04\xf7\x02\x02\x15\n\r\n\x05\x04\x03\x02\x01\x01\x12\
8077 \x04\xf7\x02\x16\x1c\n\r\n\x05\x04\x03\x02\x01\x03\x12\x04\xf7\x02\x1f\
8078 \x20\nG\n\x04\x04\x03\x02\x02\x12\x04\xfa\x02\x02X\x1a9\x20Output\x20onl\
8079 y.\x20The\x20timestamp\x20when\x20the\x20session\x20is\x20created.\n\n\r\
8080 \n\x05\x04\x03\x02\x02\x06\x12\x04\xfa\x02\x02\x1b\n\r\n\x05\x04\x03\x02\
8081 \x02\x01\x12\x04\xfa\x02\x1c'\n\r\n\x05\x04\x03\x02\x02\x03\x12\x04\xfa\
8082 \x02*+\n\r\n\x05\x04\x03\x02\x02\x08\x12\x04\xfa\x02,W\n\x10\n\x08\x04\
8083 \x03\x02\x02\x08\x9c\x08\0\x12\x04\xfa\x02-V\n\x8d\x01\n\x04\x04\x03\x02\
8084 \x03\x12\x04\xfe\x02\x02f\x1a\x7f\x20Output\x20only.\x20The\x20approxima\
8085 te\x20timestamp\x20when\x20the\x20session\x20is\x20last\x20used.\x20It\
8086 \x20is\n\x20typically\x20earlier\x20than\x20the\x20actual\x20last\x20use\
8087 \x20time.\n\n\r\n\x05\x04\x03\x02\x03\x06\x12\x04\xfe\x02\x02\x1b\n\r\n\
8088 \x05\x04\x03\x02\x03\x01\x12\x04\xfe\x02\x1c5\n\r\n\x05\x04\x03\x02\x03\
8089 \x03\x12\x04\xfe\x0289\n\r\n\x05\x04\x03\x02\x03\x08\x12\x04\xfe\x02:e\n\
8090 \x10\n\x08\x04\x03\x02\x03\x08\x9c\x08\0\x12\x04\xfe\x02;d\n=\n\x04\x04\
8091 \x03\x02\x04\x12\x04\x81\x03\x02\x1a\x1a/\x20The\x20database\x20role\x20\
8092 which\x20created\x20this\x20session.\n\n\r\n\x05\x04\x03\x02\x04\x05\x12\
8093 \x04\x81\x03\x02\x08\n\r\n\x05\x04\x03\x02\x04\x01\x12\x04\x81\x03\t\x15\
8094 \n\r\n\x05\x04\x03\x02\x04\x03\x12\x04\x81\x03\x18\x19\nS\n\x02\x04\x04\
8095 \x12\x06\x85\x03\0\x8d\x03\x01\x1aE\x20The\x20request\x20for\x20[GetSess\
8096 ion][google.spanner.v1.Spanner.GetSession].\n\n\x0b\n\x03\x04\x04\x01\
8097 \x12\x04\x85\x03\x08\x19\n@\n\x04\x04\x04\x02\0\x12\x06\x87\x03\x02\x8c\
8098 \x03\x04\x1a0\x20Required.\x20The\x20name\x20of\x20the\x20session\x20to\
8099 \x20retrieve.\n\n\r\n\x05\x04\x04\x02\0\x05\x12\x04\x87\x03\x02\x08\n\r\
8100 \n\x05\x04\x04\x02\0\x01\x12\x04\x87\x03\t\r\n\r\n\x05\x04\x04\x02\0\x03\
8101 \x12\x04\x87\x03\x10\x11\n\x0f\n\x05\x04\x04\x02\0\x08\x12\x06\x87\x03\
8102 \x12\x8c\x03\x03\n\x10\n\x08\x04\x04\x02\0\x08\x9c\x08\0\x12\x04\x88\x03\
8103 \x04*\n\x11\n\x07\x04\x04\x02\0\x08\x9f\x08\x12\x06\x89\x03\x04\x8b\x03\
8104 \x05\nW\n\x02\x04\x05\x12\x06\x90\x03\0\xad\x03\x01\x1aI\x20The\x20reque\
8105 st\x20for\x20[ListSessions][google.spanner.v1.Spanner.ListSessions].\n\n\
8106 \x0b\n\x03\x04\x05\x01\x12\x04\x90\x03\x08\x1b\nC\n\x04\x04\x05\x02\0\
8107 \x12\x06\x92\x03\x02\x97\x03\x04\x1a3\x20Required.\x20The\x20database\
8108 \x20in\x20which\x20to\x20list\x20sessions.\n\n\r\n\x05\x04\x05\x02\0\x05\
8109 \x12\x04\x92\x03\x02\x08\n\r\n\x05\x04\x05\x02\0\x01\x12\x04\x92\x03\t\
8110 \x11\n\r\n\x05\x04\x05\x02\0\x03\x12\x04\x92\x03\x14\x15\n\x0f\n\x05\x04\
8111 \x05\x02\0\x08\x12\x06\x92\x03\x16\x97\x03\x03\n\x10\n\x08\x04\x05\x02\0\
8112 \x08\x9c\x08\0\x12\x04\x93\x03\x04*\n\x11\n\x07\x04\x05\x02\0\x08\x9f\
8113 \x08\x12\x06\x94\x03\x04\x96\x03\x05\n\x85\x01\n\x04\x04\x05\x02\x01\x12\
8114 \x04\x9b\x03\x02\x16\x1aw\x20Number\x20of\x20sessions\x20to\x20be\x20ret\
8115 urned\x20in\x20the\x20response.\x20If\x200\x20or\x20less,\x20defaults\n\
8116 \x20to\x20the\x20server's\x20maximum\x20allowed\x20page\x20size.\n\n\r\n\
8117 \x05\x04\x05\x02\x01\x05\x12\x04\x9b\x03\x02\x07\n\r\n\x05\x04\x05\x02\
8118 \x01\x01\x12\x04\x9b\x03\x08\x11\n\r\n\x05\x04\x05\x02\x01\x03\x12\x04\
8119 \x9b\x03\x14\x15\n\xd8\x01\n\x04\x04\x05\x02\x02\x12\x04\xa0\x03\x02\x18\
8120 \x1a\xc9\x01\x20If\x20non-empty,\x20`page_token`\x20should\x20contain\
8121 \x20a\n\x20[next_page_token][google.spanner.v1.ListSessionsResponse.next\
8122 _page_token]\x20from\x20a\x20previous\n\x20[ListSessionsResponse][google\
8123 .spanner.v1.ListSessionsResponse].\n\n\r\n\x05\x04\x05\x02\x02\x05\x12\
8124 \x04\xa0\x03\x02\x08\n\r\n\x05\x04\x05\x02\x02\x01\x12\x04\xa0\x03\t\x13\
8125 \n\r\n\x05\x04\x05\x02\x02\x03\x12\x04\xa0\x03\x16\x17\n\xaf\x03\n\x04\
8126 \x04\x05\x02\x03\x12\x04\xac\x03\x02\x14\x1a\xa0\x03\x20An\x20expression\
8127 \x20for\x20filtering\x20the\x20results\x20of\x20the\x20request.\x20Filte\
8128 r\x20rules\x20are\n\x20case\x20insensitive.\x20The\x20fields\x20eligible\
8129 \x20for\x20filtering\x20are:\n\n\x20\x20\x20*\x20`labels.key`\x20where\
8130 \x20key\x20is\x20the\x20name\x20of\x20a\x20label\n\n\x20Some\x20examples\
8131 \x20of\x20using\x20filters\x20are:\n\n\x20\x20\x20*\x20`labels.env:*`\
8132 \x20-->\x20The\x20session\x20has\x20the\x20label\x20\"env\".\n\x20\x20\
8133 \x20*\x20`labels.env:dev`\x20-->\x20The\x20session\x20has\x20the\x20labe\
8134 l\x20\"env\"\x20and\x20the\x20value\x20of\n\x20\x20\x20\x20\x20\x20\x20\
8135 \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20the\
8136 \x20label\x20contains\x20the\x20string\x20\"dev\".\n\n\r\n\x05\x04\x05\
8137 \x02\x03\x05\x12\x04\xac\x03\x02\x08\n\r\n\x05\x04\x05\x02\x03\x01\x12\
8138 \x04\xac\x03\t\x0f\n\r\n\x05\x04\x05\x02\x03\x03\x12\x04\xac\x03\x12\x13\
8139 \nX\n\x02\x04\x06\x12\x06\xb0\x03\0\xb8\x03\x01\x1aJ\x20The\x20response\
8140 \x20for\x20[ListSessions][google.spanner.v1.Spanner.ListSessions].\n\n\
8141 \x0b\n\x03\x04\x06\x01\x12\x04\xb0\x03\x08\x1c\n/\n\x04\x04\x06\x02\0\
8142 \x12\x04\xb2\x03\x02\x20\x1a!\x20The\x20list\x20of\x20requested\x20sessi\
8143 ons.\n\n\r\n\x05\x04\x06\x02\0\x04\x12\x04\xb2\x03\x02\n\n\r\n\x05\x04\
8144 \x06\x02\0\x06\x12\x04\xb2\x03\x0b\x12\n\r\n\x05\x04\x06\x02\0\x01\x12\
8145 \x04\xb2\x03\x13\x1b\n\r\n\x05\x04\x06\x02\0\x03\x12\x04\xb2\x03\x1e\x1f\
8146 \n\xa4\x01\n\x04\x04\x06\x02\x01\x12\x04\xb7\x03\x02\x1d\x1a\x95\x01\x20\
8147 `next_page_token`\x20can\x20be\x20sent\x20in\x20a\x20subsequent\n\x20[Li\
8148 stSessions][google.spanner.v1.Spanner.ListSessions]\x20call\x20to\x20fet\
8149 ch\x20more\x20of\x20the\x20matching\n\x20sessions.\n\n\r\n\x05\x04\x06\
8150 \x02\x01\x05\x12\x04\xb7\x03\x02\x08\n\r\n\x05\x04\x06\x02\x01\x01\x12\
8151 \x04\xb7\x03\t\x18\n\r\n\x05\x04\x06\x02\x01\x03\x12\x04\xb7\x03\x1b\x1c\
8152 \nY\n\x02\x04\x07\x12\x06\xbb\x03\0\xc3\x03\x01\x1aK\x20The\x20request\
8153 \x20for\x20[DeleteSession][google.spanner.v1.Spanner.DeleteSession].\n\n\
8154 \x0b\n\x03\x04\x07\x01\x12\x04\xbb\x03\x08\x1c\n>\n\x04\x04\x07\x02\0\
8155 \x12\x06\xbd\x03\x02\xc2\x03\x04\x1a.\x20Required.\x20The\x20name\x20of\
8156 \x20the\x20session\x20to\x20delete.\n\n\r\n\x05\x04\x07\x02\0\x05\x12\
8157 \x04\xbd\x03\x02\x08\n\r\n\x05\x04\x07\x02\0\x01\x12\x04\xbd\x03\t\r\n\r\
8158 \n\x05\x04\x07\x02\0\x03\x12\x04\xbd\x03\x10\x11\n\x0f\n\x05\x04\x07\x02\
8159 \0\x08\x12\x06\xbd\x03\x12\xc2\x03\x03\n\x10\n\x08\x04\x07\x02\0\x08\x9c\
8160 \x08\0\x12\x04\xbe\x03\x04*\n\x11\n\x07\x04\x07\x02\0\x08\x9f\x08\x12\
8161 \x06\xbf\x03\x04\xc1\x03\x05\n8\n\x02\x04\x08\x12\x06\xc6\x03\0\x80\x04\
8162 \x01\x1a*\x20Common\x20request\x20options\x20for\x20various\x20APIs.\n\n\
8163 \x0b\n\x03\x04\x08\x01\x12\x04\xc6\x03\x08\x16\n\x83\x07\n\x04\x04\x08\
8164 \x04\0\x12\x06\xd7\x03\x02\xe3\x03\x03\x1a\xf2\x06\x20The\x20relative\
8165 \x20priority\x20for\x20requests.\x20Note\x20that\x20priority\x20is\x20no\
8166 t\x20applicable\n\x20for\x20[BeginTransaction][google.spanner.v1.Spanner\
8167 .BeginTransaction].\n\n\x20The\x20priority\x20acts\x20as\x20a\x20hint\
8168 \x20to\x20the\x20Cloud\x20Spanner\x20scheduler\x20and\x20does\x20not\n\
8169 \x20guarantee\x20priority\x20or\x20order\x20of\x20execution.\x20For\x20e\
8170 xample:\n\n\x20*\x20Some\x20parts\x20of\x20a\x20write\x20operation\x20al\
8171 ways\x20execute\x20at\x20`PRIORITY_HIGH`,\n\x20\x20\x20regardless\x20of\
8172 \x20the\x20specified\x20priority.\x20This\x20may\x20cause\x20you\x20to\
8173 \x20see\x20an\n\x20\x20\x20increase\x20in\x20high\x20priority\x20workloa\
8174 d\x20even\x20when\x20executing\x20a\x20low\x20priority\n\x20\x20\x20requ\
8175 est.\x20This\x20can\x20also\x20potentially\x20cause\x20a\x20priority\x20\
8176 inversion\x20where\x20a\n\x20\x20\x20lower\x20priority\x20request\x20wil\
8177 l\x20be\x20fulfilled\x20ahead\x20of\x20a\x20higher\x20priority\n\x20\x20\
8178 \x20request.\n\x20*\x20If\x20a\x20transaction\x20contains\x20multiple\
8179 \x20operations\x20with\x20different\x20priorities,\n\x20\x20\x20Cloud\
8180 \x20Spanner\x20does\x20not\x20guarantee\x20to\x20process\x20the\x20highe\
8181 r\x20priority\n\x20\x20\x20operations\x20first.\x20There\x20may\x20be\
8182 \x20other\x20constraints\x20to\x20satisfy,\x20such\x20as\n\x20\x20\x20or\
8183 der\x20of\x20operations.\n\n\r\n\x05\x04\x08\x04\0\x01\x12\x04\xd7\x03\
8184 \x07\x0f\nJ\n\x06\x04\x08\x04\0\x02\0\x12\x04\xd9\x03\x04\x1d\x1a:\x20`P\
8185 RIORITY_UNSPECIFIED`\x20is\x20equivalent\x20to\x20`PRIORITY_HIGH`.\n\n\
8186 \x0f\n\x07\x04\x08\x04\0\x02\0\x01\x12\x04\xd9\x03\x04\x18\n\x0f\n\x07\
8187 \x04\x08\x04\0\x02\0\x02\x12\x04\xd9\x03\x1b\x1c\nB\n\x06\x04\x08\x04\0\
8188 \x02\x01\x12\x04\xdc\x03\x04\x15\x1a2\x20This\x20specifies\x20that\x20th\
8189 e\x20request\x20is\x20low\x20priority.\n\n\x0f\n\x07\x04\x08\x04\0\x02\
8190 \x01\x01\x12\x04\xdc\x03\x04\x10\n\x0f\n\x07\x04\x08\x04\0\x02\x01\x02\
8191 \x12\x04\xdc\x03\x13\x14\nE\n\x06\x04\x08\x04\0\x02\x02\x12\x04\xdf\x03\
8192 \x04\x18\x1a5\x20This\x20specifies\x20that\x20the\x20request\x20is\x20me\
8193 dium\x20priority.\n\n\x0f\n\x07\x04\x08\x04\0\x02\x02\x01\x12\x04\xdf\
8194 \x03\x04\x13\n\x0f\n\x07\x04\x08\x04\0\x02\x02\x02\x12\x04\xdf\x03\x16\
8195 \x17\nC\n\x06\x04\x08\x04\0\x02\x03\x12\x04\xe2\x03\x04\x16\x1a3\x20This\
8196 \x20specifies\x20that\x20the\x20request\x20is\x20high\x20priority.\n\n\
8197 \x0f\n\x07\x04\x08\x04\0\x02\x03\x01\x12\x04\xe2\x03\x04\x11\n\x0f\n\x07\
8198 \x04\x08\x04\0\x02\x03\x02\x12\x04\xe2\x03\x14\x15\n)\n\x04\x04\x08\x02\
8199 \0\x12\x04\xe6\x03\x02\x18\x1a\x1b\x20Priority\x20for\x20the\x20request.\
8200 \n\n\r\n\x05\x04\x08\x02\0\x06\x12\x04\xe6\x03\x02\n\n\r\n\x05\x04\x08\
8201 \x02\0\x01\x12\x04\xe6\x03\x0b\x13\n\r\n\x05\x04\x08\x02\0\x03\x12\x04\
8202 \xe6\x03\x16\x17\n\xba\x04\n\x04\x04\x08\x02\x01\x12\x04\xf2\x03\x02\x19\
8203 \x1a\xab\x04\x20A\x20per-request\x20tag\x20which\x20can\x20be\x20applied\
8204 \x20to\x20queries\x20or\x20reads,\x20used\x20for\n\x20statistics\x20coll\
8205 ection.\n\x20Both\x20request_tag\x20and\x20transaction_tag\x20can\x20be\
8206 \x20specified\x20for\x20a\x20read\x20or\x20query\n\x20that\x20belongs\
8207 \x20to\x20a\x20transaction.\n\x20This\x20field\x20is\x20ignored\x20for\
8208 \x20requests\x20where\x20it's\x20not\x20applicable\x20(e.g.\n\x20CommitR\
8209 equest).\n\x20Legal\x20characters\x20for\x20`request_tag`\x20values\x20a\
8210 re\x20all\x20printable\x20characters\n\x20(ASCII\x2032\x20-\x20126)\x20a\
8211 nd\x20the\x20length\x20of\x20a\x20request_tag\x20is\x20limited\x20to\x20\
8212 50\n\x20characters.\x20Values\x20that\x20exceed\x20this\x20limit\x20are\
8213 \x20truncated.\n\x20Any\x20leading\x20underscore\x20(_)\x20characters\
8214 \x20will\x20be\x20removed\x20from\x20the\x20string.\n\n\r\n\x05\x04\x08\
8215 \x02\x01\x05\x12\x04\xf2\x03\x02\x08\n\r\n\x05\x04\x08\x02\x01\x01\x12\
8216 \x04\xf2\x03\t\x14\n\r\n\x05\x04\x08\x02\x01\x03\x12\x04\xf2\x03\x17\x18\
8217 \n\x89\x05\n\x04\x04\x08\x02\x02\x12\x04\xff\x03\x02\x1d\x1a\xfa\x04\x20\
8218 A\x20tag\x20used\x20for\x20statistics\x20collection\x20about\x20this\x20\
8219 transaction.\n\x20Both\x20request_tag\x20and\x20transaction_tag\x20can\
8220 \x20be\x20specified\x20for\x20a\x20read\x20or\x20query\n\x20that\x20belo\
8221 ngs\x20to\x20a\x20transaction.\n\x20The\x20value\x20of\x20transaction_ta\
8222 g\x20should\x20be\x20the\x20same\x20for\x20all\x20requests\x20belonging\
8223 \n\x20to\x20the\x20same\x20transaction.\n\x20If\x20this\x20request\x20do\
8224 esn't\x20belong\x20to\x20any\x20transaction,\x20transaction_tag\x20will\
8225 \x20be\n\x20ignored.\n\x20Legal\x20characters\x20for\x20`transaction_tag\
8226 `\x20values\x20are\x20all\x20printable\x20characters\n\x20(ASCII\x2032\
8227 \x20-\x20126)\x20and\x20the\x20length\x20of\x20a\x20transaction_tag\x20i\
8228 s\x20limited\x20to\x2050\n\x20characters.\x20Values\x20that\x20exceed\
8229 \x20this\x20limit\x20are\x20truncated.\n\x20Any\x20leading\x20underscore\
8230 \x20(_)\x20characters\x20will\x20be\x20removed\x20from\x20the\x20string.\
8231 \n\n\r\n\x05\x04\x08\x02\x02\x05\x12\x04\xff\x03\x02\x08\n\r\n\x05\x04\
8232 \x08\x02\x02\x01\x12\x04\xff\x03\t\x18\n\r\n\x05\x04\x08\x02\x02\x03\x12\
8233 \x04\xff\x03\x1b\x1c\n\x9e\x01\n\x02\x04\t\x12\x06\x84\x04\0\xa3\x05\x01\
8234 \x1a\x8f\x01\x20The\x20request\x20for\x20[ExecuteSql][google.spanner.v1.\
8235 Spanner.ExecuteSql]\x20and\n\x20[ExecuteStreamingSql][google.spanner.v1.\
8236 Spanner.ExecuteStreamingSql].\n\n\x0b\n\x03\x04\t\x01\x12\x04\x84\x04\
8237 \x08\x19\n@\n\x04\x04\t\x04\0\x12\x06\x86\x04\x02\x91\x04\x03\x1a0\x20Mo\
8238 de\x20in\x20which\x20the\x20statement\x20must\x20be\x20processed.\n\n\r\
8239 \n\x05\x04\t\x04\0\x01\x12\x04\x86\x04\x07\x10\nL\n\x06\x04\t\x04\0\x02\
8240 \0\x12\x04\x88\x04\x04\x0f\x1a<\x20The\x20default\x20mode.\x20Only\x20th\
8241 e\x20statement\x20results\x20are\x20returned.\n\n\x0f\n\x07\x04\t\x04\0\
8242 \x02\0\x01\x12\x04\x88\x04\x04\n\n\x0f\n\x07\x04\t\x04\0\x02\0\x02\x12\
8243 \x04\x88\x04\r\x0e\nr\n\x06\x04\t\x04\0\x02\x01\x12\x04\x8c\x04\x04\r\
8244 \x1ab\x20This\x20mode\x20returns\x20only\x20the\x20query\x20plan,\x20wit\
8245 hout\x20any\x20results\x20or\n\x20execution\x20statistics\x20information\
8246 .\n\n\x0f\n\x07\x04\t\x04\0\x02\x01\x01\x12\x04\x8c\x04\x04\x08\n\x0f\n\
8247 \x07\x04\t\x04\0\x02\x01\x02\x12\x04\x8c\x04\x0b\x0c\nm\n\x06\x04\t\x04\
8248 \0\x02\x02\x12\x04\x90\x04\x04\x10\x1a]\x20This\x20mode\x20returns\x20bo\
8249 th\x20the\x20query\x20plan\x20and\x20the\x20execution\x20statistics\x20a\
8250 long\n\x20with\x20the\x20results.\n\n\x0f\n\x07\x04\t\x04\0\x02\x02\x01\
8251 \x12\x04\x90\x04\x04\x0b\n\x0f\n\x07\x04\t\x04\0\x02\x02\x02\x12\x04\x90\
8252 \x04\x0e\x0f\n0\n\x04\x04\t\x03\0\x12\x06\x94\x04\x02\xc6\x04\x03\x1a\
8253 \x20\x20Query\x20optimizer\x20configuration.\n\n\r\n\x05\x04\t\x03\0\x01\
8254 \x12\x04\x94\x04\n\x16\n\xa2\x07\n\x06\x04\t\x03\0\x02\0\x12\x04\xab\x04\
8255 \x04!\x1a\x91\x07\x20An\x20option\x20to\x20control\x20the\x20selection\
8256 \x20of\x20optimizer\x20version.\n\n\x20This\x20parameter\x20allows\x20in\
8257 dividual\x20queries\x20to\x20pick\x20different\x20query\n\x20optimizer\
8258 \x20versions.\n\n\x20Specifying\x20`latest`\x20as\x20a\x20value\x20instr\
8259 ucts\x20Cloud\x20Spanner\x20to\x20use\x20the\n\x20latest\x20supported\
8260 \x20query\x20optimizer\x20version.\x20If\x20not\x20specified,\x20Cloud\
8261 \x20Spanner\n\x20uses\x20the\x20optimizer\x20version\x20set\x20at\x20the\
8262 \x20database\x20level\x20options.\x20Any\x20other\n\x20positive\x20integ\
8263 er\x20(from\x20the\x20list\x20of\x20supported\x20optimizer\x20versions)\
8264 \n\x20overrides\x20the\x20default\x20optimizer\x20version\x20for\x20quer\
8265 y\x20execution.\n\n\x20The\x20list\x20of\x20supported\x20optimizer\x20ve\
8266 rsions\x20can\x20be\x20queried\x20from\n\x20SPANNER_SYS.SUPPORTED_OPTIMI\
8267 ZER_VERSIONS.\n\n\x20Executing\x20a\x20SQL\x20statement\x20with\x20an\
8268 \x20invalid\x20optimizer\x20version\x20fails\x20with\n\x20an\x20`INVALID\
8269 _ARGUMENT`\x20error.\n\n\x20See\n\x20https://cloud.google.com/spanner/do\
8270 cs/query-optimizer/manage-query-optimizer\n\x20for\x20more\x20informatio\
8271 n\x20on\x20managing\x20the\x20query\x20optimizer.\n\n\x20The\x20`optimiz\
8272 er_version`\x20statement\x20hint\x20has\x20precedence\x20over\x20this\
8273 \x20setting.\n\n\x0f\n\x07\x04\t\x03\0\x02\0\x05\x12\x04\xab\x04\x04\n\n\
8274 \x0f\n\x07\x04\t\x03\0\x02\0\x01\x12\x04\xab\x04\x0b\x1c\n\x0f\n\x07\x04\
8275 \t\x03\0\x02\0\x03\x12\x04\xab\x04\x1f\x20\n\xb2\x07\n\x06\x04\t\x03\0\
8276 \x02\x01\x12\x04\xc5\x04\x04,\x1a\xa1\x07\x20An\x20option\x20to\x20contr\
8277 ol\x20the\x20selection\x20of\x20optimizer\x20statistics\x20package.\n\n\
8278 \x20This\x20parameter\x20allows\x20individual\x20queries\x20to\x20use\
8279 \x20a\x20different\x20query\n\x20optimizer\x20statistics\x20package.\n\n\
8280 \x20Specifying\x20`latest`\x20as\x20a\x20value\x20instructs\x20Cloud\x20\
8281 Spanner\x20to\x20use\x20the\x20latest\n\x20generated\x20statistics\x20pa\
8282 ckage.\x20If\x20not\x20specified,\x20Cloud\x20Spanner\x20uses\n\x20the\
8283 \x20statistics\x20package\x20set\x20at\x20the\x20database\x20level\x20op\
8284 tions,\x20or\x20the\x20latest\n\x20package\x20if\x20the\x20database\x20o\
8285 ption\x20is\x20not\x20set.\n\n\x20The\x20statistics\x20package\x20reques\
8286 ted\x20by\x20the\x20query\x20has\x20to\x20be\x20exempt\x20from\n\x20garb\
8287 age\x20collection.\x20This\x20can\x20be\x20achieved\x20with\x20the\x20fo\
8288 llowing\x20DDL\n\x20statement:\n\n\x20```\n\x20ALTER\x20STATISTICS\x20<p\
8289 ackage_name>\x20SET\x20OPTIONS\x20(allow_gc=false)\n\x20```\n\n\x20The\
8290 \x20list\x20of\x20available\x20statistics\x20packages\x20can\x20be\x20qu\
8291 eried\x20from\n\x20`INFORMATION_SCHEMA.SPANNER_STATISTICS`.\n\n\x20Execu\
8292 ting\x20a\x20SQL\x20statement\x20with\x20an\x20invalid\x20optimizer\x20s\
8293 tatistics\x20package\n\x20or\x20with\x20a\x20statistics\x20package\x20th\
8294 at\x20allows\x20garbage\x20collection\x20fails\x20with\n\x20an\x20`INVAL\
8295 ID_ARGUMENT`\x20error.\n\n\x0f\n\x07\x04\t\x03\0\x02\x01\x05\x12\x04\xc5\
8296 \x04\x04\n\n\x0f\n\x07\x04\t\x03\0\x02\x01\x01\x12\x04\xc5\x04\x0b'\n\
8297 \x0f\n\x07\x04\t\x03\0\x02\x01\x03\x12\x04\xc5\x04*+\nS\n\x04\x04\t\x02\
8298 \0\x12\x06\xc9\x04\x02\xce\x04\x04\x1aC\x20Required.\x20The\x20session\
8299 \x20in\x20which\x20the\x20SQL\x20query\x20should\x20be\x20performed.\n\n\
8300 \r\n\x05\x04\t\x02\0\x05\x12\x04\xc9\x04\x02\x08\n\r\n\x05\x04\t\x02\0\
8301 \x01\x12\x04\xc9\x04\t\x10\n\r\n\x05\x04\t\x02\0\x03\x12\x04\xc9\x04\x13\
8302 \x14\n\x0f\n\x05\x04\t\x02\0\x08\x12\x06\xc9\x04\x15\xce\x04\x03\n\x10\n\
8303 \x08\x04\t\x02\0\x08\x9c\x08\0\x12\x04\xca\x04\x04*\n\x11\n\x07\x04\t\
8304 \x02\0\x08\x9f\x08\x12\x06\xcb\x04\x04\xcd\x04\x05\n\xb9\x03\n\x04\x04\t\
8305 \x02\x01\x12\x04\xda\x04\x02&\x1a\xaa\x03\x20The\x20transaction\x20to\
8306 \x20use.\n\n\x20For\x20queries,\x20if\x20none\x20is\x20provided,\x20the\
8307 \x20default\x20is\x20a\x20temporary\x20read-only\n\x20transaction\x20wit\
8308 h\x20strong\x20concurrency.\n\n\x20Standard\x20DML\x20statements\x20requ\
8309 ire\x20a\x20read-write\x20transaction.\x20To\x20protect\n\x20against\x20\
8310 replays,\x20single-use\x20transactions\x20are\x20not\x20supported.\x20\
8311 \x20The\x20caller\n\x20must\x20either\x20supply\x20an\x20existing\x20tra\
8312 nsaction\x20ID\x20or\x20begin\x20a\x20new\x20transaction.\n\n\x20Partiti\
8313 oned\x20DML\x20requires\x20an\x20existing\x20Partitioned\x20DML\x20trans\
8314 action\x20ID.\n\n\r\n\x05\x04\t\x02\x01\x06\x12\x04\xda\x04\x02\x15\n\r\
8315 \n\x05\x04\t\x02\x01\x01\x12\x04\xda\x04\x16!\n\r\n\x05\x04\t\x02\x01\
8316 \x03\x12\x04\xda\x04$%\n)\n\x04\x04\t\x02\x02\x12\x04\xdd\x04\x02:\x1a\
8317 \x1b\x20Required.\x20The\x20SQL\x20string.\n\n\r\n\x05\x04\t\x02\x02\x05\
8318 \x12\x04\xdd\x04\x02\x08\n\r\n\x05\x04\t\x02\x02\x01\x12\x04\xdd\x04\t\
8319 \x0c\n\r\n\x05\x04\t\x02\x02\x03\x12\x04\xdd\x04\x0f\x10\n\r\n\x05\x04\t\
8320 \x02\x02\x08\x12\x04\xdd\x04\x119\n\x10\n\x08\x04\t\x02\x02\x08\x9c\x08\
8321 \0\x12\x04\xdd\x04\x128\n\xdc\x04\n\x04\x04\t\x02\x03\x12\x04\xec\x04\
8322 \x02$\x1a\xcd\x04\x20Parameter\x20names\x20and\x20values\x20that\x20bind\
8323 \x20to\x20placeholders\x20in\x20the\x20SQL\x20string.\n\n\x20A\x20parame\
8324 ter\x20placeholder\x20consists\x20of\x20the\x20`@`\x20character\x20follo\
8325 wed\x20by\x20the\n\x20parameter\x20name\x20(for\x20example,\x20`@firstNa\
8326 me`).\x20Parameter\x20names\x20must\x20conform\n\x20to\x20the\x20naming\
8327 \x20requirements\x20of\x20identifiers\x20as\x20specified\x20at\n\x20http\
8328 s://cloud.google.com/spanner/docs/lexical#identifiers.\n\n\x20Parameters\
8329 \x20can\x20appear\x20anywhere\x20that\x20a\x20literal\x20value\x20is\x20\
8330 expected.\x20\x20The\x20same\n\x20parameter\x20name\x20can\x20be\x20used\
8331 \x20more\x20than\x20once,\x20for\x20example:\n\n\x20`\"WHERE\x20id\x20>\
8332 \x20@msg_id\x20AND\x20id\x20<\x20@msg_id\x20+\x20100\"`\n\n\x20It\x20is\
8333 \x20an\x20error\x20to\x20execute\x20a\x20SQL\x20statement\x20with\x20unb\
8334 ound\x20parameters.\n\n\r\n\x05\x04\t\x02\x03\x06\x12\x04\xec\x04\x02\
8335 \x18\n\r\n\x05\x04\t\x02\x03\x01\x12\x04\xec\x04\x19\x1f\n\r\n\x05\x04\t\
8336 \x02\x03\x03\x12\x04\xec\x04\"#\n\xdc\x03\n\x04\x04\t\x02\x04\x12\x04\
8337 \xf6\x04\x02$\x1a\xcd\x03\x20It\x20is\x20not\x20always\x20possible\x20fo\
8338 r\x20Cloud\x20Spanner\x20to\x20infer\x20the\x20right\x20SQL\x20type\n\
8339 \x20from\x20a\x20JSON\x20value.\x20\x20For\x20example,\x20values\x20of\
8340 \x20type\x20`BYTES`\x20and\x20values\n\x20of\x20type\x20`STRING`\x20both\
8341 \x20appear\x20in\x20[params][google.spanner.v1.ExecuteSqlRequest.params]\
8342 \x20as\x20JSON\x20strings.\n\n\x20In\x20these\x20cases,\x20`param_types`\
8343 \x20can\x20be\x20used\x20to\x20specify\x20the\x20exact\n\x20SQL\x20type\
8344 \x20for\x20some\x20or\x20all\x20of\x20the\x20SQL\x20statement\x20paramet\
8345 ers.\x20See\x20the\n\x20definition\x20of\x20[Type][google.spanner.v1.Typ\
8346 e]\x20for\x20more\x20information\n\x20about\x20SQL\x20types.\n\n\r\n\x05\
8347 \x04\t\x02\x04\x06\x12\x04\xf6\x04\x02\x13\n\r\n\x05\x04\t\x02\x04\x01\
8348 \x12\x04\xf6\x04\x14\x1f\n\r\n\x05\x04\t\x02\x04\x03\x12\x04\xf6\x04\"#\
8349 \n\x9e\x03\n\x04\x04\t\x02\x05\x12\x04\xfe\x04\x02\x19\x1a\x8f\x03\x20If\
8350 \x20this\x20request\x20is\x20resuming\x20a\x20previously\x20interrupted\
8351 \x20SQL\x20statement\n\x20execution,\x20`resume_token`\x20should\x20be\
8352 \x20copied\x20from\x20the\x20last\n\x20[PartialResultSet][google.spanner\
8353 .v1.PartialResultSet]\x20yielded\x20before\x20the\x20interruption.\x20Do\
8354 ing\x20this\n\x20enables\x20the\x20new\x20SQL\x20statement\x20execution\
8355 \x20to\x20resume\x20where\x20the\x20last\x20one\x20left\n\x20off.\x20The\
8356 \x20rest\x20of\x20the\x20request\x20parameters\x20must\x20exactly\x20mat\
8357 ch\x20the\n\x20request\x20that\x20yielded\x20this\x20token.\n\n\r\n\x05\
8358 \x04\t\x02\x05\x05\x12\x04\xfe\x04\x02\x07\n\r\n\x05\x04\t\x02\x05\x01\
8359 \x12\x04\xfe\x04\x08\x14\n\r\n\x05\x04\t\x02\x05\x03\x12\x04\xfe\x04\x17\
8360 \x18\n\xf2\x02\n\x04\x04\t\x02\x06\x12\x04\x83\x05\x02\x1b\x1a\xe3\x02\
8361 \x20Used\x20to\x20control\x20the\x20amount\x20of\x20debugging\x20informa\
8362 tion\x20returned\x20in\n\x20[ResultSetStats][google.spanner.v1.ResultSet\
8363 Stats].\x20If\x20[partition_token][google.spanner.v1.ExecuteSqlRequest.p\
8364 artition_token]\x20is\x20set,\x20[query_mode][google.spanner.v1.ExecuteS\
8365 qlRequest.query_mode]\x20can\x20only\n\x20be\x20set\x20to\x20[QueryMode.\
8366 NORMAL][google.spanner.v1.ExecuteSqlRequest.QueryMode.NORMAL].\n\n\r\n\
8367 \x05\x04\t\x02\x06\x06\x12\x04\x83\x05\x02\x0b\n\r\n\x05\x04\t\x02\x06\
8368 \x01\x12\x04\x83\x05\x0c\x16\n\r\n\x05\x04\t\x02\x06\x03\x12\x04\x83\x05\
8369 \x19\x1a\n\x99\x02\n\x04\x04\t\x02\x07\x12\x04\x89\x05\x02\x1c\x1a\x8a\
8370 \x02\x20If\x20present,\x20results\x20will\x20be\x20restricted\x20to\x20t\
8371 he\x20specified\x20partition\n\x20previously\x20created\x20using\x20Part\
8372 itionQuery().\x20\x20There\x20must\x20be\x20an\x20exact\n\x20match\x20fo\
8373 r\x20the\x20values\x20of\x20fields\x20common\x20to\x20this\x20message\
8374 \x20and\x20the\n\x20PartitionQueryRequest\x20message\x20used\x20to\x20cr\
8375 eate\x20this\x20partition_token.\n\n\r\n\x05\x04\t\x02\x07\x05\x12\x04\
8376 \x89\x05\x02\x07\n\r\n\x05\x04\t\x02\x07\x01\x12\x04\x89\x05\x08\x17\n\r\
8377 \n\x05\x04\t\x02\x07\x03\x12\x04\x89\x05\x1a\x1b\n\x9b\x04\n\x04\x04\t\
8378 \x02\x08\x12\x04\x95\x05\x02\x12\x1a\x8c\x04\x20A\x20per-transaction\x20\
8379 sequence\x20number\x20used\x20to\x20identify\x20this\x20request.\x20This\
8380 \x20field\n\x20makes\x20each\x20request\x20idempotent\x20such\x20that\
8381 \x20if\x20the\x20request\x20is\x20received\x20multiple\n\x20times,\x20at\
8382 \x20most\x20one\x20will\x20succeed.\n\n\x20The\x20sequence\x20number\x20\
8383 must\x20be\x20monotonically\x20increasing\x20within\x20the\n\x20transact\
8384 ion.\x20If\x20a\x20request\x20arrives\x20for\x20the\x20first\x20time\x20\
8385 with\x20an\x20out-of-order\n\x20sequence\x20number,\x20the\x20transactio\
8386 n\x20may\x20be\x20aborted.\x20Replays\x20of\x20previously\n\x20handled\
8387 \x20requests\x20will\x20yield\x20the\x20same\x20response\x20as\x20the\
8388 \x20first\x20execution.\n\n\x20Required\x20for\x20DML\x20statements.\x20\
8389 Ignored\x20for\x20queries.\n\n\r\n\x05\x04\t\x02\x08\x05\x12\x04\x95\x05\
8390 \x02\x07\n\r\n\x05\x04\t\x02\x08\x01\x12\x04\x95\x05\x08\r\n\r\n\x05\x04\
8391 \t\x02\x08\x03\x12\x04\x95\x05\x10\x11\nI\n\x04\x04\t\x02\t\x12\x04\x98\
8392 \x05\x02\"\x1a;\x20Query\x20optimizer\x20configuration\x20to\x20use\x20f\
8393 or\x20the\x20given\x20query.\n\n\r\n\x05\x04\t\x02\t\x06\x12\x04\x98\x05\
8394 \x02\x0e\n\r\n\x05\x04\t\x02\t\x01\x12\x04\x98\x05\x0f\x1c\n\r\n\x05\x04\
8395 \t\x02\t\x03\x12\x04\x98\x05\x1f!\n0\n\x04\x04\t\x02\n\x12\x04\x9b\x05\
8396 \x02&\x1a\"\x20Common\x20options\x20for\x20this\x20request.\n\n\r\n\x05\
8397 \x04\t\x02\n\x06\x12\x04\x9b\x05\x02\x10\n\r\n\x05\x04\t\x02\n\x01\x12\
8398 \x04\x9b\x05\x11\x20\n\r\n\x05\x04\t\x02\n\x03\x12\x04\x9b\x05#%\n\x9f\
8399 \x02\n\x04\x04\t\x02\x0b\x12\x04\xa2\x05\x02\x1f\x1a\x90\x02\x20If\x20th\
8400 is\x20is\x20for\x20a\x20partitioned\x20query\x20and\x20this\x20field\x20\
8401 is\x20set\x20to\x20`true`,\x20the\n\x20request\x20will\x20be\x20executed\
8402 \x20via\x20Spanner\x20independent\x20compute\x20resources.\n\n\x20If\x20\
8403 the\x20field\x20is\x20set\x20to\x20`true`\x20but\x20the\x20request\x20do\
8404 es\x20not\x20set\n\x20`partition_token`,\x20the\x20API\x20will\x20return\
8405 \x20an\x20`INVALID_ARGUMENT`\x20error.\n\n\r\n\x05\x04\t\x02\x0b\x05\x12\
8406 \x04\xa2\x05\x02\x06\n\r\n\x05\x04\t\x02\x0b\x01\x12\x04\xa2\x05\x07\x19\
8407 \n\r\n\x05\x04\t\x02\x0b\x03\x12\x04\xa2\x05\x1c\x1e\n]\n\x02\x04\n\x12\
8408 \x06\xa6\x05\0\xe8\x05\x01\x1aO\x20The\x20request\x20for\x20[ExecuteBatc\
8409 hDml][google.spanner.v1.Spanner.ExecuteBatchDml].\n\n\x0b\n\x03\x04\n\
8410 \x01\x12\x04\xa6\x05\x08\x1e\n)\n\x04\x04\n\x03\0\x12\x06\xa8\x05\x02\
8411 \xc3\x05\x03\x1a\x19\x20A\x20single\x20DML\x20statement.\n\n\r\n\x05\x04\
8412 \n\x03\0\x01\x12\x04\xa8\x05\n\x13\n+\n\x06\x04\n\x03\0\x02\0\x12\x04\
8413 \xaa\x05\x04<\x1a\x1b\x20Required.\x20The\x20DML\x20string.\n\n\x0f\n\
8414 \x07\x04\n\x03\0\x02\0\x05\x12\x04\xaa\x05\x04\n\n\x0f\n\x07\x04\n\x03\0\
8415 \x02\0\x01\x12\x04\xaa\x05\x0b\x0e\n\x0f\n\x07\x04\n\x03\0\x02\0\x03\x12\
8416 \x04\xaa\x05\x11\x12\n\x0f\n\x07\x04\n\x03\0\x02\0\x08\x12\x04\xaa\x05\
8417 \x13;\n\x12\n\n\x04\n\x03\0\x02\0\x08\x9c\x08\0\x12\x04\xaa\x05\x14:\n\
8418 \x8a\x04\n\x06\x04\n\x03\0\x02\x01\x12\x04\xb8\x05\x04&\x1a\xf9\x03\x20P\
8419 arameter\x20names\x20and\x20values\x20that\x20bind\x20to\x20placeholders\
8420 \x20in\x20the\x20DML\x20string.\n\n\x20A\x20parameter\x20placeholder\x20\
8421 consists\x20of\x20the\x20`@`\x20character\x20followed\x20by\x20the\n\x20\
8422 parameter\x20name\x20(for\x20example,\x20`@firstName`).\x20Parameter\x20\
8423 names\x20can\x20contain\n\x20letters,\x20numbers,\x20and\x20underscores.\
8424 \n\n\x20Parameters\x20can\x20appear\x20anywhere\x20that\x20a\x20literal\
8425 \x20value\x20is\x20expected.\x20\x20The\n\x20same\x20parameter\x20name\
8426 \x20can\x20be\x20used\x20more\x20than\x20once,\x20for\x20example:\n\n\
8427 \x20`\"WHERE\x20id\x20>\x20@msg_id\x20AND\x20id\x20<\x20@msg_id\x20+\x20\
8428 100\"`\n\n\x20It\x20is\x20an\x20error\x20to\x20execute\x20a\x20SQL\x20st\
8429 atement\x20with\x20unbound\x20parameters.\n\n\x0f\n\x07\x04\n\x03\0\x02\
8430 \x01\x06\x12\x04\xb8\x05\x04\x1a\n\x0f\n\x07\x04\n\x03\0\x02\x01\x01\x12\
8431 \x04\xb8\x05\x1b!\n\x0f\n\x07\x04\n\x03\0\x02\x01\x03\x12\x04\xb8\x05$%\
8432 \n\xed\x03\n\x06\x04\n\x03\0\x02\x02\x12\x04\xc2\x05\x04&\x1a\xdc\x03\
8433 \x20It\x20is\x20not\x20always\x20possible\x20for\x20Cloud\x20Spanner\x20\
8434 to\x20infer\x20the\x20right\x20SQL\x20type\n\x20from\x20a\x20JSON\x20val\
8435 ue.\x20\x20For\x20example,\x20values\x20of\x20type\x20`BYTES`\x20and\x20\
8436 values\n\x20of\x20type\x20`STRING`\x20both\x20appear\x20in\x20[params][g\
8437 oogle.spanner.v1.ExecuteBatchDmlRequest.Statement.params]\x20as\x20JSON\
8438 \x20strings.\n\n\x20In\x20these\x20cases,\x20`param_types`\x20can\x20be\
8439 \x20used\x20to\x20specify\x20the\x20exact\n\x20SQL\x20type\x20for\x20som\
8440 e\x20or\x20all\x20of\x20the\x20SQL\x20statement\x20parameters.\x20See\
8441 \x20the\n\x20definition\x20of\x20[Type][google.spanner.v1.Type]\x20for\
8442 \x20more\x20information\n\x20about\x20SQL\x20types.\n\n\x0f\n\x07\x04\n\
8443 \x03\0\x02\x02\x06\x12\x04\xc2\x05\x04\x15\n\x0f\n\x07\x04\n\x03\0\x02\
8444 \x02\x01\x12\x04\xc2\x05\x16!\n\x0f\n\x07\x04\n\x03\0\x02\x02\x03\x12\
8445 \x04\xc2\x05$%\nX\n\x04\x04\n\x02\0\x12\x06\xc6\x05\x02\xcb\x05\x04\x1aH\
8446 \x20Required.\x20The\x20session\x20in\x20which\x20the\x20DML\x20statemen\
8447 ts\x20should\x20be\x20performed.\n\n\r\n\x05\x04\n\x02\0\x05\x12\x04\xc6\
8448 \x05\x02\x08\n\r\n\x05\x04\n\x02\0\x01\x12\x04\xc6\x05\t\x10\n\r\n\x05\
8449 \x04\n\x02\0\x03\x12\x04\xc6\x05\x13\x14\n\x0f\n\x05\x04\n\x02\0\x08\x12\
8450 \x06\xc6\x05\x15\xcb\x05\x03\n\x10\n\x08\x04\n\x02\0\x08\x9c\x08\0\x12\
8451 \x04\xc7\x05\x04*\n\x11\n\x07\x04\n\x02\0\x08\x9f\x08\x12\x06\xc8\x05\
8452 \x04\xca\x05\x05\n\xf4\x01\n\x04\x04\n\x02\x01\x12\x04\xd2\x05\x02O\x1a\
8453 \xe5\x01\x20Required.\x20The\x20transaction\x20to\x20use.\x20Must\x20be\
8454 \x20a\x20read-write\x20transaction.\n\n\x20To\x20protect\x20against\x20r\
8455 eplays,\x20single-use\x20transactions\x20are\x20not\x20supported.\x20The\
8456 \n\x20caller\x20must\x20either\x20supply\x20an\x20existing\x20transactio\
8457 n\x20ID\x20or\x20begin\x20a\x20new\n\x20transaction.\n\n\r\n\x05\x04\n\
8458 \x02\x01\x06\x12\x04\xd2\x05\x02\x15\n\r\n\x05\x04\n\x02\x01\x01\x12\x04\
8459 \xd2\x05\x16!\n\r\n\x05\x04\n\x02\x01\x03\x12\x04\xd2\x05$%\n\r\n\x05\
8460 \x04\n\x02\x01\x08\x12\x04\xd2\x05&N\n\x10\n\x08\x04\n\x02\x01\x08\x9c\
8461 \x08\0\x12\x04\xd2\x05'M\n\xe8\x02\n\x04\x04\n\x02\x02\x12\x04\xda\x05\
8462 \x02M\x1a\xd9\x02\x20Required.\x20The\x20list\x20of\x20statements\x20to\
8463 \x20execute\x20in\x20this\x20batch.\x20Statements\x20are\x20executed\n\
8464 \x20serially,\x20such\x20that\x20the\x20effects\x20of\x20statement\x20`i\
8465 `\x20are\x20visible\x20to\x20statement\n\x20`i+1`.\x20Each\x20statement\
8466 \x20must\x20be\x20a\x20DML\x20statement.\x20Execution\x20stops\x20at\x20\
8467 the\n\x20first\x20failed\x20statement;\x20the\x20remaining\x20statements\
8468 \x20are\x20not\x20executed.\n\n\x20Callers\x20must\x20provide\x20at\x20l\
8469 east\x20one\x20statement.\n\n\r\n\x05\x04\n\x02\x02\x04\x12\x04\xda\x05\
8470 \x02\n\n\r\n\x05\x04\n\x02\x02\x06\x12\x04\xda\x05\x0b\x14\n\r\n\x05\x04\
8471 \n\x02\x02\x01\x12\x04\xda\x05\x15\x1f\n\r\n\x05\x04\n\x02\x02\x03\x12\
8472 \x04\xda\x05\"#\n\r\n\x05\x04\n\x02\x02\x08\x12\x04\xda\x05$L\n\x10\n\
8473 \x08\x04\n\x02\x02\x08\x9c\x08\0\x12\x04\xda\x05%K\n\xf1\x03\n\x04\x04\n\
8474 \x02\x03\x12\x04\xe4\x05\x02;\x1a\xe2\x03\x20Required.\x20A\x20per-trans\
8475 action\x20sequence\x20number\x20used\x20to\x20identify\x20this\x20reques\
8476 t.\x20This\x20field\n\x20makes\x20each\x20request\x20idempotent\x20such\
8477 \x20that\x20if\x20the\x20request\x20is\x20received\x20multiple\n\x20time\
8478 s,\x20at\x20most\x20one\x20will\x20succeed.\n\n\x20The\x20sequence\x20nu\
8479 mber\x20must\x20be\x20monotonically\x20increasing\x20within\x20the\n\x20\
8480 transaction.\x20If\x20a\x20request\x20arrives\x20for\x20the\x20first\x20\
8481 time\x20with\x20an\x20out-of-order\n\x20sequence\x20number,\x20the\x20tr\
8482 ansaction\x20may\x20be\x20aborted.\x20Replays\x20of\x20previously\n\x20h\
8483 andled\x20requests\x20will\x20yield\x20the\x20same\x20response\x20as\x20\
8484 the\x20first\x20execution.\n\n\r\n\x05\x04\n\x02\x03\x05\x12\x04\xe4\x05\
8485 \x02\x07\n\r\n\x05\x04\n\x02\x03\x01\x12\x04\xe4\x05\x08\r\n\r\n\x05\x04\
8486 \n\x02\x03\x03\x12\x04\xe4\x05\x10\x11\n\r\n\x05\x04\n\x02\x03\x08\x12\
8487 \x04\xe4\x05\x12:\n\x10\n\x08\x04\n\x02\x03\x08\x9c\x08\0\x12\x04\xe4\
8488 \x05\x139\n0\n\x04\x04\n\x02\x04\x12\x04\xe7\x05\x02%\x1a\"\x20Common\
8489 \x20options\x20for\x20this\x20request.\n\n\r\n\x05\x04\n\x02\x04\x06\x12\
8490 \x04\xe7\x05\x02\x10\n\r\n\x05\x04\n\x02\x04\x01\x12\x04\xe7\x05\x11\x20\
8491 \n\r\n\x05\x04\n\x02\x04\x03\x12\x04\xe7\x05#$\n\xbf\n\n\x02\x04\x0b\x12\
8492 \x06\x82\x06\0\x8f\x06\x01\x1a\xb0\n\x20The\x20response\x20for\x20[Execu\
8493 teBatchDml][google.spanner.v1.Spanner.ExecuteBatchDml].\x20Contains\x20a\
8494 \x20list\n\x20of\x20[ResultSet][google.spanner.v1.ResultSet]\x20messages\
8495 ,\x20one\x20for\x20each\x20DML\x20statement\x20that\x20has\x20successful\
8496 ly\n\x20executed,\x20in\x20the\x20same\x20order\x20as\x20the\x20statemen\
8497 ts\x20in\x20the\x20request.\x20If\x20a\x20statement\n\x20fails,\x20the\
8498 \x20status\x20in\x20the\x20response\x20body\x20identifies\x20the\x20caus\
8499 e\x20of\x20the\x20failure.\n\n\x20To\x20check\x20for\x20DML\x20statement\
8500 s\x20that\x20failed,\x20use\x20the\x20following\x20approach:\n\n\x201.\
8501 \x20Check\x20the\x20status\x20in\x20the\x20response\x20message.\x20The\
8502 \x20[google.rpc.Code][google.rpc.Code]\x20enum\n\x20\x20\x20\x20value\
8503 \x20`OK`\x20indicates\x20that\x20all\x20statements\x20were\x20executed\
8504 \x20successfully.\n\x202.\x20If\x20the\x20status\x20was\x20not\x20`OK`,\
8505 \x20check\x20the\x20number\x20of\x20result\x20sets\x20in\x20the\n\x20\
8506 \x20\x20\x20response.\x20If\x20the\x20response\x20contains\x20`N`\x20[Re\
8507 sultSet][google.spanner.v1.ResultSet]\x20messages,\x20then\n\x20\x20\x20\
8508 \x20statement\x20`N+1`\x20in\x20the\x20request\x20failed.\n\n\x20Example\
8509 \x201:\n\n\x20*\x20Request:\x205\x20DML\x20statements,\x20all\x20execute\
8510 d\x20successfully.\n\x20*\x20Response:\x205\x20[ResultSet][google.spanne\
8511 r.v1.ResultSet]\x20messages,\x20with\x20the\x20status\x20`OK`.\n\n\x20Ex\
8512 ample\x202:\n\n\x20*\x20Request:\x205\x20DML\x20statements.\x20The\x20th\
8513 ird\x20statement\x20has\x20a\x20syntax\x20error.\n\x20*\x20Response:\x20\
8514 2\x20[ResultSet][google.spanner.v1.ResultSet]\x20messages,\x20and\x20a\
8515 \x20syntax\x20error\x20(`INVALID_ARGUMENT`)\n\x20\x20\x20status.\x20The\
8516 \x20number\x20of\x20[ResultSet][google.spanner.v1.ResultSet]\x20messages\
8517 \x20indicates\x20that\x20the\x20third\n\x20\x20\x20statement\x20failed,\
8518 \x20and\x20the\x20fourth\x20and\x20fifth\x20statements\x20were\x20not\
8519 \x20executed.\n\n\x0b\n\x03\x04\x0b\x01\x12\x04\x82\x06\x08\x1f\n\xa8\
8520 \x04\n\x04\x04\x0b\x02\0\x12\x04\x8a\x06\x02%\x1a\x99\x04\x20One\x20[Res\
8521 ultSet][google.spanner.v1.ResultSet]\x20for\x20each\x20statement\x20in\
8522 \x20the\x20request\x20that\x20ran\x20successfully,\n\x20in\x20the\x20sam\
8523 e\x20order\x20as\x20the\x20statements\x20in\x20the\x20request.\x20Each\
8524 \x20[ResultSet][google.spanner.v1.ResultSet]\x20does\n\x20not\x20contain\
8525 \x20any\x20rows.\x20The\x20[ResultSetStats][google.spanner.v1.ResultSetS\
8526 tats]\x20in\x20each\x20[ResultSet][google.spanner.v1.ResultSet]\x20conta\
8527 in\n\x20the\x20number\x20of\x20rows\x20modified\x20by\x20the\x20statemen\
8528 t.\n\n\x20Only\x20the\x20first\x20[ResultSet][google.spanner.v1.ResultSe\
8529 t]\x20in\x20the\x20response\x20contains\x20valid\n\x20[ResultSetMetadata\
8530 ][google.spanner.v1.ResultSetMetadata].\n\n\r\n\x05\x04\x0b\x02\0\x04\
8531 \x12\x04\x8a\x06\x02\n\n\r\n\x05\x04\x0b\x02\0\x06\x12\x04\x8a\x06\x0b\
8532 \x14\n\r\n\x05\x04\x0b\x02\0\x01\x12\x04\x8a\x06\x15\x20\n\r\n\x05\x04\
8533 \x0b\x02\0\x03\x12\x04\x8a\x06#$\n\x91\x01\n\x04\x04\x0b\x02\x01\x12\x04\
8534 \x8e\x06\x02\x1f\x1a\x82\x01\x20If\x20all\x20DML\x20statements\x20are\
8535 \x20executed\x20successfully,\x20the\x20status\x20is\x20`OK`.\n\x20Other\
8536 wise,\x20the\x20error\x20status\x20of\x20the\x20first\x20failed\x20state\
8537 ment.\n\n\r\n\x05\x04\x0b\x02\x01\x06\x12\x04\x8e\x06\x02\x13\n\r\n\x05\
8538 \x04\x0b\x02\x01\x01\x12\x04\x8e\x06\x14\x1a\n\r\n\x05\x04\x0b\x02\x01\
8539 \x03\x12\x04\x8e\x06\x1d\x1e\nN\n\x02\x04\x0c\x12\x06\x93\x06\0\xa5\x06\
8540 \x01\x1a@\x20Options\x20for\x20a\x20PartitionQueryRequest\x20and\n\x20Pa\
8541 rtitionReadRequest.\n\n\x0b\n\x03\x04\x0c\x01\x12\x04\x93\x06\x08\x18\n\
8542 \xba\x02\n\x04\x04\x0c\x02\0\x12\x04\x9a\x06\x02!\x1a\xab\x02\x20**Note:\
8543 **\x20This\x20hint\x20is\x20currently\x20ignored\x20by\x20PartitionQuery\
8544 \x20and\n\x20PartitionRead\x20requests.\n\n\x20The\x20desired\x20data\
8545 \x20size\x20for\x20each\x20partition\x20generated.\x20\x20The\x20default\
8546 \x20for\x20this\n\x20option\x20is\x20currently\x201\x20GiB.\x20\x20This\
8547 \x20is\x20only\x20a\x20hint.\x20The\x20actual\x20size\x20of\x20each\n\
8548 \x20partition\x20may\x20be\x20smaller\x20or\x20larger\x20than\x20this\
8549 \x20size\x20request.\n\n\r\n\x05\x04\x0c\x02\0\x05\x12\x04\x9a\x06\x02\
8550 \x07\n\r\n\x05\x04\x0c\x02\0\x01\x12\x04\x9a\x06\x08\x1c\n\r\n\x05\x04\
8551 \x0c\x02\0\x03\x12\x04\x9a\x06\x1f\x20\n\xb8\x03\n\x04\x04\x0c\x02\x01\
8552 \x12\x04\xa4\x06\x02\x1b\x1a\xa9\x03\x20**Note:**\x20This\x20hint\x20is\
8553 \x20currently\x20ignored\x20by\x20PartitionQuery\x20and\n\x20PartitionRe\
8554 ad\x20requests.\n\n\x20The\x20desired\x20maximum\x20number\x20of\x20part\
8555 itions\x20to\x20return.\x20\x20For\x20example,\x20this\x20may\n\x20be\
8556 \x20set\x20to\x20the\x20number\x20of\x20workers\x20available.\x20\x20The\
8557 \x20default\x20for\x20this\x20option\n\x20is\x20currently\x2010,000.\x20\
8558 The\x20maximum\x20value\x20is\x20currently\x20200,000.\x20\x20This\x20is\
8559 \x20only\n\x20a\x20hint.\x20\x20The\x20actual\x20number\x20of\x20partiti\
8560 ons\x20returned\x20may\x20be\x20smaller\x20or\x20larger\n\x20than\x20thi\
8561 s\x20maximum\x20count\x20request.\n\n\r\n\x05\x04\x0c\x02\x01\x05\x12\
8562 \x04\xa4\x06\x02\x07\n\r\n\x05\x04\x0c\x02\x01\x01\x12\x04\xa4\x06\x08\
8563 \x16\n\r\n\x05\x04\x0c\x02\x01\x03\x12\x04\xa4\x06\x19\x1a\nZ\n\x02\x04\
8564 \r\x12\x06\xa8\x06\0\xdb\x06\x01\x1aL\x20The\x20request\x20for\x20[Parti\
8565 tionQuery][google.spanner.v1.Spanner.PartitionQuery]\n\n\x0b\n\x03\x04\r\
8566 \x01\x12\x04\xa8\x06\x08\x1d\nF\n\x04\x04\r\x02\0\x12\x06\xaa\x06\x02\
8567 \xaf\x06\x04\x1a6\x20Required.\x20The\x20session\x20used\x20to\x20create\
8568 \x20the\x20partitions.\n\n\r\n\x05\x04\r\x02\0\x05\x12\x04\xaa\x06\x02\
8569 \x08\n\r\n\x05\x04\r\x02\0\x01\x12\x04\xaa\x06\t\x10\n\r\n\x05\x04\r\x02\
8570 \0\x03\x12\x04\xaa\x06\x13\x14\n\x0f\n\x05\x04\r\x02\0\x08\x12\x06\xaa\
8571 \x06\x15\xaf\x06\x03\n\x10\n\x08\x04\r\x02\0\x08\x9c\x08\0\x12\x04\xab\
8572 \x06\x04*\n\x11\n\x07\x04\r\x02\0\x08\x9f\x08\x12\x06\xac\x06\x04\xae\
8573 \x06\x05\no\n\x04\x04\r\x02\x01\x12\x04\xb3\x06\x02&\x1aa\x20Read\x20onl\
8574 y\x20snapshot\x20transactions\x20are\x20supported,\x20read/write\x20and\
8575 \x20single\x20use\n\x20transactions\x20are\x20not.\n\n\r\n\x05\x04\r\x02\
8576 \x01\x06\x12\x04\xb3\x06\x02\x15\n\r\n\x05\x04\r\x02\x01\x01\x12\x04\xb3\
8577 \x06\x16!\n\r\n\x05\x04\r\x02\x01\x03\x12\x04\xb3\x06$%\n\xf8\x04\n\x04\
8578 \x04\r\x02\x02\x12\x04\xbf\x06\x02:\x1a\xe9\x04\x20Required.\x20The\x20q\
8579 uery\x20request\x20to\x20generate\x20partitions\x20for.\x20The\x20reques\
8580 t\x20will\x20fail\x20if\n\x20the\x20query\x20is\x20not\x20root\x20partit\
8581 ionable.\x20The\x20query\x20plan\x20of\x20a\x20root\n\x20partitionable\
8582 \x20query\x20has\x20a\x20single\x20distributed\x20union\x20operator.\x20\
8583 A\x20distributed\n\x20union\x20operator\x20conceptually\x20divides\x20on\
8584 e\x20or\x20more\x20tables\x20into\x20multiple\n\x20splits,\x20remotely\
8585 \x20evaluates\x20a\x20subquery\x20independently\x20on\x20each\x20split,\
8586 \x20and\n\x20then\x20unions\x20all\x20results.\n\n\x20This\x20must\x20no\
8587 t\x20contain\x20DML\x20commands,\x20such\x20as\x20INSERT,\x20UPDATE,\x20\
8588 or\n\x20DELETE.\x20Use\x20[ExecuteStreamingSql][google.spanner.v1.Spanne\
8589 r.ExecuteStreamingSql]\x20with\x20a\n\x20PartitionedDml\x20transaction\
8590 \x20for\x20large,\x20partition-friendly\x20DML\x20operations.\n\n\r\n\
8591 \x05\x04\r\x02\x02\x05\x12\x04\xbf\x06\x02\x08\n\r\n\x05\x04\r\x02\x02\
8592 \x01\x12\x04\xbf\x06\t\x0c\n\r\n\x05\x04\r\x02\x02\x03\x12\x04\xbf\x06\
8593 \x0f\x10\n\r\n\x05\x04\r\x02\x02\x08\x12\x04\xbf\x06\x119\n\x10\n\x08\
8594 \x04\r\x02\x02\x08\x9c\x08\0\x12\x04\xbf\x06\x128\n\x88\x04\n\x04\x04\r\
8595 \x02\x03\x12\x04\xcd\x06\x02$\x1a\xf9\x03\x20Parameter\x20names\x20and\
8596 \x20values\x20that\x20bind\x20to\x20placeholders\x20in\x20the\x20SQL\x20\
8597 string.\n\n\x20A\x20parameter\x20placeholder\x20consists\x20of\x20the\
8598 \x20`@`\x20character\x20followed\x20by\x20the\n\x20parameter\x20name\x20\
8599 (for\x20example,\x20`@firstName`).\x20Parameter\x20names\x20can\x20conta\
8600 in\n\x20letters,\x20numbers,\x20and\x20underscores.\n\n\x20Parameters\
8601 \x20can\x20appear\x20anywhere\x20that\x20a\x20literal\x20value\x20is\x20\
8602 expected.\x20\x20The\x20same\n\x20parameter\x20name\x20can\x20be\x20used\
8603 \x20more\x20than\x20once,\x20for\x20example:\n\n\x20`\"WHERE\x20id\x20>\
8604 \x20@msg_id\x20AND\x20id\x20<\x20@msg_id\x20+\x20100\"`\n\n\x20It\x20is\
8605 \x20an\x20error\x20to\x20execute\x20a\x20SQL\x20statement\x20with\x20unb\
8606 ound\x20parameters.\n\n\r\n\x05\x04\r\x02\x03\x06\x12\x04\xcd\x06\x02\
8607 \x18\n\r\n\x05\x04\r\x02\x03\x01\x12\x04\xcd\x06\x19\x1f\n\r\n\x05\x04\r\
8608 \x02\x03\x03\x12\x04\xcd\x06\"#\n\xdc\x03\n\x04\x04\r\x02\x04\x12\x04\
8609 \xd7\x06\x02$\x1a\xcd\x03\x20It\x20is\x20not\x20always\x20possible\x20fo\
8610 r\x20Cloud\x20Spanner\x20to\x20infer\x20the\x20right\x20SQL\x20type\n\
8611 \x20from\x20a\x20JSON\x20value.\x20\x20For\x20example,\x20values\x20of\
8612 \x20type\x20`BYTES`\x20and\x20values\n\x20of\x20type\x20`STRING`\x20both\
8613 \x20appear\x20in\x20[params][google.spanner.v1.PartitionQueryRequest.par\
8614 ams]\x20as\x20JSON\x20strings.\n\n\x20In\x20these\x20cases,\x20`param_ty\
8615 pes`\x20can\x20be\x20used\x20to\x20specify\x20the\x20exact\n\x20SQL\x20t\
8616 ype\x20for\x20some\x20or\x20all\x20of\x20the\x20SQL\x20query\x20paramete\
8617 rs.\x20See\x20the\n\x20definition\x20of\x20[Type][google.spanner.v1.Type\
8618 ]\x20for\x20more\x20information\n\x20about\x20SQL\x20types.\n\n\r\n\x05\
8619 \x04\r\x02\x04\x06\x12\x04\xd7\x06\x02\x13\n\r\n\x05\x04\r\x02\x04\x01\
8620 \x12\x04\xd7\x06\x14\x1f\n\r\n\x05\x04\r\x02\x04\x03\x12\x04\xd7\x06\"#\
8621 \nO\n\x04\x04\r\x02\x05\x12\x04\xda\x06\x02)\x1aA\x20Additional\x20optio\
8622 ns\x20that\x20affect\x20how\x20many\x20partitions\x20are\x20created.\n\n\
8623 \r\n\x05\x04\r\x02\x05\x06\x12\x04\xda\x06\x02\x12\n\r\n\x05\x04\r\x02\
8624 \x05\x01\x12\x04\xda\x06\x13$\n\r\n\x05\x04\r\x02\x05\x03\x12\x04\xda\
8625 \x06'(\nX\n\x02\x04\x0e\x12\x06\xde\x06\0\x82\x07\x01\x1aJ\x20The\x20req\
8626 uest\x20for\x20[PartitionRead][google.spanner.v1.Spanner.PartitionRead]\
8627 \n\n\x0b\n\x03\x04\x0e\x01\x12\x04\xde\x06\x08\x1c\nF\n\x04\x04\x0e\x02\
8628 \0\x12\x06\xe0\x06\x02\xe5\x06\x04\x1a6\x20Required.\x20The\x20session\
8629 \x20used\x20to\x20create\x20the\x20partitions.\n\n\r\n\x05\x04\x0e\x02\0\
8630 \x05\x12\x04\xe0\x06\x02\x08\n\r\n\x05\x04\x0e\x02\0\x01\x12\x04\xe0\x06\
8631 \t\x10\n\r\n\x05\x04\x0e\x02\0\x03\x12\x04\xe0\x06\x13\x14\n\x0f\n\x05\
8632 \x04\x0e\x02\0\x08\x12\x06\xe0\x06\x15\xe5\x06\x03\n\x10\n\x08\x04\x0e\
8633 \x02\0\x08\x9c\x08\0\x12\x04\xe1\x06\x04*\n\x11\n\x07\x04\x0e\x02\0\x08\
8634 \x9f\x08\x12\x06\xe2\x06\x04\xe4\x06\x05\no\n\x04\x04\x0e\x02\x01\x12\
8635 \x04\xe9\x06\x02&\x1aa\x20Read\x20only\x20snapshot\x20transactions\x20ar\
8636 e\x20supported,\x20read/write\x20and\x20single\x20use\n\x20transactions\
8637 \x20are\x20not.\n\n\r\n\x05\x04\x0e\x02\x01\x06\x12\x04\xe9\x06\x02\x15\
8638 \n\r\n\x05\x04\x0e\x02\x01\x01\x12\x04\xe9\x06\x16!\n\r\n\x05\x04\x0e\
8639 \x02\x01\x03\x12\x04\xe9\x06$%\nK\n\x04\x04\x0e\x02\x02\x12\x04\xec\x06\
8640 \x02<\x1a=\x20Required.\x20The\x20name\x20of\x20the\x20table\x20in\x20th\
8641 e\x20database\x20to\x20be\x20read.\n\n\r\n\x05\x04\x0e\x02\x02\x05\x12\
8642 \x04\xec\x06\x02\x08\n\r\n\x05\x04\x0e\x02\x02\x01\x12\x04\xec\x06\t\x0e\
8643 \n\r\n\x05\x04\x0e\x02\x02\x03\x12\x04\xec\x06\x11\x12\n\r\n\x05\x04\x0e\
8644 \x02\x02\x08\x12\x04\xec\x06\x13;\n\x10\n\x08\x04\x0e\x02\x02\x08\x9c\
8645 \x08\0\x12\x04\xec\x06\x14:\n\xdf\x02\n\x04\x04\x0e\x02\x03\x12\x04\xf1\
8646 \x06\x02\x13\x1a\xd0\x02\x20If\x20non-empty,\x20the\x20name\x20of\x20an\
8647 \x20index\x20on\x20[table][google.spanner.v1.PartitionReadRequest.table]\
8648 .\x20This\x20index\x20is\n\x20used\x20instead\x20of\x20the\x20table\x20p\
8649 rimary\x20key\x20when\x20interpreting\x20[key_set][google.spanner.v1.Par\
8650 titionReadRequest.key_set]\n\x20and\x20sorting\x20result\x20rows.\x20See\
8651 \x20[key_set][google.spanner.v1.PartitionReadRequest.key_set]\x20for\x20\
8652 further\x20information.\n\n\r\n\x05\x04\x0e\x02\x03\x05\x12\x04\xf1\x06\
8653 \x02\x08\n\r\n\x05\x04\x0e\x02\x03\x01\x12\x04\xf1\x06\t\x0e\n\r\n\x05\
8654 \x04\x0e\x02\x03\x03\x12\x04\xf1\x06\x11\x12\n\x88\x01\n\x04\x04\x0e\x02\
8655 \x04\x12\x04\xf5\x06\x02\x1e\x1az\x20The\x20columns\x20of\x20[table][goo\
8656 gle.spanner.v1.PartitionReadRequest.table]\x20to\x20be\x20returned\x20fo\
8657 r\x20each\x20row\x20matching\n\x20this\x20request.\n\n\r\n\x05\x04\x0e\
8658 \x02\x04\x04\x12\x04\xf5\x06\x02\n\n\r\n\x05\x04\x0e\x02\x04\x05\x12\x04\
8659 \xf5\x06\x0b\x11\n\r\n\x05\x04\x0e\x02\x04\x01\x12\x04\xf5\x06\x12\x19\n\
8660 \r\n\x05\x04\x0e\x02\x04\x03\x12\x04\xf5\x06\x1c\x1d\n\xe1\x04\n\x04\x04\
8661 \x0e\x02\x05\x12\x04\xfe\x06\x02>\x1a\xd2\x04\x20Required.\x20`key_set`\
8662 \x20identifies\x20the\x20rows\x20to\x20be\x20yielded.\x20`key_set`\x20na\
8663 mes\x20the\n\x20primary\x20keys\x20of\x20the\x20rows\x20in\x20[table][go\
8664 ogle.spanner.v1.PartitionReadRequest.table]\x20to\x20be\x20yielded,\x20u\
8665 nless\x20[index][google.spanner.v1.PartitionReadRequest.index]\n\x20is\
8666 \x20present.\x20If\x20[index][google.spanner.v1.PartitionReadRequest.ind\
8667 ex]\x20is\x20present,\x20then\x20[key_set][google.spanner.v1.PartitionRe\
8668 adRequest.key_set]\x20instead\x20names\n\x20index\x20keys\x20in\x20[inde\
8669 x][google.spanner.v1.PartitionReadRequest.index].\n\n\x20It\x20is\x20not\
8670 \x20an\x20error\x20for\x20the\x20`key_set`\x20to\x20name\x20rows\x20that\
8671 \x20do\x20not\n\x20exist\x20in\x20the\x20database.\x20Read\x20yields\x20\
8672 nothing\x20for\x20nonexistent\x20rows.\n\n\r\n\x05\x04\x0e\x02\x05\x06\
8673 \x12\x04\xfe\x06\x02\x08\n\r\n\x05\x04\x0e\x02\x05\x01\x12\x04\xfe\x06\t\
8674 \x10\n\r\n\x05\x04\x0e\x02\x05\x03\x12\x04\xfe\x06\x13\x14\n\r\n\x05\x04\
8675 \x0e\x02\x05\x08\x12\x04\xfe\x06\x15=\n\x10\n\x08\x04\x0e\x02\x05\x08\
8676 \x9c\x08\0\x12\x04\xfe\x06\x16<\nO\n\x04\x04\x0e\x02\x06\x12\x04\x81\x07\
8677 \x02)\x1aA\x20Additional\x20options\x20that\x20affect\x20how\x20many\x20\
8678 partitions\x20are\x20created.\n\n\r\n\x05\x04\x0e\x02\x06\x06\x12\x04\
8679 \x81\x07\x02\x12\n\r\n\x05\x04\x0e\x02\x06\x01\x12\x04\x81\x07\x13$\n\r\
8680 \n\x05\x04\x0e\x02\x06\x03\x12\x04\x81\x07'(\nY\n\x02\x04\x0f\x12\x06\
8681 \x86\x07\0\x8b\x07\x01\x1aK\x20Information\x20returned\x20for\x20each\
8682 \x20partition\x20returned\x20in\x20a\n\x20PartitionResponse.\n\n\x0b\n\
8683 \x03\x04\x0f\x01\x12\x04\x86\x07\x08\x11\n\xb4\x01\n\x04\x04\x0f\x02\0\
8684 \x12\x04\x8a\x07\x02\x1c\x1a\xa5\x01\x20This\x20token\x20can\x20be\x20pa\
8685 ssed\x20to\x20Read,\x20StreamingRead,\x20ExecuteSql,\x20or\n\x20ExecuteS\
8686 treamingSql\x20requests\x20to\x20restrict\x20the\x20results\x20to\x20tho\
8687 se\x20identified\x20by\n\x20this\x20partition\x20token.\n\n\r\n\x05\x04\
8688 \x0f\x02\0\x05\x12\x04\x8a\x07\x02\x07\n\r\n\x05\x04\x0f\x02\0\x01\x12\
8689 \x04\x8a\x07\x08\x17\n\r\n\x05\x04\x0f\x02\0\x03\x12\x04\x8a\x07\x1a\x1b\
8690 \n\x99\x01\n\x02\x04\x10\x12\x06\x8f\x07\0\x95\x07\x01\x1a\x8a\x01\x20Th\
8691 e\x20response\x20for\x20[PartitionQuery][google.spanner.v1.Spanner.Parti\
8692 tionQuery]\n\x20or\x20[PartitionRead][google.spanner.v1.Spanner.Partitio\
8693 nRead]\n\n\x0b\n\x03\x04\x10\x01\x12\x04\x8f\x07\x08\x19\n3\n\x04\x04\
8694 \x10\x02\0\x12\x04\x91\x07\x02$\x1a%\x20Partitions\x20created\x20by\x20t\
8695 his\x20request.\n\n\r\n\x05\x04\x10\x02\0\x04\x12\x04\x91\x07\x02\n\n\r\
8696 \n\x05\x04\x10\x02\0\x06\x12\x04\x91\x07\x0b\x14\n\r\n\x05\x04\x10\x02\0\
8697 \x01\x12\x04\x91\x07\x15\x1f\n\r\n\x05\x04\x10\x02\0\x03\x12\x04\x91\x07\
8698 \"#\n4\n\x04\x04\x10\x02\x01\x12\x04\x94\x07\x02\x1e\x1a&\x20Transaction\
8699 \x20created\x20by\x20this\x20request.\n\n\r\n\x05\x04\x10\x02\x01\x06\
8700 \x12\x04\x94\x07\x02\r\n\r\n\x05\x04\x10\x02\x01\x01\x12\x04\x94\x07\x0e\
8701 \x19\n\r\n\x05\x04\x10\x02\x01\x03\x12\x04\x94\x07\x1c\x1d\n\x85\x01\n\
8702 \x02\x04\x11\x12\x06\x99\x07\0\xdc\x07\x01\x1aw\x20The\x20request\x20for\
8703 \x20[Read][google.spanner.v1.Spanner.Read]\x20and\n\x20[StreamingRead][g\
8704 oogle.spanner.v1.Spanner.StreamingRead].\n\n\x0b\n\x03\x04\x11\x01\x12\
8705 \x04\x99\x07\x08\x13\nN\n\x04\x04\x11\x02\0\x12\x06\x9b\x07\x02\xa0\x07\
8706 \x04\x1a>\x20Required.\x20The\x20session\x20in\x20which\x20the\x20read\
8707 \x20should\x20be\x20performed.\n\n\r\n\x05\x04\x11\x02\0\x05\x12\x04\x9b\
8708 \x07\x02\x08\n\r\n\x05\x04\x11\x02\0\x01\x12\x04\x9b\x07\t\x10\n\r\n\x05\
8709 \x04\x11\x02\0\x03\x12\x04\x9b\x07\x13\x14\n\x0f\n\x05\x04\x11\x02\0\x08\
8710 \x12\x06\x9b\x07\x15\xa0\x07\x03\n\x10\n\x08\x04\x11\x02\0\x08\x9c\x08\0\
8711 \x12\x04\x9c\x07\x04*\n\x11\n\x07\x04\x11\x02\0\x08\x9f\x08\x12\x06\x9d\
8712 \x07\x04\x9f\x07\x05\n\x87\x01\n\x04\x04\x11\x02\x01\x12\x04\xa4\x07\x02\
8713 &\x1ay\x20The\x20transaction\x20to\x20use.\x20If\x20none\x20is\x20provid\
8714 ed,\x20the\x20default\x20is\x20a\n\x20temporary\x20read-only\x20transact\
8715 ion\x20with\x20strong\x20concurrency.\n\n\r\n\x05\x04\x11\x02\x01\x06\
8716 \x12\x04\xa4\x07\x02\x15\n\r\n\x05\x04\x11\x02\x01\x01\x12\x04\xa4\x07\
8717 \x16!\n\r\n\x05\x04\x11\x02\x01\x03\x12\x04\xa4\x07$%\nK\n\x04\x04\x11\
8718 \x02\x02\x12\x04\xa7\x07\x02<\x1a=\x20Required.\x20The\x20name\x20of\x20\
8719 the\x20table\x20in\x20the\x20database\x20to\x20be\x20read.\n\n\r\n\x05\
8720 \x04\x11\x02\x02\x05\x12\x04\xa7\x07\x02\x08\n\r\n\x05\x04\x11\x02\x02\
8721 \x01\x12\x04\xa7\x07\t\x0e\n\r\n\x05\x04\x11\x02\x02\x03\x12\x04\xa7\x07\
8722 \x11\x12\n\r\n\x05\x04\x11\x02\x02\x08\x12\x04\xa7\x07\x13;\n\x10\n\x08\
8723 \x04\x11\x02\x02\x08\x9c\x08\0\x12\x04\xa7\x07\x14:\n\xc4\x02\n\x04\x04\
8724 \x11\x02\x03\x12\x04\xac\x07\x02\x13\x1a\xb5\x02\x20If\x20non-empty,\x20\
8725 the\x20name\x20of\x20an\x20index\x20on\x20[table][google.spanner.v1.Read\
8726 Request.table].\x20This\x20index\x20is\n\x20used\x20instead\x20of\x20the\
8727 \x20table\x20primary\x20key\x20when\x20interpreting\x20[key_set][google.\
8728 spanner.v1.ReadRequest.key_set]\n\x20and\x20sorting\x20result\x20rows.\
8729 \x20See\x20[key_set][google.spanner.v1.ReadRequest.key_set]\x20for\x20fu\
8730 rther\x20information.\n\n\r\n\x05\x04\x11\x02\x03\x05\x12\x04\xac\x07\
8731 \x02\x08\n\r\n\x05\x04\x11\x02\x03\x01\x12\x04\xac\x07\t\x0e\n\r\n\x05\
8732 \x04\x11\x02\x03\x03\x12\x04\xac\x07\x11\x12\n\x89\x01\n\x04\x04\x11\x02\
8733 \x04\x12\x04\xb0\x07\x02G\x1a{\x20Required.\x20The\x20columns\x20of\x20[\
8734 table][google.spanner.v1.ReadRequest.table]\x20to\x20be\x20returned\x20f\
8735 or\x20each\x20row\x20matching\n\x20this\x20request.\n\n\r\n\x05\x04\x11\
8736 \x02\x04\x04\x12\x04\xb0\x07\x02\n\n\r\n\x05\x04\x11\x02\x04\x05\x12\x04\
8737 \xb0\x07\x0b\x11\n\r\n\x05\x04\x11\x02\x04\x01\x12\x04\xb0\x07\x12\x19\n\
8738 \r\n\x05\x04\x11\x02\x04\x03\x12\x04\xb0\x07\x1c\x1d\n\r\n\x05\x04\x11\
8739 \x02\x04\x08\x12\x04\xb0\x07\x1eF\n\x10\n\x08\x04\x11\x02\x04\x08\x9c\
8740 \x08\0\x12\x04\xb0\x07\x1fE\n\xd6\x07\n\x04\x04\x11\x02\x05\x12\x04\xbe\
8741 \x07\x02>\x1a\xc7\x07\x20Required.\x20`key_set`\x20identifies\x20the\x20\
8742 rows\x20to\x20be\x20yielded.\x20`key_set`\x20names\x20the\n\x20primary\
8743 \x20keys\x20of\x20the\x20rows\x20in\x20[table][google.spanner.v1.ReadReq\
8744 uest.table]\x20to\x20be\x20yielded,\x20unless\x20[index][google.spanner.\
8745 v1.ReadRequest.index]\n\x20is\x20present.\x20If\x20[index][google.spanne\
8746 r.v1.ReadRequest.index]\x20is\x20present,\x20then\x20[key_set][google.sp\
8747 anner.v1.ReadRequest.key_set]\x20instead\x20names\n\x20index\x20keys\x20\
8748 in\x20[index][google.spanner.v1.ReadRequest.index].\n\n\x20If\x20the\x20\
8749 [partition_token][google.spanner.v1.ReadRequest.partition_token]\x20fiel\
8750 d\x20is\x20empty,\x20rows\x20are\x20yielded\n\x20in\x20table\x20primary\
8751 \x20key\x20order\x20(if\x20[index][google.spanner.v1.ReadRequest.index]\
8752 \x20is\x20empty)\x20or\x20index\x20key\x20order\n\x20(if\x20[index][goog\
8753 le.spanner.v1.ReadRequest.index]\x20is\x20non-empty).\x20\x20If\x20the\
8754 \x20[partition_token][google.spanner.v1.ReadRequest.partition_token]\x20\
8755 field\x20is\x20not\n\x20empty,\x20rows\x20will\x20be\x20yielded\x20in\
8756 \x20an\x20unspecified\x20order.\n\n\x20It\x20is\x20not\x20an\x20error\
8757 \x20for\x20the\x20`key_set`\x20to\x20name\x20rows\x20that\x20do\x20not\n\
8758 \x20exist\x20in\x20the\x20database.\x20Read\x20yields\x20nothing\x20for\
8759 \x20nonexistent\x20rows.\n\n\r\n\x05\x04\x11\x02\x05\x06\x12\x04\xbe\x07\
8760 \x02\x08\n\r\n\x05\x04\x11\x02\x05\x01\x12\x04\xbe\x07\t\x10\n\r\n\x05\
8761 \x04\x11\x02\x05\x03\x12\x04\xbe\x07\x13\x14\n\r\n\x05\x04\x11\x02\x05\
8762 \x08\x12\x04\xbe\x07\x15=\n\x10\n\x08\x04\x11\x02\x05\x08\x9c\x08\0\x12\
8763 \x04\xbe\x07\x16<\n\xb7\x01\n\x04\x04\x11\x02\x06\x12\x04\xc3\x07\x02\
8764 \x12\x1a\xa8\x01\x20If\x20greater\x20than\x20zero,\x20only\x20the\x20fir\
8765 st\x20`limit`\x20rows\x20are\x20yielded.\x20If\x20`limit`\n\x20is\x20zer\
8766 o,\x20the\x20default\x20is\x20no\x20limit.\x20A\x20limit\x20cannot\x20be\
8767 \x20specified\x20if\n\x20`partition_token`\x20is\x20set.\n\n\r\n\x05\x04\
8768 \x11\x02\x06\x05\x12\x04\xc3\x07\x02\x07\n\r\n\x05\x04\x11\x02\x06\x01\
8769 \x12\x04\xc3\x07\x08\r\n\r\n\x05\x04\x11\x02\x06\x03\x12\x04\xc3\x07\x10\
8770 \x11\n\xf9\x02\n\x04\x04\x11\x02\x07\x12\x04\xcb\x07\x02\x19\x1a\xea\x02\
8771 \x20If\x20this\x20request\x20is\x20resuming\x20a\x20previously\x20interr\
8772 upted\x20read,\n\x20`resume_token`\x20should\x20be\x20copied\x20from\x20\
8773 the\x20last\n\x20[PartialResultSet][google.spanner.v1.PartialResultSet]\
8774 \x20yielded\x20before\x20the\x20interruption.\x20Doing\x20this\n\x20enab\
8775 les\x20the\x20new\x20read\x20to\x20resume\x20where\x20the\x20last\x20rea\
8776 d\x20left\x20off.\x20The\n\x20rest\x20of\x20the\x20request\x20parameters\
8777 \x20must\x20exactly\x20match\x20the\x20request\n\x20that\x20yielded\x20t\
8778 his\x20token.\n\n\r\n\x05\x04\x11\x02\x07\x05\x12\x04\xcb\x07\x02\x07\n\
8779 \r\n\x05\x04\x11\x02\x07\x01\x12\x04\xcb\x07\x08\x14\n\r\n\x05\x04\x11\
8780 \x02\x07\x03\x12\x04\xcb\x07\x17\x18\n\x99\x02\n\x04\x04\x11\x02\x08\x12\
8781 \x04\xd1\x07\x02\x1d\x1a\x8a\x02\x20If\x20present,\x20results\x20will\
8782 \x20be\x20restricted\x20to\x20the\x20specified\x20partition\n\x20previou\
8783 sly\x20created\x20using\x20PartitionRead().\x20\x20\x20\x20There\x20must\
8784 \x20be\x20an\x20exact\n\x20match\x20for\x20the\x20values\x20of\x20fields\
8785 \x20common\x20to\x20this\x20message\x20and\x20the\n\x20PartitionReadRequ\
8786 est\x20message\x20used\x20to\x20create\x20this\x20partition_token.\n\n\r\
8787 \n\x05\x04\x11\x02\x08\x05\x12\x04\xd1\x07\x02\x07\n\r\n\x05\x04\x11\x02\
8788 \x08\x01\x12\x04\xd1\x07\x08\x17\n\r\n\x05\x04\x11\x02\x08\x03\x12\x04\
8789 \xd1\x07\x1a\x1c\n0\n\x04\x04\x11\x02\t\x12\x04\xd4\x07\x02&\x1a\"\x20Co\
8790 mmon\x20options\x20for\x20this\x20request.\n\n\r\n\x05\x04\x11\x02\t\x06\
8791 \x12\x04\xd4\x07\x02\x10\n\r\n\x05\x04\x11\x02\t\x01\x12\x04\xd4\x07\x11\
8792 \x20\n\r\n\x05\x04\x11\x02\t\x03\x12\x04\xd4\x07#%\n\x9e\x02\n\x04\x04\
8793 \x11\x02\n\x12\x04\xdb\x07\x02\x1f\x1a\x8f\x02\x20If\x20this\x20is\x20fo\
8794 r\x20a\x20partitioned\x20read\x20and\x20this\x20field\x20is\x20set\x20to\
8795 \x20`true`,\x20the\n\x20request\x20will\x20be\x20executed\x20via\x20Span\
8796 ner\x20independent\x20compute\x20resources.\n\n\x20If\x20the\x20field\
8797 \x20is\x20set\x20to\x20`true`\x20but\x20the\x20request\x20does\x20not\
8798 \x20set\n\x20`partition_token`,\x20the\x20API\x20will\x20return\x20an\
8799 \x20`INVALID_ARGUMENT`\x20error.\n\n\r\n\x05\x04\x11\x02\n\x05\x12\x04\
8800 \xdb\x07\x02\x06\n\r\n\x05\x04\x11\x02\n\x01\x12\x04\xdb\x07\x07\x19\n\r\
8801 \n\x05\x04\x11\x02\n\x03\x12\x04\xdb\x07\x1c\x1e\n_\n\x02\x04\x12\x12\
8802 \x06\xdf\x07\0\xf1\x07\x01\x1aQ\x20The\x20request\x20for\x20[BeginTransa\
8803 ction][google.spanner.v1.Spanner.BeginTransaction].\n\n\x0b\n\x03\x04\
8804 \x12\x01\x12\x04\xdf\x07\x08\x1f\nF\n\x04\x04\x12\x02\0\x12\x06\xe1\x07\
8805 \x02\xe6\x07\x04\x1a6\x20Required.\x20The\x20session\x20in\x20which\x20t\
8806 he\x20transaction\x20runs.\n\n\r\n\x05\x04\x12\x02\0\x05\x12\x04\xe1\x07\
8807 \x02\x08\n\r\n\x05\x04\x12\x02\0\x01\x12\x04\xe1\x07\t\x10\n\r\n\x05\x04\
8808 \x12\x02\0\x03\x12\x04\xe1\x07\x13\x14\n\x0f\n\x05\x04\x12\x02\0\x08\x12\
8809 \x06\xe1\x07\x15\xe6\x07\x03\n\x10\n\x08\x04\x12\x02\0\x08\x9c\x08\0\x12\
8810 \x04\xe2\x07\x04*\n\x11\n\x07\x04\x12\x02\0\x08\x9f\x08\x12\x06\xe3\x07\
8811 \x04\xe5\x07\x05\n:\n\x04\x04\x12\x02\x01\x12\x04\xe9\x07\x02J\x1a,\x20R\
8812 equired.\x20Options\x20for\x20the\x20new\x20transaction.\n\n\r\n\x05\x04\
8813 \x12\x02\x01\x06\x12\x04\xe9\x07\x02\x14\n\r\n\x05\x04\x12\x02\x01\x01\
8814 \x12\x04\xe9\x07\x15\x1c\n\r\n\x05\x04\x12\x02\x01\x03\x12\x04\xe9\x07\
8815 \x1f\x20\n\r\n\x05\x04\x12\x02\x01\x08\x12\x04\xe9\x07!I\n\x10\n\x08\x04\
8816 \x12\x02\x01\x08\x9c\x08\0\x12\x04\xe9\x07\"H\n\x96\x02\n\x04\x04\x12\
8817 \x02\x02\x12\x04\xf0\x07\x02%\x1a\x87\x02\x20Common\x20options\x20for\
8818 \x20this\x20request.\n\x20Priority\x20is\x20ignored\x20for\x20this\x20re\
8819 quest.\x20Setting\x20the\x20priority\x20in\x20this\n\x20request_options\
8820 \x20struct\x20will\x20not\x20do\x20anything.\x20To\x20set\x20the\x20prio\
8821 rity\x20for\x20a\n\x20transaction,\x20set\x20it\x20on\x20the\x20reads\
8822 \x20and\x20writes\x20that\x20are\x20part\x20of\x20this\n\x20transaction\
8823 \x20instead.\n\n\r\n\x05\x04\x12\x02\x02\x06\x12\x04\xf0\x07\x02\x10\n\r\
8824 \n\x05\x04\x12\x02\x02\x01\x12\x04\xf0\x07\x11\x20\n\r\n\x05\x04\x12\x02\
8825 \x02\x03\x12\x04\xf0\x07#$\nK\n\x02\x04\x13\x12\x06\xf4\x07\0\x9a\x08\
8826 \x01\x1a=\x20The\x20request\x20for\x20[Commit][google.spanner.v1.Spanner\
8827 .Commit].\n\n\x0b\n\x03\x04\x13\x01\x12\x04\xf4\x07\x08\x15\n\\\n\x04\
8828 \x04\x13\x02\0\x12\x06\xf6\x07\x02\xfb\x07\x04\x1aL\x20Required.\x20The\
8829 \x20session\x20in\x20which\x20the\x20transaction\x20to\x20be\x20committe\
8830 d\x20is\x20running.\n\n\r\n\x05\x04\x13\x02\0\x05\x12\x04\xf6\x07\x02\
8831 \x08\n\r\n\x05\x04\x13\x02\0\x01\x12\x04\xf6\x07\t\x10\n\r\n\x05\x04\x13\
8832 \x02\0\x03\x12\x04\xf6\x07\x13\x14\n\x0f\n\x05\x04\x13\x02\0\x08\x12\x06\
8833 \xf6\x07\x15\xfb\x07\x03\n\x10\n\x08\x04\x13\x02\0\x08\x9c\x08\0\x12\x04\
8834 \xf7\x07\x04*\n\x11\n\x07\x04\x13\x02\0\x08\x9f\x08\x12\x06\xf8\x07\x04\
8835 \xfa\x07\x05\n?\n\x04\x04\x13\x08\0\x12\x06\xfe\x07\x02\x8c\x08\x03\x1a/\
8836 \x20Required.\x20The\x20transaction\x20in\x20which\x20to\x20commit.\n\n\
8837 \r\n\x05\x04\x13\x08\0\x01\x12\x04\xfe\x07\x08\x13\n8\n\x04\x04\x13\x02\
8838 \x01\x12\x04\x80\x08\x04\x1d\x1a*\x20Commit\x20a\x20previously-started\
8839 \x20transaction.\n\n\r\n\x05\x04\x13\x02\x01\x05\x12\x04\x80\x08\x04\t\n\
8840 \r\n\x05\x04\x13\x02\x01\x01\x12\x04\x80\x08\n\x18\n\r\n\x05\x04\x13\x02\
8841 \x01\x03\x12\x04\x80\x08\x1b\x1c\n\xa4\x04\n\x04\x04\x13\x02\x02\x12\x04\
8842 \x8b\x08\x042\x1a\x95\x04\x20Execute\x20mutations\x20in\x20a\x20temporar\
8843 y\x20transaction.\x20Note\x20that\x20unlike\n\x20commit\x20of\x20a\x20pr\
8844 eviously-started\x20transaction,\x20commit\x20with\x20a\n\x20temporary\
8845 \x20transaction\x20is\x20non-idempotent.\x20That\x20is,\x20if\x20the\n\
8846 \x20`CommitRequest`\x20is\x20sent\x20to\x20Cloud\x20Spanner\x20more\x20t\
8847 han\x20once\x20(for\n\x20instance,\x20due\x20to\x20retries\x20in\x20the\
8848 \x20application,\x20or\x20in\x20the\n\x20transport\x20library),\x20it\
8849 \x20is\x20possible\x20that\x20the\x20mutations\x20are\n\x20executed\x20m\
8850 ore\x20than\x20once.\x20If\x20this\x20is\x20undesirable,\x20use\n\x20[Be\
8851 ginTransaction][google.spanner.v1.Spanner.BeginTransaction]\x20and\n\x20\
8852 [Commit][google.spanner.v1.Spanner.Commit]\x20instead.\n\n\r\n\x05\x04\
8853 \x13\x02\x02\x06\x12\x04\x8b\x08\x04\x16\n\r\n\x05\x04\x13\x02\x02\x01\
8854 \x12\x04\x8b\x08\x17-\n\r\n\x05\x04\x13\x02\x02\x03\x12\x04\x8b\x0801\n\
8855 \x9b\x01\n\x04\x04\x13\x02\x03\x12\x04\x91\x08\x02\"\x1a\x8c\x01\x20The\
8856 \x20mutations\x20to\x20be\x20executed\x20when\x20this\x20transaction\x20\
8857 commits.\x20All\n\x20mutations\x20are\x20applied\x20atomically,\x20in\
8858 \x20the\x20order\x20they\x20appear\x20in\n\x20this\x20list.\n\n\r\n\x05\
8859 \x04\x13\x02\x03\x04\x12\x04\x91\x08\x02\n\n\r\n\x05\x04\x13\x02\x03\x06\
8860 \x12\x04\x91\x08\x0b\x13\n\r\n\x05\x04\x13\x02\x03\x01\x12\x04\x91\x08\
8861 \x14\x1d\n\r\n\x05\x04\x13\x02\x03\x03\x12\x04\x91\x08\x20!\n\xbb\x01\n\
8862 \x04\x04\x13\x02\x04\x12\x04\x96\x08\x02\x1f\x1a\xac\x01\x20If\x20`true`\
8863 ,\x20then\x20statistics\x20related\x20to\x20the\x20transaction\x20will\
8864 \x20be\x20included\x20in\n\x20the\x20[CommitResponse][google.spanner.v1.\
8865 CommitResponse.commit_stats].\x20Default\x20value\x20is\n\x20`false`.\n\
8866 \n\r\n\x05\x04\x13\x02\x04\x05\x12\x04\x96\x08\x02\x06\n\r\n\x05\x04\x13\
8867 \x02\x04\x01\x12\x04\x96\x08\x07\x1a\n\r\n\x05\x04\x13\x02\x04\x03\x12\
8868 \x04\x96\x08\x1d\x1e\n0\n\x04\x04\x13\x02\x05\x12\x04\x99\x08\x02%\x1a\"\
8869 \x20Common\x20options\x20for\x20this\x20request.\n\n\r\n\x05\x04\x13\x02\
8870 \x05\x06\x12\x04\x99\x08\x02\x10\n\r\n\x05\x04\x13\x02\x05\x01\x12\x04\
8871 \x99\x08\x11\x20\n\r\n\x05\x04\x13\x02\x05\x03\x12\x04\x99\x08#$\nO\n\
8872 \x02\x04\x14\x12\x06\x9d\x08\0\xa8\x08\x01\x1aA\x20The\x20request\x20for\
8873 \x20[Rollback][google.spanner.v1.Spanner.Rollback].\n\n\x0b\n\x03\x04\
8874 \x14\x01\x12\x04\x9d\x08\x08\x17\nY\n\x04\x04\x14\x02\0\x12\x06\x9f\x08\
8875 \x02\xa4\x08\x04\x1aI\x20Required.\x20The\x20session\x20in\x20which\x20t\
8876 he\x20transaction\x20to\x20roll\x20back\x20is\x20running.\n\n\r\n\x05\
8877 \x04\x14\x02\0\x05\x12\x04\x9f\x08\x02\x08\n\r\n\x05\x04\x14\x02\0\x01\
8878 \x12\x04\x9f\x08\t\x10\n\r\n\x05\x04\x14\x02\0\x03\x12\x04\x9f\x08\x13\
8879 \x14\n\x0f\n\x05\x04\x14\x02\0\x08\x12\x06\x9f\x08\x15\xa4\x08\x03\n\x10\
8880 \n\x08\x04\x14\x02\0\x08\x9c\x08\0\x12\x04\xa0\x08\x04*\n\x11\n\x07\x04\
8881 \x14\x02\0\x08\x9f\x08\x12\x06\xa1\x08\x04\xa3\x08\x05\n7\n\x04\x04\x14\
8882 \x02\x01\x12\x04\xa7\x08\x02D\x1a)\x20Required.\x20The\x20transaction\
8883 \x20to\x20roll\x20back.\n\n\r\n\x05\x04\x14\x02\x01\x05\x12\x04\xa7\x08\
8884 \x02\x07\n\r\n\x05\x04\x14\x02\x01\x01\x12\x04\xa7\x08\x08\x16\n\r\n\x05\
8885 \x04\x14\x02\x01\x03\x12\x04\xa7\x08\x19\x1a\n\r\n\x05\x04\x14\x02\x01\
8886 \x08\x12\x04\xa7\x08\x1bC\n\x10\n\x08\x04\x14\x02\x01\x08\x9c\x08\0\x12\
8887 \x04\xa7\x08\x1cB\nS\n\x02\x04\x15\x12\x06\xab\x08\0\xc0\x08\x01\x1aE\
8888 \x20The\x20request\x20for\x20[BatchWrite][google.spanner.v1.Spanner.Batc\
8889 hWrite].\n\n\x0b\n\x03\x04\x15\x01\x12\x04\xab\x08\x08\x19\n\xea\x01\n\
8890 \x04\x04\x15\x03\0\x12\x06\xaf\x08\x02\xb2\x08\x03\x1a\xd9\x01\x20A\x20g\
8891 roup\x20of\x20mutations\x20to\x20be\x20committed\x20together.\x20Related\
8892 \x20mutations\x20should\x20be\n\x20placed\x20in\x20a\x20group.\x20For\
8893 \x20example,\x20two\x20mutations\x20inserting\x20rows\x20with\x20the\x20\
8894 same\n\x20primary\x20key\x20prefix\x20in\x20both\x20parent\x20and\x20chi\
8895 ld\x20tables\x20are\x20related.\n\n\r\n\x05\x04\x15\x03\0\x01\x12\x04\
8896 \xaf\x08\n\x17\n8\n\x06\x04\x15\x03\0\x02\0\x12\x04\xb1\x08\x04M\x1a(\
8897 \x20Required.\x20The\x20mutations\x20in\x20this\x20group.\n\n\x0f\n\x07\
8898 \x04\x15\x03\0\x02\0\x04\x12\x04\xb1\x08\x04\x0c\n\x0f\n\x07\x04\x15\x03\
8899 \0\x02\0\x06\x12\x04\xb1\x08\r\x15\n\x0f\n\x07\x04\x15\x03\0\x02\0\x01\
8900 \x12\x04\xb1\x08\x16\x1f\n\x0f\n\x07\x04\x15\x03\0\x02\0\x03\x12\x04\xb1\
8901 \x08\"#\n\x0f\n\x07\x04\x15\x03\0\x02\0\x08\x12\x04\xb1\x08$L\n\x12\n\n\
8902 \x04\x15\x03\0\x02\0\x08\x9c\x08\0\x12\x04\xb1\x08%K\nP\n\x04\x04\x15\
8903 \x02\0\x12\x06\xb5\x08\x02\xb8\x08\x04\x1a@\x20Required.\x20The\x20sessi\
8904 on\x20in\x20which\x20the\x20batch\x20request\x20is\x20to\x20be\x20run.\n\
8905 \n\r\n\x05\x04\x15\x02\0\x05\x12\x04\xb5\x08\x02\x08\n\r\n\x05\x04\x15\
8906 \x02\0\x01\x12\x04\xb5\x08\t\x10\n\r\n\x05\x04\x15\x02\0\x03\x12\x04\xb5\
8907 \x08\x13\x14\n\x0f\n\x05\x04\x15\x02\0\x08\x12\x06\xb5\x08\x15\xb8\x08\
8908 \x03\n\x10\n\x08\x04\x15\x02\0\x08\x9c\x08\0\x12\x04\xb6\x08\x04*\n\x0f\
8909 \n\x07\x04\x15\x02\0\x08\x9f\x08\x12\x04\xb7\x08\x04P\n0\n\x04\x04\x15\
8910 \x02\x01\x12\x04\xbb\x08\x02%\x1a\"\x20Common\x20options\x20for\x20this\
8911 \x20request.\n\n\r\n\x05\x04\x15\x02\x01\x06\x12\x04\xbb\x08\x02\x10\n\r\
8912 \n\x05\x04\x15\x02\x01\x01\x12\x04\xbb\x08\x11\x20\n\r\n\x05\x04\x15\x02\
8913 \x01\x03\x12\x04\xbb\x08#$\nB\n\x04\x04\x15\x02\x02\x12\x06\xbe\x08\x02\
8914 \xbf\x08/\x1a2\x20Required.\x20The\x20groups\x20of\x20mutations\x20to\
8915 \x20be\x20applied.\n\n\r\n\x05\x04\x15\x02\x02\x04\x12\x04\xbe\x08\x02\n\
8916 \n\r\n\x05\x04\x15\x02\x02\x06\x12\x04\xbe\x08\x0b\x18\n\r\n\x05\x04\x15\
8917 \x02\x02\x01\x12\x04\xbe\x08\x19(\n\r\n\x05\x04\x15\x02\x02\x03\x12\x04\
8918 \xbe\x08+,\n\r\n\x05\x04\x15\x02\x02\x08\x12\x04\xbf\x08\x06.\n\x10\n\
8919 \x08\x04\x15\x02\x02\x08\x9c\x08\0\x12\x04\xbf\x08\x07-\n<\n\x02\x04\x16\
8920 \x12\x06\xc3\x08\0\xce\x08\x01\x1a.\x20The\x20result\x20of\x20applying\
8921 \x20a\x20batch\x20of\x20mutations.\n\n\x0b\n\x03\x04\x16\x01\x12\x04\xc3\
8922 \x08\x08\x1a\n\x98\x01\n\x04\x04\x16\x02\0\x12\x04\xc6\x08\x02\x1d\x1a\
8923 \x89\x01\x20The\x20mutation\x20groups\x20applied\x20in\x20this\x20batch.\
8924 \x20The\x20values\x20index\x20into\x20the\n\x20`mutation_groups`\x20fiel\
8925 d\x20in\x20the\x20corresponding\x20`BatchWriteRequest`.\n\n\r\n\x05\x04\
8926 \x16\x02\0\x04\x12\x04\xc6\x08\x02\n\n\r\n\x05\x04\x16\x02\0\x05\x12\x04\
8927 \xc6\x08\x0b\x10\n\r\n\x05\x04\x16\x02\0\x01\x12\x04\xc6\x08\x11\x18\n\r\
8928 \n\x05\x04\x16\x02\0\x03\x12\x04\xc6\x08\x1b\x1c\nW\n\x04\x04\x16\x02\
8929 \x01\x12\x04\xc9\x08\x02\x1f\x1aI\x20An\x20`OK`\x20status\x20indicates\
8930 \x20success.\x20Any\x20other\x20status\x20indicates\x20a\x20failure.\n\n\
8931 \r\n\x05\x04\x16\x02\x01\x06\x12\x04\xc9\x08\x02\x13\n\r\n\x05\x04\x16\
8932 \x02\x01\x01\x12\x04\xc9\x08\x14\x1a\n\r\n\x05\x04\x16\x02\x01\x03\x12\
8933 \x04\xc9\x08\x1d\x1e\n\x80\x01\n\x04\x04\x16\x02\x02\x12\x04\xcd\x08\x02\
8934 1\x1ar\x20The\x20commit\x20timestamp\x20of\x20the\x20transaction\x20that\
8935 \x20applied\x20this\x20batch.\n\x20Present\x20if\x20`status`\x20is\x20`O\
8936 K`,\x20absent\x20otherwise.\n\n\r\n\x05\x04\x16\x02\x02\x06\x12\x04\xcd\
8937 \x08\x02\x1b\n\r\n\x05\x04\x16\x02\x02\x01\x12\x04\xcd\x08\x1c,\n\r\n\
8938 \x05\x04\x16\x02\x02\x03\x12\x04\xcd\x08/0b\x06proto3\
8939";
8940
8941static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT;
8942
8943fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto {
8944 ::protobuf::Message::parse_from_bytes(file_descriptor_proto_data).unwrap()
8945}
8946
8947pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
8948 file_descriptor_proto_lazy.get(|| {
8949 parse_descriptor_proto()
8950 })
8951}