8 releases

0.4.1 Dec 9, 2022
0.4.0 Sep 12, 2022
0.3.1 Nov 3, 2021
0.3.0 Oct 26, 2021
0.1.2 Jul 16, 2021

#164 in Database interfaces

Download history 294/week @ 2023-02-07 402/week @ 2023-02-14 474/week @ 2023-02-21 212/week @ 2023-02-28 705/week @ 2023-03-07 870/week @ 2023-03-14 1017/week @ 2023-03-21 958/week @ 2023-03-28 1006/week @ 2023-04-04 1491/week @ 2023-04-11 729/week @ 2023-04-18 688/week @ 2023-04-25 719/week @ 2023-05-02 529/week @ 2023-05-09 745/week @ 2023-05-16 559/week @ 2023-05-23

2,651 downloads per month

MIT/Apache

97KB
2K SLoC

Deadpool for Diesel Latest Version Unsafe forbidden Rust 1.54+

Deadpool is a dead simple async pool for connections and objects of any type.

This crate implements a deadpool manager for diesel connections.

Features

Feature Description Extra dependencies Default
sqlite Enable sqlite feature in diesel crate diesel/sqlite no
postgres Enable postgres feature in diesel crate diesel/postgres no
mysql Enable mysql feature in diesel crate diesel/mysql no
rt_tokio_1 Enable support for tokio crate deadpool/rt_tokio_1 yes
rt_async-std_1 Enable support for async-std crate deadpool/rt_async-std_1 no
serde Enable support for serde crate deadpool/serde no

Example

use deadpool_diesel::sqlite::{Runtime, Manager, Pool};
use diesel::{prelude::*, select, sql_types::Text};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let manager = Manager::new(":memory:", Runtime::Tokio1);
    let pool = Pool::builder(manager)
        .max_size(8)
        .build()
        .unwrap();
    let conn = pool.get().await?;
    let result = conn.interact(|conn| {
        let query = select("Hello world!".into_sql::<Text>());
        query.get_result::<String>(conn)
    }).await??;
    assert!(result == "Hello world!");
    Ok(())
}

License

Licensed under either of

at your option.

Dependencies

~4–12MB
~211K SLoC