aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/factoids/database.rs
diff options
context:
space:
mode:
authorJokler <jokler.contact@gmail.com>2018-02-25 01:30:17 +0100
committerJokler <jokler.contact@gmail.com>2018-02-25 01:30:17 +0100
commitac1afe4c7b0f62160f62b848d7f747cb7be74bbd (patch)
treece0e518948ce8691423366ce0677eddb994b7dcb /src/plugins/factoids/database.rs
parentce2db228aac1c0114bcac30bb6c01212faca025a (diff)
downloadfrippy-ac1afe4c7b0f62160f62b848d7f747cb7be74bbd.tar.gz
frippy-ac1afe4c7b0f62160f62b848d7f747cb7be74bbd.zip
Return zero if count_factoids could not find the factoid
Diffstat (limited to 'src/plugins/factoids/database.rs')
-rw-r--r--src/plugins/factoids/database.rs5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/plugins/factoids/database.rs b/src/plugins/factoids/database.rs
index ccebfee..386d3f7 100644
--- a/src/plugins/factoids/database.rs
+++ b/src/plugins/factoids/database.rs
@@ -152,14 +152,17 @@ impl Database for Pool<ConnectionManager<MysqlConnection>> {
}
fn count_factoids(&self, name: &str) -> Result<i32, &'static str> {
+ use diesel;
+
let conn = &*self.get().expect("Failed to get connection");
let count: Result<i64, _> = factoids::table
.filter(factoids::columns::name.eq(name))
.count()
- .first(conn);
+ .get_result(conn);
match count {
Ok(c) => Ok(c as i32),
+ Err(diesel::NotFound) => Ok(0),
Err(e) => {
error!("DB Count Error: {}", e);
Err("Database Error")