edgedb-tokio

Crates.ioedgedb-tokio
lib.rsedgedb-tokio
version0.5.1
sourcesrc
created_at2022-01-28 16:34:04.939915
updated_at2024-05-09 16:19:15.912414
description EdgeDB database client implementation for tokio.
homepage
repository
max_upload_size
id523149
size349,010
EdgeDB CI and Release Bot (edgedb-ci)

documentation

README

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

at your option.

Commit count: 0

cargo fmt