Read a value from the `parameters` table by name, or `None` if absent.
(&self, name: &'static str)
| 310 | |
| 311 | /// Read a value from the `parameters` table by name, or `None` if absent. |
| 312 | async fn get_parameter(&self, name: &'static str) -> DbResult<Option<String>> { |
| 313 | let select_param = replace_dollars_with_qn(get_sqlite_query!("select-parameter")); |
| 314 | let res = self |
| 315 | .reader() |
| 316 | .call( |
| 317 | move |c: &mut rusqlite::Connection| -> Result<Option<String>, rusqlite::Error> { |
| 318 | let mut stmt = c.prepare_cached(&select_param)?; |
| 319 | stmt.query_row(params_from_iter([&name]), |row| row.get::<_, String>(0)) |
| 320 | .optional() |
| 321 | }, |
| 322 | ) |
| 323 | .await |
| 324 | .map_err(DbError::from)?; |
| 325 | Ok(res) |
| 326 | } |
| 327 | |
| 328 | /// Upsert a `name`/`value` pair into the `parameters` table. |
| 329 | async fn set_parameter(&self, name: &'static str, value: &str) -> DbResult<()> { |
no test coverage detected