pub trait ReadContext {
// Required method
fn execute_query<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 mut self,
statement: &'life1 str,
parameters: &'life2 [(&'life3 str, &'life4 (dyn ToSpanner + Sync))],
) -> Pin<Box<dyn Future<Output = Result<ResultSet, Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait;
}Expand description
Defines the interface to read data out of Cloud Spanner.
Required Methods§
Sourcefn execute_query<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 mut self,
statement: &'life1 str,
parameters: &'life2 [(&'life3 str, &'life4 (dyn ToSpanner + Sync))],
) -> Pin<Box<dyn Future<Output = Result<ResultSet, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
fn execute_query<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 mut self,
statement: &'life1 str,
parameters: &'life2 [(&'life3 str, &'life4 (dyn ToSpanner + Sync))],
) -> Pin<Box<dyn Future<Output = Result<ResultSet, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
Execute a read-only SQL statement and returns a ResultSet.
§Parameters
As per the Cloud Spanner documentation, the statement may contain named parameters, e.g.: @param_name.
When such parameters are present in the SQL query, their value must be provided in the second argument to this function.
See ToSpanner to determine how Rust values can be mapped to Cloud Spanner values.
If the parameter values do not line up with parameters in the statement, an Error is returned.
§Example
let my_id = 42;
let rs = client.read_only().execute_query(
"SELECT id FROM person WHERE id > @my_id",
&[("my_id", &my_id)],
).await?;
for row in rs.iter() {
let id: u32 = row.get("id")?;
println!("id: {}", id);
}