Crate bb8_libsql

Source
Expand description

§Sqlite support for the bb8 connection pool.

Library crate: bb8-libsql

Integrated with: bb8 and libsql

§Example

use std::{env, error::Error};
use r2d2_libsql::LibsqlConnectionManager;
  
use dotenvy::dotenv;
  
#[tokio::main]
async fn main() -> Result<(), Box<dyn Error>> {
    dotenv().ok();
  
    let url = env::var("LIBSQL_CLIENT_URL").unwrap();
    let token = env::var("LIBSQL_CLIENT_TOKEN").unwrap();
  
    let manager = LibsqlConnectionManager::remote(&url, &token);
    let pool = bb8::Pool::builder()
        .max_size(15)
        .build(manager)
        .await
        .unwrap();
  
    let conn = pool.get().await?;
    let mut rows = conn.query("SELECT 1;", ()).await?;
  
    let value_found = rows.next().await?
        .map(|row| row.get::<u64>(0))
        .transpose()?;
  
    dbg!(value_found);
  
    Ok(())
}

Re-exports§

pub use libsql;

Modules§

errors

Structs§

LibsqlConnectionManager
An bb8::ManageConnection for libsql::Connections.