From 761c733c57616964fd33858b011b62da53220613 Mon Sep 17 00:00:00 2001 From: Shish Date: Thu, 29 Mar 2012 19:18:00 +0100 Subject: [PATCH] coalsce when cleaning votes --- contrib/numeric_score/main.php | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/contrib/numeric_score/main.php b/contrib/numeric_score/main.php index 19f820e2..2efddc3a 100644 --- a/contrib/numeric_score/main.php +++ b/contrib/numeric_score/main.php @@ -195,8 +195,17 @@ class NumericScore extends Extension { $database->execute( "DELETE FROM numeric_score_votes WHERE user_id=? AND image_id IN (".implode(",", $image_ids).")", array($user_id)); - $database->execute( - "UPDATE images SET numeric_score=(SELECT SUM(score) FROM numeric_score_votes WHERE image_id=images.id) WHERE images.id IN (".implode(",", $image_ids).")"); + $database->execute(" + UPDATE images + SET numeric_score=COALESCE( + ( + SELECT SUM(score) + FROM numeric_score_votes + WHERE image_id=images.id + ), + 0 + ) + WHERE images.id IN (".implode(",", $image_ids).")"); } // FIXME: on user deletion