Add a time stamp to package base votes

This can potentially be used to identify trending packages.

Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
This commit is contained in:
Lukas Fleischer 2014-10-15 16:59:15 +02:00
parent c986ba0c52
commit e9ebcc4479
3 changed files with 10 additions and 3 deletions

View file

@ -249,6 +249,7 @@ CREATE TABLE PackageSources (
CREATE TABLE PackageVotes ( CREATE TABLE PackageVotes (
UsersID INTEGER UNSIGNED NOT NULL, UsersID INTEGER UNSIGNED NOT NULL,
PackageBaseID INTEGER UNSIGNED NOT NULL, PackageBaseID INTEGER UNSIGNED NOT NULL,
VoteTS BIGINT UNSIGNED NULL DEFAULT NULL,
INDEX (UsersID), INDEX (UsersID),
INDEX (PackageBaseID), INDEX (PackageBaseID),
FOREIGN KEY (UsersID) REFERENCES Users(ID) ON DELETE CASCADE, FOREIGN KEY (UsersID) REFERENCES Users(ID) ON DELETE CASCADE,

View file

@ -5,3 +5,9 @@ ALTER TABLE PackageDepends ADD COLUMN DepArch VARCHAR(255) NULL DEFAULT NULL;
ALTER TABLE PackageRelations ADD COLUMN RelArch VARCHAR(255) NULL DEFAULT NULL; ALTER TABLE PackageRelations ADD COLUMN RelArch VARCHAR(255) NULL DEFAULT NULL;
ALTER TABLE PackageSources ADD COLUMN SourceArch VARCHAR(255) NULL DEFAULT NULL; ALTER TABLE PackageSources ADD COLUMN SourceArch VARCHAR(255) NULL DEFAULT NULL;
---- ----
2. Add a time stamp column to the package votes table:
----
ALTER TABLE PackageVotes ADD COLUMN VoteTS BIGINT NULL DEFAULT NULL;
----

View file

@ -667,12 +667,12 @@ function pkgbase_vote ($base_ids, $action=true) {
$first = 0; $first = 0;
$vote_ids = $pid; $vote_ids = $pid;
if ($action) { if ($action) {
$vote_clauses = "($uid, $pid)"; $vote_clauses = "($uid, $pid, UNIX_TIMESTAMP())";
} }
} else { } else {
$vote_ids .= ", $pid"; $vote_ids .= ", $pid";
if ($action) { if ($action) {
$vote_clauses .= ", ($uid, $pid)"; $vote_clauses .= ", ($uid, $pid, UNIX_TIMESTAMP())";
} }
} }
} }
@ -686,7 +686,7 @@ function pkgbase_vote ($base_ids, $action=true) {
$dbh->exec($q); $dbh->exec($q);
if ($action) { if ($action) {
$q = "INSERT INTO PackageVotes (UsersID, PackageBaseID) VALUES "; $q = "INSERT INTO PackageVotes (UsersID, PackageBaseID, VoteTS) VALUES ";
$q.= $vote_clauses; $q.= $vote_clauses;
} else { } else {
$q = "DELETE FROM PackageVotes WHERE UsersID = $uid "; $q = "DELETE FROM PackageVotes WHERE UsersID = $uid ";