odbc_api

Struct BlockCursorPolling

Source
pub struct BlockCursorPolling<C, B>
where C: AsStatementRef,
{ /* private fields */ }
Expand description

Asynchronously iterates in blocks (called row sets) over a result set, filling a buffers with a lot of rows at once, instead of iterating the result set row by row. This is usually much faster. Asynchronous sibiling of self::BlockCursor.

Implementations§

Source§

impl<C, B> BlockCursorPolling<C, B>
where C: AsStatementRef,

Source

pub async fn fetch(&mut self, sleep: impl Sleep) -> Result<Option<&B>, Error>
where B: RowSetBuffer,

Fills the bound buffer with the next row set.

§Return

None if the result set is empty and all row sets have been extracted. Some with a reference to the internal buffer otherwise.

Source

pub async fn fetch_with_truncation_check( &mut self, error_for_truncation: bool, sleep: impl Sleep, ) -> Result<Option<&B>, Error>
where B: RowSetBuffer,

Fills the bound buffer with the next row set. Should error_for_truncation be trueand any diagnostic indicate truncation of a value an error is returned.

§Return

None if the result set is empty and all row sets have been extracted. Some with a reference to the internal buffer otherwise.

Call this method to find out whether there are any truncated values in the batch, without inspecting all its rows and columns.

Trait Implementations§

Source§

impl<C, B> Drop for BlockCursorPolling<C, B>
where C: AsStatementRef,

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more

Auto Trait Implementations§

§

impl<C, B> Freeze for BlockCursorPolling<C, B>
where B: Freeze, C: Freeze,

§

impl<C, B> RefUnwindSafe for BlockCursorPolling<C, B>

§

impl<C, B> Send for BlockCursorPolling<C, B>
where B: Send, C: Send,

§

impl<C, B> Sync for BlockCursorPolling<C, B>
where B: Sync, C: Sync,

§

impl<C, B> Unpin for BlockCursorPolling<C, B>
where B: Unpin, C: Unpin,

§

impl<C, B> UnwindSafe for BlockCursorPolling<C, B>
where B: UnwindSafe, C: UnwindSafe,

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