pub struct PartialResultSet {
pub resume_token: Vec<u8>,
pub estimated_batch_size: i32,
pub partial_rows: Option<PartialRows>,
}
Expand description
A partial result set from the streaming query API. CBT client will buffer partial_rows from result_sets until it gets a resumption_token.
Fields§
§resume_token: Vec<u8>
An opaque token sent by the server to allow query resumption and signal
the client to accumulate partial_rows
since the last non-empty
resume_token
. On resumption, the resumed query will return the remaining
rows for this query.
If there is a batch in progress, a non-empty resume_token
means that that the batch of partial_rows
will be complete after merging
the partial_rows
from this response. The client must only yield
completed batches to the application, and must ensure that any future
retries send the latest token to avoid returning duplicate data.
The server may set ‘resume_token’ without a ‘partial_rows’. If there is a batch in progress the client should yield it.
The server will also send a sentinel resume_token
when last batch of
partial_rows
is sent. If the client retries the ExecuteQueryRequest with
the sentinel resume_token
, the server will emit it again without any
partial_rows
, then return OK.
estimated_batch_size: i32
Estimated size of a new batch. The server will always set this when
returning the first partial_rows
of a batch, and will not set it at any
other time.
The client can use this estimate to allocate an initial buffer for the batched results. This helps minimize the number of allocations required, though the buffer size may still need to be increased if the estimate is too low.
partial_rows: Option<PartialRows>
Partial Rows in one of the supported formats. It may require many
PartialResultSets to stream a batch of rows that can decoded on the client.
The client should buffer partial_rows until it gets a resume_token
,
at which point the batch is complete and can be decoded and yielded to the
user. Each sub-message documents the appropriate way to combine results.
Trait Implementations§
Source§impl Clone for PartialResultSet
impl Clone for PartialResultSet
Source§fn clone(&self) -> PartialResultSet
fn clone(&self) -> PartialResultSet
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for PartialResultSet
impl Debug for PartialResultSet
Source§impl Default for PartialResultSet
impl Default for PartialResultSet
Source§impl Message for PartialResultSet
impl Message for PartialResultSet
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
.Source§impl PartialEq for PartialResultSet
impl PartialEq for PartialResultSet
impl StructuralPartialEq for PartialResultSet
Auto Trait Implementations§
impl Freeze for PartialResultSet
impl RefUnwindSafe for PartialResultSet
impl Send for PartialResultSet
impl Sync for PartialResultSet
impl Unpin for PartialResultSet
impl UnwindSafe for PartialResultSet
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request