[][src]Struct qldb::Cursor

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]

Auto Trait Implementations

Blanket Implementations

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

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

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

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

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

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

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.

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.