10 个版本 (破坏性更新)

0.8.1 2024年5月14日
0.8.0 2024年3月31日
0.7.0 2023年11月14日
0.5.0 2022年7月18日
0.1.0 2021年5月30日

#2103 in 数据库接口

Download history 1807/week @ 2024-05-03 2352/week @ 2024-05-10 2157/week @ 2024-05-17 2036/week @ 2024-05-24 2036/week @ 2024-05-31 1807/week @ 2024-06-07 1710/week @ 2024-06-14 1948/week @ 2024-06-21 1735/week @ 2024-06-28 1742/week @ 2024-07-05 2136/week @ 2024-07-12 2207/week @ 2024-07-19 1945/week @ 2024-07-26 1638/week @ 2024-08-02 1116/week @ 2024-08-09 1267/week @ 2024-08-16

6,587 每月下载量
18 个crate中使用 (直接使用 9 个)

MIT/Apache

93KB
1.5K SLoC

Deadpool是一个简单的异步连接和任意类型对象的池。最新版本 禁止不安全 Rust 1.75+

Deadpool是一个用于rusqlite的简单异步池。

此crate实现了rusqlite的deadpool管理器,并提供了包装器以确保在单独的线程中正确使用连接。

特性

特性 描述 额外依赖项 默认
rt_tokio_1 启用对tokio crate的支持 deadpool/rt_tokio_1
rt_async-std_1 启用对async-std crate的支持 deadpool/rt_async-std_1
serde 启用对serde crate的支持 deadpool/serde, serde/derive
tracing 通过在interact()调用中传播Spans来启用对tracing的支持。如果您使用tracing crate并且希望在interact()调用中获取有用的跟踪,则启用此功能。 deadpool-sync/tracing, tracing

示例

use deadpool_sqlite::{Config, Runtime};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let mut cfg = Config::new("db.sqlite3");
    let pool = cfg.create_pool(Runtime::Tokio1).unwrap();
    let conn = pool.get().await.unwrap();
    let result: i64 = conn
        .interact(|conn| {
            let mut stmt = conn.prepare("SELECT 1")?;
            let mut rows = stmt.query([])?;
            let row = rows.next()?.unwrap();
            row.get(0)
        })
        .await??;
    assert_eq!(result, 1);
    Ok(())
}

许可证

根据以下许可证之一许可:

根据您的选择。

依赖关系

~23-34MB
~554K SLoC