Crate ydb

source · []
Expand description

YDB SDK - a client for YDB.

Example


 // create driver
 let client = ClientBuilder::new_from_connection_string("grpc://localhost:2136?database=local")?
    .with_credentials(StaticToken::from("asd"))
    .client()?;

 // wait until driver background initialization finish
 client.wait().await?;

 // read query result
 let sum: i32 = client
    .table_client() // create table client
    .retry_transaction(|mut t| async move {
        // code in transaction can retry few times if was some retriable error

        // send query to database
        let res = t.query(Query::from("SELECT 1 + 1 AS sum")).await?;

        // read exact one result from db
        let field_val: i32 = res.into_only_row()?.remove_field_by_name("sum")?.try_into()?;

        // return result
        return Ok(field_val);
    })
    .await?;

 // it will print "sum: 2"
 println!("sum: {}", sum);

More examples

Url shorneter application

Many small examples

Macros

sugar for manual construct query params

Structs

YDB client

Get from stdout of command

Current discovery state

Get instance service account token from GCE instance

Query object

Retry options

Always discovery once static node

Credentials with static token without renewing

Client for YDB table service (SQL queries)

Options for create transaction

Describe issue from server

Describe operation status from server

Enums

Internal represent database value for send to or received from database.

Error which can be returned from the crate.

Severity of issue

Error for wrap user errors while return it from callback

Traits

Type Definitions

Get token of service account of instance

T result or YdbError as Error

T result or YdbOrCustomerError as Error