aegis-client-0.1.6 has been yanked.
aegis-client
Client SDK for the Aegis Database Platform.
Overview
aegis-client provides a Rust client library for connecting to Aegis servers. It features connection pooling, automatic reconnection, query building, and transaction support.
Features
- Connection Pooling - Efficient connection management
- Async/Await - Full async support with Tokio
- Query Builder - Type-safe query construction
- Transactions - ACID transaction support
- Automatic Retry - Configurable retry policies
Modules
| Module | Description |
|---|---|
connection |
Connection management |
pool |
Connection pooling |
query |
Query builder |
transaction |
Transaction handling |
result |
Query result types |
error |
Error types |
config |
Client configuration |
Usage
[]
= { = "../aegis-client" }
Basic Example
use ;
async
Connection Pooling
use ;
let pool_config = default
.min_connections
.max_connections
.idle_timeout;
let client = with_pool.await?;
Transactions
// Begin transaction
let tx = client.begin.await?;
// Execute queries within transaction
tx.execute.await?;
tx.execute.await?;
// Commit (or rollback on error)
tx.commit.await?;
Query Builder
use QueryBuilder;
let query = select
.columns
.from
.where_clause
.order_by
.limit
.build;
let result = client.execute.await?;
Key-Value Operations
// Set a key
client.kv_set.await?;
// Get a key
let value = client.kv_get.await?;
// Delete a key
client.kv_delete.await?;
// List keys with prefix
let keys = client.kv_list.await?;
Configuration
let config = new
.with_auth
.with_timeout
.with_retry_policy
.with_tls;
Error Handling
use ClientError;
match client.query.await
Tests
Test count: 45 tests
License
Apache-2.0