1 unstable release
0.1.1 | Apr 10, 2023 |
---|---|
0.1.0 |
|
#27 in #connection-manager
8KB
91 lines
r2d2-sqlite-pool
r2d2 connection pool for sqlite forked from https://github.com/ivanceras/r2d2-sqlite.
lib.rs
:
Sqlite support for the r2d2
connection pool.
Library crate: r2d2_sqlite_pool
Integrated with: r2d2 and rusqlite
Example
extern crate r2d2;
extern crate r2d2_sqlite_pool;
extern crate rusqlite;
use std::thread;
use r2d2_sqlite_pool::SqliteConnectionManager;
use rusqlite::params;
fn main() {
let manager = SqliteConnectionManager::file("file.db");
let pool = r2d2::Pool::new(manager).unwrap();
pool.get()
.unwrap()
.execute("CREATE TABLE IF NOT EXISTS foo (bar INTEGER)", params![])
.unwrap();
(0..10)
.map(|i| {
let pool = pool.clone();
thread::spawn(move || {
let conn = pool.get().unwrap();
conn.execute("INSERT INTO foo (bar) VALUES (?)", &[&i])
.unwrap();
})
})
.collect::<Vec<_>>()
.into_iter()
.map(thread::JoinHandle::join)
.collect::<Result<_, _>>()
.unwrap()
}
Dependencies
~27MB
~438K SLoC