Struct qldb::Cursor[][src]

pub struct Cursor { /* fields omitted */ }

Cursor allows to get all values from a statement page by page.

QLDB returns 200 documents for each page.

You don’t need to directly use Cursor in your code. When the method uses Cursor internally in order to load all values.

use qldb::{QLDBClient, Cursor};

let client = QLDBClient::default("rust-crate-test").await?;

let mut value_to_insert = HashMap::new();
// This will insert a documents with a key "test_column"
// with the value "IonValue::String(test_value)"
value_to_insert.insert("test_column", "test_value");

client
    .transaction_within(|client| async move {   
        let mut cursor = client
            .query("SEL/CT * FROM TestTable")
            .get_cursor()?;
             
            while let Some(mut values) = cursor.load_more().await? {
                println!("{:?}", values);
            }

        Ok(())
    })
    .await?;

Implementations

impl Cursor[src]

pub async fn load_more(&mut self) -> QLDBResult<Option<DocumentCollection>>[src]

It loads the next page from a query. It automatically tracks the next_page_token, so you can call this method again and again in order to load all pages.

It returns Ok(Some(_)) when QLDB returns documents.

It returns Ok(None) when QLDB doesn’t return documents, which means that there isn’t more pages to query


    while let Some(mut values) = cursor.load_more().await? {
        println!("{:?}", values);
    }
     

pub async fn load_all(self) -> QLDBResult<DocumentCollection>[src]

Loads all pages from the cursor and consumes it in the process.

Trait Implementations

impl Debug for Cursor[src]

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

Formats the value using the given formatter. Read more

Auto Trait Implementations

impl !RefUnwindSafe for Cursor

impl Send for Cursor

impl Sync for Cursor

impl Unpin for Cursor

impl !UnwindSafe for Cursor

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T> Instrument for T[src]

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

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

fn in_current_span(self) -> Instrumented<Self>[src]

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

impl<T> Instrument for T[src]

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

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

fn in_current_span(self) -> Instrumented<Self>[src]

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

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

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

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

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

Performs the conversion.