7 releases (4 breaking)
0.5.1 | May 9, 2024 |
---|---|
0.5.0 | Jun 22, 2023 |
0.4.0 | May 15, 2023 |
0.3.0 | Jul 27, 2022 |
0.0.0 | Jan 28, 2022 |
#1088 in Database interfaces
436 downloads per month
Used in 5 crates
(4 directly)
255KB
6K
SLoC
EdgeDB Rust Binding for Tokio
Work in progress asynchronous bindings of EdgeDB for Tokio main loop.
Example Usage
#[tokio::main]
async fn main() -> anyhow::Result<()> {
let conn = edgedb_tokio::create_client().await?;
let val = conn.query_required_single::<i64, _>(
"SELECT 7*8",
&(),
).await?;
println!("7*8 is: {}", val);
Ok(())
}
Transaction Example
#[tokio::main]
async fn main() -> anyhow::Result<()> {
let conn = edgedb_tokio::create_client().await?;
let val = conn.transaction(|mut transaction| async move {
transaction.query_required_single::<i64, _>(
"SELECT (UPDATE Counter SET { value := .value + 1}).value LIMIT 1",
&()
).await
}).await?;
println!("Counter: {val}");
Ok(())
}
More examples on github
License
Licensed under either of
- Apache License, Version 2.0, (./LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (./LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Dependencies
~16–28MB
~524K SLoC