rbdc-sqlite
SQLite database driver for the rbdc database abstraction layer.
Features
- High-performance async connection based on libsqlite3
- Full SQLite data type support
- Connection pooling support
- Zero-copy serialization/deserialization
- Bundled SQLite support (no external dependencies)
- SQLCipher encryption support (optional)
Supported Connection String Formats
1. In-memory database
sqlite://:memory:
2. File-based database
sqlite://path/to/database.db
Usage
use ConnectionManager;
use SqliteDriver;
async
RBDC Architecture
- Database driver abstraction layer
- Zero-copy serialization/deserialization
Data flow: Database -> bytes -> rbs::Value -> Struct(User Define) Reverse: Struct(User Define) -> rbs::ValueRef -> ref clone() -> Database
How to Define a Custom Driver?
Implement the following traits and load the driver:
impl trait rbdc::db::{Driver, MetaData, Row, Connection, ConnectOptions, Placeholder}
Dependencies
- libsqlite3-sys - SQLite bindings
- url - URL parsing
- percent-encoding - URL encoding
License
This project is licensed under the same license as rbdc.