From da185361f99eb319554ec78daa2fccdcd72eb298 Mon Sep 17 00:00:00 2001 From: Michael Mallan Date: Thu, 28 Nov 2024 12:11:21 +0000 Subject: [PATCH] sqlite: add helper to query single row --- lianad/src/database/sqlite/utils.rs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/lianad/src/database/sqlite/utils.rs b/lianad/src/database/sqlite/utils.rs index 5847a6c6..f26f4f0e 100644 --- a/lianad/src/database/sqlite/utils.rs +++ b/lianad/src/database/sqlite/utils.rs @@ -50,6 +50,21 @@ where .collect::>>() } +/// Internal helper for queries boilerplate +pub fn db_query_row( + conn: &mut rusqlite::Connection, + stmt_str: &str, + params: P, + f: F, +) -> Result +where + P: IntoIterator + rusqlite::Params, + P::Item: rusqlite::ToSql, + F: FnMut(&rusqlite::Row<'_>) -> rusqlite::Result, +{ + conn.prepare(stmt_str)?.query_row(params, f) +} + /// The current time as the number of seconds since the UNIX epoch, truncated to u32 since SQLite /// only supports i64 integers. pub fn curr_timestamp() -> u32 {