Skip to main content

DataRowCursor

Struct DataRowCursor 

Source
pub struct DataRowCursor { /* private fields */ }
Available on crate feature sea-ql only.
Expand description

A cursor that emits dynamically-typed DataRows decoded from RowBinaryWithNamesAndTypes.

Obtain one via crate::query::Query::fetch_rows.

Implementations§

Source§

impl DataRowCursor

Source

pub fn columns(&self) -> Option<&[Arc<str>]>

Returns column names after the header has been read (i.e., after the first next call returns).

Source

pub fn received_bytes(&self) -> u64

Returns the total size in bytes received from the CH server since the cursor was created.

This counts only the payload size (no HTTP headers).

Source

pub fn decoded_bytes(&self) -> u64

Returns the total size in bytes decompressed since the cursor was created.

Source

pub async fn next(&mut self) -> Result<Option<DataRow>>

Emits the next row.

Returns Ok(None) when all rows have been consumed. The result is unspecified if called after an Err is returned.

§Cancel safety

This method is cancellation safe.

Source

pub async fn next_batch(&mut self, max_rows: usize) -> Result<Option<RowBatch>>

Reads up to max_rows rows and returns them as a column-oriented RowBatch.

Returns Ok(None) when all rows have been consumed. The result is unspecified if called after an Err is returned.

Source

pub async fn next_arrow_batch( &mut self, max_rows: usize, ) -> Result<Option<RecordBatch>>

Available on crate feature arrow only.

Reads up to max_rows rows and returns them as an Arrow RecordBatch.

The schema is derived from the RowBinaryWithNamesAndTypes header using crate::arrow::schema::from_columns and is available on the returned batch via [RecordBatch::schema].

Returns Ok(None) when all rows have been consumed. The result is unspecified if called after an Err is returned.

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<U> As for U

Source§

fn as_<T>(self) -> T
where T: CastFrom<U>,

Casts self to type T. The semantics of numeric casting with the as operator are followed, so <T as As>::as_::<U> can be used in the same way as T as U for numeric conversions. 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> Is for T
where T: ?Sized,

Source§

type EqTo = T

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