pub struct Transaction { /* private fields */ }
Implementations§
Source§impl Transaction
impl Transaction
Sourcepub async fn query(
&mut self,
statement: Statement,
) -> Result<RowIterator<'_, impl Reader>, Status>
pub async fn query( &mut self, statement: Statement, ) -> Result<RowIterator<'_, impl Reader>, Status>
query executes a query against the database. It returns a RowIterator for retrieving the resulting rows.
query returns only row data, without a query plan or execution statistics.
Sourcepub async fn query_with_option(
&mut self,
statement: Statement,
options: QueryOptions,
) -> Result<RowIterator<'_, impl Reader>, Status>
pub async fn query_with_option( &mut self, statement: Statement, options: QueryOptions, ) -> Result<RowIterator<'_, impl Reader>, Status>
query executes a query against the database. It returns a RowIterator for retrieving the resulting rows.
query returns only row data, without a query plan or execution statistics.
Sourcepub async fn read(
&mut self,
table: &str,
columns: &[&str],
key_set: impl Into<KeySet>,
) -> Result<RowIterator<'_, impl Reader>, Status>
pub async fn read( &mut self, table: &str, columns: &[&str], key_set: impl Into<KeySet>, ) -> Result<RowIterator<'_, impl Reader>, Status>
read returns a RowIterator for reading multiple rows from the database.
use google_cloud_spanner::key::Key;
use google_cloud_spanner::client::{Client, Error};
#[tokio::main]
async fn run(client: Client) -> Result<(), Error> {
let mut tx = client.single().await?;
let mut iter = tx.read("Guild", &["GuildID", "OwnerUserID"], vec![
Key::new(&"pk1"),
Key::new(&"pk2")
]).await?;
while let Some(row) = iter.next().await? {
let guild_id = row.column_by_name::<String>("GuildID");
//do something
};
Ok(())
}
Sourcepub async fn read_with_option(
&mut self,
table: &str,
columns: &[&str],
key_set: impl Into<KeySet>,
options: ReadOptions,
) -> Result<RowIterator<'_, impl Reader>, Status>
pub async fn read_with_option( &mut self, table: &str, columns: &[&str], key_set: impl Into<KeySet>, options: ReadOptions, ) -> Result<RowIterator<'_, impl Reader>, Status>
read returns a RowIterator for reading multiple rows from the database.
Sourcepub async fn read_row(
&mut self,
table: &str,
columns: &[&str],
key: Key,
) -> Result<Option<Row>, Status>
pub async fn read_row( &mut self, table: &str, columns: &[&str], key: Key, ) -> Result<Option<Row>, Status>
read returns a RowIterator for reading multiple rows from the database.
use google_cloud_spanner::key::Key;
use google_cloud_spanner::client::Client;
use google_cloud_spanner::client::Error;
async fn run(client: Client) -> Result<(), Error> {
let mut tx = client.single().await?;
let row = tx.read_row("Guild", &["GuildID", "OwnerUserID"], Key::new(&"guild1")).await?;
Ok(())
}
Sourcepub async fn read_row_with_option(
&mut self,
table: &str,
columns: &[&str],
key: Key,
options: ReadOptions,
) -> Result<Option<Row>, Status>
pub async fn read_row_with_option( &mut self, table: &str, columns: &[&str], key: Key, options: ReadOptions, ) -> Result<Option<Row>, Status>
read returns a RowIterator for reading multiple rows from the database.
Auto Trait Implementations§
impl !Freeze for Transaction
impl !RefUnwindSafe for Transaction
impl Send for Transaction
impl Sync for Transaction
impl Unpin for Transaction
impl !UnwindSafe for Transaction
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T
in a tonic::Request