summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYorhel <git@yorhel.nl>2009-09-10 17:16:35 +0200
committerYorhel <git@yorhel.nl>2009-09-10 17:16:35 +0200
commit2b265bcda488c317905a79a4cf39fbb0c7c8bba3 (patch)
tree0275179deac00bb5a1791f4f7eadcdcece28175b
parentf1e9e83cefad07904df9ca96af70ea788990a662 (diff)
Batch edit downloadable trial releases to add freeware status
-rw-r--r--ChangeLog1
-rw-r--r--util/updates/update_2.7.sql42
2 files changed, 43 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 01c6fab2..9bcc466d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -14,6 +14,7 @@ git - ?
- Russian translation of the interface
- Random VN link in menu
- Ignore some release fields when the patch status is checked
+ - Batch edit downloadable trial releases to add freeware status
2.6 - 2009-08-09
- New screen resolutions: 1024x600 and 1600x1200
diff --git a/util/updates/update_2.7.sql b/util/updates/update_2.7.sql
index ff9b175e..0a851ca6 100644
--- a/util/updates/update_2.7.sql
+++ b/util/updates/update_2.7.sql
@@ -31,3 +31,45 @@ DELETE FROM vn_relations WHERE relation > 50;
-- Be sure to execute the following query after restarting Multi, to regenerate the relation graphs:
-- UPDATE vn SET rgraph = NULL;
+
+
+
+
+-- set freeware flag for all trials with internet download as medium
+
+CREATE FUNCTION tmp_edit_release(iid integer) RETURNS void AS $$
+DECLARE
+ cid integer;
+ oid integer;
+BEGIN
+ SELECT INTO oid latest FROM releases WHERE id = iid;
+ INSERT INTO changes (type, requester, ip, comments, rev)
+ VALUES (1, 1, '0.0.0.0',
+ E'Automated edit with the update to VNDB 2.7.\n\nThis release is a downloadable trial, freeware flag is assumed.',
+ (SELECT rev+1 FROM changes WHERE id = oid))
+ RETURNING id INTO cid;
+ INSERT INTO releases_rev (id, rid, title, original, type, website, released, notes,
+ minage, gtin, patch, catalog, resolution, voiced, freeware, doujin, ani_story, ani_ero)
+ SELECT cid, rid, title, original, type, website, released, notes,
+ minage, gtin, patch, catalog, resolution, voiced, true, doujin, ani_story, ani_ero
+ FROM releases_rev WHERE id = oid;
+ INSERT INTO releases_media (rid, medium, qty) SELECT cid, medium, qty FROM releases_media WHERE rid = oid;
+ INSERT INTO releases_platforms (rid, platform) SELECT cid, platform FROM releases_platforms WHERE rid = oid;
+ INSERT INTO releases_producers (rid, pid) SELECT cid, pid FROM releases_producers WHERE rid = oid;
+ INSERT INTO releases_lang (rid, lang) SELECT cid, lang FROM releases_lang WHERE rid = oid;
+ INSERT INTO releases_vn (rid, vid) SELECT cid, vid FROM releases_vn WHERE rid = oid;
+ UPDATE releases SET latest = cid WHERE id = iid;
+END;
+$$ LANGUAGE plpgsql;
+
+SELECT tmp_edit_release(r.id)
+ FROM releases r
+ JOIN releases_rev rr ON rr.id = r.latest
+ WHERE r.hidden = FALSE
+ AND rr.type = 2
+ AND NOT rr.freeware
+ AND EXISTS(SELECT 1 FROM releases_media rm WHERE rm.medium = 'in ' AND rm.rid = rr.id)
+ ORDER BY r.id;
+
+DROP FUNCTION tmp_edit_release(integer);
+