[aur-dev] [PATCH 1/2] popupdate: Avoid NULL entries in the popularity field
Lukas Fleischer
lfleischer at archlinux.org
Tue Mar 1 17:38:14 UTC 2016
The popularity field is declared as "NOT NULL" in the database schema.
Fix the popularity update query such that it uses a popularity of 0.0
instead of NULL for packages with no votes.
Signed-off-by: Lukas Fleischer <lfleischer at archlinux.org>
---
scripts/popupdate.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts/popupdate.py b/scripts/popupdate.py
index 2aa8a54..f3ba513 100755
--- a/scripts/popupdate.py
+++ b/scripts/popupdate.py
@@ -22,7 +22,7 @@ cur.execute("UPDATE PackageBases SET NumVotes = (SELECT COUNT(*) FROM " +
"PackageVotes WHERE PackageVotes.PackageBaseID = PackageBases.ID)")
cur.execute("UPDATE PackageBases SET Popularity = (" +
- "SELECT SUM(POWER(0.98, (UNIX_TIMESTAMP() - VoteTS) / 86400)) " +
+ "SELECT COALESCE(SUM(POWER(0.98, (UNIX_TIMESTAMP() - VoteTS) / 86400)), 0.0) " +
"FROM PackageVotes WHERE PackageVotes.PackageBaseID = " +
"PackageBases.ID AND NOT VoteTS IS NULL)")
--
2.7.2
More information about the aur-dev
mailing list