Struct scylla::transport::iterator::QueryPager

source ·
pub struct QueryPager { /* private fields */ }
Expand description

An intermediate object that allows to construct a stream over a query that is asynchronously paged in the background.

Before the results can be processed in a convenient way, the QueryPager needs to be cast into a typed stream. This is done by use of rows_stream() method. As the method is generic over the target type, the turbofish syntax can come in handy there, e.g. query_pager.rows_stream::<(i32, String, Uuid)>().

A pre-0.15.0 interface is also available, although deprecated: into_legacy() method converts QueryPager to LegacyRowIterator, enabling Stream’ed operation on rows being eagerly deserialized to the middle-man Row type. This is inefficient, especially if Row is not the intended target type.

Implementations§

source§

impl QueryPager

source

pub fn type_check<'frame, 'metadata, RowT: DeserializeRow<'frame, 'metadata>>( &self, ) -> Result<(), TypeCheckError>

Type-checks the iterator against given type.

This is automatically called upon transforming QueryPager into TypedRowStream. Can be used with next() for manual deserialization. See next() for an example.

source

pub fn rows_stream<RowT: 'static + for<'frame, 'metadata> DeserializeRow<'frame, 'metadata>>( self, ) -> Result<TypedRowStream<RowT>, TypeCheckError>

Casts the iterator to a given row type, enabling Stream’ed operations on rows, which deserialize them on-the-fly to that given type. It only allows deserializing owned types, because Stream is not lending. Begins with performing type check.

source

pub fn into_legacy(self) -> LegacyRowIterator

👎Deprecated since 0.15.0: Legacy deserialization API is inefficient and is going to be removed soon

Converts this iterator into an iterator over rows parsed as given type, using the legacy deserialization framework. This is inefficient, because all rows are being eagerly deserialized to a middle-man Row type.

source

pub fn tracing_ids(&self) -> &[Uuid]

If tracing was enabled returns tracing ids of all finished page queries

source

pub fn column_specs(&self) -> ColumnSpecs<'_>

Returns specification of row columns

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> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

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

§

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>,

§

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<V, T> VZip<V> for T
where V: MultiLane<T>,

source§

fn vzip(self) -> V

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
source§

impl<T> ErasedDestructor for T
where T: 'static,