summaryrefslogtreecommitdiff
path: root/util
diff options
context:
space:
mode:
authoryorhel <yorhel@1fe2e327-d9db-4752-bcf7-ef0cb4a1748b>2008-05-19 07:01:24 +0000
committeryorhel <yorhel@1fe2e327-d9db-4752-bcf7-ef0cb4a1748b>2008-05-19 07:01:24 +0000
commit2ce770e7e5817f8838fdaf7bc7eda2a8da972962 (patch)
tree4aa6306599d38b6af01c8495d6731a838944602e /util
parent8b72b6535a553f8751842369a3abc0016d18611e (diff)
Too many changes to keep track of. See ChangeLog. (I should commit more often -.-)
git-svn-id: svn://vndb.org/vndb@13 1fe2e327-d9db-4752-bcf7-ef0cb4a1748b
Diffstat (limited to 'util')
-rw-r--r--util/multi.pl2
-rw-r--r--util/updates/update_1.16.sql74
2 files changed, 75 insertions, 1 deletions
diff --git a/util/multi.pl b/util/multi.pl
index 3e6e07a7..93c4fe44 100644
--- a/util/multi.pl
+++ b/util/multi.pl
@@ -80,7 +80,7 @@ Multi::Image->spawn();
Multi::Sitemap->spawn();
Multi::Anime->spawn();
Multi::Maintenance->spawn();
-Multi::IRC->spawn() if !$VNDB::DEBUG;
+Multi::IRC->spawn(user => 'Multi_test', channel => '#vndb_test') if !$VNDB::DEBUG;
$SIG{__WARN__} = sub {(local$_=shift)=~s/\r?\n//;$poe_kernel->call(core=>log=>1,'__WARN__: '.$_)};
diff --git a/util/updates/update_1.16.sql b/util/updates/update_1.16.sql
new file mode 100644
index 00000000..c64e1d49
--- /dev/null
+++ b/util/updates/update_1.16.sql
@@ -0,0 +1,74 @@
+
+-- empty nfo_id
+UPDATE anime SET nfo_id = '' WHERE nfo_id = '0,';
+
+
+-- future release dates
+UPDATE releases_rev
+ SET released = (SUBSTRING(released::text, 1, 4)||'9999')::integer
+ WHERE SUBSTRING(released::text, 5, 4) = '0000';
+
+UPDATE releases_rev
+ SET released = (SUBSTRING(released::text, 1, 6)||'99')::integer
+ WHERE SUBSTRING(released::text, 7, 4) = '00';
+
+
+
+-- all platforms are three-letters now
+UPDATE releases_platforms SET platform = 'ps1' WHERE platform = 'ps ';
+UPDATE releases_platforms SET platform = 'drc' WHERE platform = 'dc ';
+
+
+
+-- cache platforms
+ALTER TABLE vn ADD COLUMN c_platforms varchar(32) NOT NULL DEFAULT '';
+
+CREATE OR REPLACE FUNCTION update_vncache(id integer) RETURNS void AS $$
+DECLARE
+ w text := '';
+BEGIN
+ IF id > 0 THEN
+ w := ' WHERE id = '||id;
+ END IF;
+ EXECUTE 'UPDATE vn SET
+ c_released = COALESCE((SELECT
+ MIN(rr1.released)
+ FROM releases_rev rr1
+ JOIN releases r1 ON rr1.id = r1.latest
+ JOIN releases_vn rv1 ON rr1.id = rv1.rid
+ WHERE rv1.vid = vn.id
+ AND rr1.type <> 2
+ AND r1.hidden = 0
+ AND rr1.released <> 0
+ GROUP BY rv1.vid
+ ), 0),
+ c_languages = COALESCE(ARRAY_TO_STRING(ARRAY(
+ SELECT language
+ FROM releases_rev rr2
+ JOIN releases r2 ON rr2.id = r2.latest
+ JOIN releases_vn rv2 ON rr2.id = rv2.rid
+ WHERE rv2.vid = vn.id
+ AND rr2.type <> 2
+ AND rr2.released <= TO_CHAR(''today''::timestamp, ''YYYYMMDD'')::integer
+ AND r2.hidden = 0
+ GROUP BY rr2.language
+ ORDER BY rr2.language
+ ), ''/''), ''''),
+ c_platforms = COALESCE(ARRAY_TO_STRING(ARRAY(
+ SELECT rp3.platform
+ FROM releases_platforms rp3
+ JOIN releases_rev rr3 ON rp3.rid = rr3.id
+ JOIN releases r3 ON rp3.rid = r3.latest
+ JOIN releases_vn rv3 ON rp3.rid = rv3.rid
+ WHERE rv3.vid = vn.id
+ AND rr3.type <> 2
+ AND rr3.released <= TO_CHAR(''today''::timestamp, ''YYYYMMDD'')::integer
+ AND r3.hidden = 0
+ GROUP BY rp3.platform
+ ORDER BY rp3.platform
+ ), ''/''), '''')
+ '||w;
+END;
+$$ LANGUAGE plpgsql;
+
+SELECT update_vncache(0);