diff options
author | Yorhel <git@yorhel.nl> | 2022-03-29 16:07:44 +0200 |
---|---|---|
committer | Yorhel <git@yorhel.nl> | 2022-03-29 16:08:05 +0200 |
commit | ab2daacf35905c01541abc92988a666ab8d9a7e2 (patch) | |
tree | 47565850c2acbfd1f2a1e1c79c6c75eb70bbd4ca /util | |
parent | c1f27dac99b0f04ba3b451d7e06bfc58d9f02fd8 (diff) |
VN length voting: support private votes
The database model supports private votes with a proper speed setting,
but that is currently not possible through the UI.
Diffstat (limited to 'util')
-rwxr-xr-x | util/dbdump.pl | 4 | ||||
-rwxr-xr-x | util/devdump.pl | 2 | ||||
-rw-r--r-- | util/updates/2022-03-29-lengthvotes-private.sql | 3 |
3 files changed, 6 insertions, 3 deletions
diff --git a/util/dbdump.pl b/util/dbdump.pl index 5488d6e4..5adf35de 100755 --- a/util/dbdump.pl +++ b/util/dbdump.pl @@ -98,7 +98,7 @@ my %tables = ( users => { where => 'id IN(SELECT DISTINCT uvl.uid FROM ulist_vns_labels uvl JOIN ulist_labels ul ON ul.uid = uvl.uid AND ul.id = uvl.lbl WHERE NOT ul.private)' .' OR id IN(SELECT DISTINCT uid FROM tags_vn)' .' OR id IN(SELECT DISTINCT uid FROM image_votes)' - .' OR id IN(SELECT DISTINCT uid FROM vn_length_votes)' }, + .' OR id IN(SELECT DISTINCT uid FROM vn_length_votes WHERE NOT private)' }, vn => { where => 'NOT hidden' }, vn_anime => { where => 'id IN(SELECT id FROM vn WHERE NOT hidden)' }, vn_relations => { where => 'id IN(SELECT id FROM vn WHERE NOT hidden)' }, @@ -108,7 +108,7 @@ my %tables = ( .' AND cid IN(SELECT id FROM chars WHERE NOT hidden)' }, vn_staff => { where => 'id IN(SELECT id FROM vn WHERE NOT hidden) AND aid IN(SELECT sa.aid FROM staff_alias sa JOIN staff s ON s.id = sa.id WHERE NOT s.hidden)' }, vn_titles => { where => 'id IN(SELECT id FROM vn WHERE NOT hidden)' }, - vn_length_votes => { where => 'vid IN(SELECT id FROM vn WHERE NOT hidden)' + vn_length_votes => { where => 'vid IN(SELECT id FROM vn WHERE NOT hidden) AND NOT private' , order => 'vid, uid' }, wikidata => { where => q{id IN(SELECT l_wikidata FROM producers WHERE NOT hidden UNION SELECT l_wikidata FROM staff WHERE NOT hidden diff --git a/util/devdump.pl b/util/devdump.pl index 9d801912..a36d0184 100755 --- a/util/devdump.pl +++ b/util/devdump.pl @@ -160,7 +160,7 @@ sub copy_entry { copy_entry [qw/vn vn_anime vn_seiyuu vn_staff vn_relations vn_screenshots vn_titles/], \@vids; # VN-related niceties - copy vn_length_votes => "SELECT DISTINCT ON (vid,vndbid_num(uid)%10) * FROM vn_length_votes WHERE vid IN($vids)", {uid => 'user'}; + copy vn_length_votes => "SELECT DISTINCT ON (vid,vndbid_num(uid)%10) * FROM vn_length_votes WHERE NOT private AND vid IN($vids)", {uid => 'user'}; copy tags_vn => "SELECT DISTINCT ON (tag,vid,vndbid_num(uid)%10) * FROM tags_vn WHERE vid IN($vids)", {uid => 'user'}; copy quotes => "SELECT * FROM quotes WHERE vid IN($vids)"; my $votes = "SELECT vid, vndbid('u', vndbid_num(uid)%8+2) AS uid, (percentile_cont((vndbid_num(uid)%8+1)::float/9) WITHIN GROUP (ORDER BY vote))::smallint AS vote, MIN(vote_date) AS vote_date" diff --git a/util/updates/2022-03-29-lengthvotes-private.sql b/util/updates/2022-03-29-lengthvotes-private.sql new file mode 100644 index 00000000..5c721818 --- /dev/null +++ b/util/updates/2022-03-29-lengthvotes-private.sql @@ -0,0 +1,3 @@ +ALTER TABLE vn_length_votes ADD COLUMN private boolean NOT NULL DEFAULT FALSE; +ALTER TABLE vn_length_votes ALTER COLUMN private DROP DEFAULT; +\i sql/func.sql |