mirror of
https://gitlab.com/keys.openpgp.org/hagrid.git
synced 2025-10-06 00:23:08 +02:00
db: add sqlite query tracing during tests
This commit is contained in:
@@ -42,13 +42,42 @@ impl Sqlite {
|
||||
Self::new_internal(base_dir, manager)
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
fn build_pool(manager: SqliteConnectionManager) -> Result<r2d2::Pool<SqliteConnectionManager>> {
|
||||
#[derive(Copy, Clone, Debug)]
|
||||
pub struct LogConnectionCustomizer;
|
||||
impl<E> r2d2::CustomizeConnection<rusqlite::Connection, E> for LogConnectionCustomizer {
|
||||
fn on_acquire(&self, conn: &mut rusqlite::Connection) -> std::result::Result<(), E> {
|
||||
println!("Acquiring sqlite pool connection: {:?}", conn);
|
||||
conn.trace(Some(|query| {
|
||||
println!("{}", query);
|
||||
}));
|
||||
std::result::Result::Ok(())
|
||||
}
|
||||
|
||||
fn on_release(&self, conn: rusqlite::Connection) {
|
||||
println!("Releasing pool connection: {:?}", conn);
|
||||
}
|
||||
}
|
||||
|
||||
Ok(r2d2::Pool::builder()
|
||||
.max_size(2)
|
||||
.connection_customizer(Box::new(LogConnectionCustomizer {}))
|
||||
.build(manager)?)
|
||||
}
|
||||
|
||||
#[cfg(not(test))]
|
||||
fn build_pool(manager: SqliteConnectionManager) -> Result<r2d2::Pool<SqliteConnectionManager>> {
|
||||
Ok(r2d2::Pool::builder().build(manager)?)
|
||||
}
|
||||
|
||||
fn new_internal(base_dir: PathBuf, manager: SqliteConnectionManager) -> Result<Self> {
|
||||
let keys_dir_log = base_dir.join("log");
|
||||
create_dir_all(&keys_dir_log)?;
|
||||
|
||||
let dry_run = false;
|
||||
|
||||
let pool = r2d2::Pool::builder().max_size(2).build(manager)?;
|
||||
let pool = Self::build_pool(manager)?;
|
||||
let conn = pool.get()?;
|
||||
conn.execute(
|
||||
"CREATE TABLE IF NOT EXISTS certs (
|
||||
|
Reference in New Issue
Block a user