From 8c11682aaef3576ecbaf58705ec92519f40b5313 Mon Sep 17 00:00:00 2001 From: nullchinchilla Date: Wed, 27 Mar 2024 14:30:37 -0400 Subject: [PATCH] Refactor database connection setup to use PoolOptions with min/max connections and add debug for SqliteConnectOptions --- binaries/geph5-client/src/database.rs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/binaries/geph5-client/src/database.rs b/binaries/geph5-client/src/database.rs index b2cd70b1..a14b1c2b 100644 --- a/binaries/geph5-client/src/database.rs +++ b/binaries/geph5-client/src/database.rs @@ -1,6 +1,6 @@ use anyctx::AnyCtx; use event_listener::Event; -use sqlx::Row; +use sqlx::{pool::PoolOptions, Row}; use sqlx::{sqlite::SqliteConnectOptions, Pool, SqlitePool}; use std::str::FromStr; @@ -14,12 +14,16 @@ static DATABASE: CtxField = |ctx| { .map(|s| s.to_string_lossy().to_string()) .unwrap_or_else(|| ":memory:?cache=shared".into()); tracing::debug!("INITIALIZING DATABASE"); - let options = SqliteConnectOptions::from_str(&db_path) + let options = dbg!(SqliteConnectOptions::from_str(&db_path)) .unwrap() .create_if_missing(true); smol::future::block_on(async move { - let pool = Pool::connect_with(options).await.unwrap(); + let pool = PoolOptions::new() + .min_connections(1) + .max_connections(100) + .connect_lazy_with(options); + sqlx::query( "CREATE TABLE IF NOT EXISTS misc ( key TEXT PRIMARY KEY,