From f052848e52c19b8384c56aec2a9b2ebe04df967d Mon Sep 17 00:00:00 2001 From: echel0n Date: Thu, 5 Jun 2014 02:19:48 -0700 Subject: [PATCH] Fix for sql rowcount error --- sickbeard/db.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sickbeard/db.py b/sickbeard/db.py index 4ff56ee7..c771cc56 100644 --- a/sickbeard/db.py +++ b/sickbeard/db.py @@ -204,6 +204,8 @@ class DBConnection: def upsert(self, tableName, valueDict, keyDict): + changesBefore = self.connection.total_changes + genParams = lambda myDict: [x + " = ?" for x in myDict.keys()] query = "UPDATE " + tableName + " SET " + ", ".join(genParams(valueDict)) + " WHERE " + " AND ".join( @@ -211,7 +213,7 @@ class DBConnection: result = self.action(query, valueDict.values() + keyDict.values()) - if result.rowcount > 0: + if self.connection.total_changes == changesBefore: query = "INSERT INTO " + tableName + " (" + ", ".join(valueDict.keys() + keyDict.keys()) + ")" + \ " VALUES (" + ", ".join(["?"] * len(valueDict.keys() + keyDict.keys())) + ")" self.action(query, valueDict.values() + keyDict.values())