Expand description
Rows iterator for query results - Rust idiomatic API
§Example
use radixdb_api::{Database, FromRow, ResultRow};
use radixdb_core::Result;
// Idiomatic Rust iteration
for row in db.query("SELECT * FROM users", ())? {
let row = row?;
let id: i64 = row.get(0)?;
let name: String = row.get(1)?;
println!("{}: {}", id, name);
}
// With combinators
let names: Vec<String> = db.query("SELECT name FROM users", ())?
.map(|r| r.and_then(|row| row.get(0)))
.collect::<Result<_>>()?;
// With FromRow for struct mapping
struct User { id: i64, name: String }
impl FromRow for User {
fn from_row(row: &ResultRow) -> Result<Self> {
Ok(User {
id: row.get(0)?,
name: row.get(1)?,
})
}
}
let users: Vec<User> = db.query_as("SELECT id, name FROM users", ())?;Structs§
Traits§
- FromRow
- Trait for converting a database row into a Rust struct