pub struct Cursor { /* private fields */ }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
sourceimpl Cursor
impl Cursor
sourcepub async fn load_more(&mut self) -> QldbResult<Option<DocumentCollection>>
pub async fn load_more(&mut self) -> QldbResult<Option<DocumentCollection>>
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);
}
sourcepub async fn load_all(self) -> QldbResult<DocumentCollection>
pub async fn load_all(self) -> QldbResult<DocumentCollection>
Loads all pages from the cursor and consumes it in the process.
Trait Implementations
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
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
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
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber to this type, returning a
WithDispatch wrapper. Read more