diff --git a/Cargo.toml b/Cargo.toml index c4ab01e4a..cd3671605 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -39,7 +39,6 @@ rusqlite = { version = "0.19", features = ["bundled"] } addr = "0.2.0" r2d2_sqlite = "0.11.0" r2d2 = "0.8.5" -backtrace = "0.3.32" [dev-dependencies] tempfile = "3.0" diff --git a/src/dc_sqlite3.rs b/src/dc_sqlite3.rs index 89726e4f4..ed8d13e02 100644 --- a/src/dc_sqlite3.rs +++ b/src/dc_sqlite3.rs @@ -691,12 +691,12 @@ pub fn dc_sqlite3_set_config( key: impl AsRef, value: Option<&str>, ) -> libc::c_int { - let key = key.as_ref(); if !sql.is_open() { error!(context, 0, "dc_sqlite3_set_config(): Database not ready."); return 0; } + let key = key.as_ref(); let good; if let Some(ref value) = value { @@ -767,7 +767,7 @@ where match sql.execute(querystr.as_ref(), params) { Ok(_) => true, Err(err) => { - error!(context, 0, "dc_sqlite_exectue failed: {:?}", err); + error!(context, 0, "dc_sqlite3_execute failed: {:?}", err); false } } @@ -788,6 +788,10 @@ where { match sql.query_row(query, params, |row| row.get::<_, T>(column)) { Ok(res) => Some(res), + Err(Error::Sql(rusqlite::Error::QueryReturnedNoRows)) => None, + Err(Error::Sql(rusqlite::Error::InvalidColumnType(_, _, rusqlite::types::Type::Null))) => { + None + } Err(err) => { error!(context, 0, "sql: Failed query_row: {}", err); None