Skip to main content

GrpcChunkStream

Struct GrpcChunkStream 

Source
pub struct GrpcChunkStream { /* private fields */ }
Expand description

Streaming producer of Arrow IPC byte chunks from a gRPC query.

Unlike GrpcClient::execute_query, which drains every result chunk into a single GrpcQueryResult before returning, this type yields one Bytes chunk at a time. The caller can decode each chunk (e.g. via arrow_ipc::reader::StreamDecoder) and drop it before fetching the next, so memory stays bounded by roughly one message (capped at the tonic max_decoding_message_size, default 64 MB) regardless of total result size.

Built by GrpcClient::execute_query_stream and the AuthenticatedGrpcClient variant.

Implementations§

Source§

impl GrpcChunkStream

Source

pub async fn next_chunk(&mut self) -> Result<Option<Bytes>>

Returns the next Arrow IPC byte chunk from the stream, or None when the server has signalled that the stream is complete.

§Errors

Propagates any error from the underlying executor’s next_result call — typically tonic::Status errors wrapped as Error (server-side query failure, auth expiry, or transport-level gRPC errors).

Source

pub fn schema(&self) -> Option<&QueryResultSchema>

Returns the schema reported by the server for this query, if one has been received yet.

The schema is typically delivered as the first message on the stream, so it is usually available after the first next_chunk() call.

Source

pub fn query_id(&self) -> Option<&str>

Returns the server-assigned query ID, if one has been received.

Source

pub fn rows_affected(&self) -> Option<u64>

Returns the affected row count for DML queries, if reported.

Trait Implementations§

Source§

impl Debug for GrpcChunkStream

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
Source§

impl<L> LayerExt<L> for L

Source§

fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>
where L: Layer<S>,

Applies the layer to a service and wraps it in Layered.
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more