Crate ydb_unofficial
source ·Expand description
§Unofficial Ydb Client library
There is an alternative of ydb
§Targets:
- more usability
- more freedom to use wrappers or raw objects from grpc bindings
- ability to create your own implementation of common traits, like
Credentials
- easy to use pool objects
§Goals:
- YQL Query for data (like DML)
- YQL Query for sheme (like DDL)
- Connect over grpcs (with tls)
- Connect over grpc (without tls) - not worked, unknown cause
-
Connection pool (with
deadpool
) (featurepool
) - Token authentication
-
Service account key authentication (feature
auth-sa
) - Metadata authentication
- Query helpers (a lot of)
sqlx
integration - partially done (featuresqlx
):- Connection string
- connection
- binding parameters
- preparing statements
- transaction manager
- DML (data) operations
- DDL (scheme) operations
- primitive types (bool, i8, i32, i64, u8, u32, u64, f32, f64, Vec<u8>, String)
- date types (Date, Datetime, Timestamp, Interval)
- json type (Json, JsonDocument)
- Decimal type
- connection pool balancing for discovery
- compile-time checked queries
- migrations
- multiple transaction modes
- log statements
- operation parameters
§Features
Re-exports§
pub use client::YdbConnection;
pub use client::YdbTransaction;
pub use tonic;
Modules§
- Staff to implement authentication to Ydb. You can make your own auth by implement
Credentials
- Common Ydb client, that wraps GRPC(s) transport with needed headers
- Some error types that may appear when interacting with Ydb
- A lot of autogenerated (with
tonic
) grpc-types from ydb .proto files - pool
pool
Implementation of pool ofYdbConnection
. Uses methodlist_endpoints
ofDiscoveryServiceClient
to create pool on multiple endpoints - sqlx
sqlx
SQLX traits implementation for Ydb
Traits§
- The trait to invoke payload result from response. See examples in
crate::client
Type Aliases§
- Ascii encoded value to use in grpc metadata