diff options
author | yorhel <yorhel@1fe2e327-d9db-4752-bcf7-ef0cb4a1748b> | 2008-05-19 07:01:24 +0000 |
---|---|---|
committer | yorhel <yorhel@1fe2e327-d9db-4752-bcf7-ef0cb4a1748b> | 2008-05-19 07:01:24 +0000 |
commit | 2ce770e7e5817f8838fdaf7bc7eda2a8da972962 (patch) | |
tree | 4aa6306599d38b6af01c8495d6731a838944602e /util | |
parent | 8b72b6535a553f8751842369a3abc0016d18611e (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.pl | 2 | ||||
-rw-r--r-- | util/updates/update_1.16.sql | 74 |
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); |