Struct qldb::Cursor [−][src]
pub struct Cursor { /* fields omitted */ }
Expand description
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", 200).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
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); }
Loads all pages from the cursor and consumes it in the process.
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for Cursor
impl !UnwindSafe for Cursor