diff options
author | yorhel <yorhel@1fe2e327-d9db-4752-bcf7-ef0cb4a1748b> | 2008-06-30 20:17:57 +0000 |
---|---|---|
committer | yorhel <yorhel@1fe2e327-d9db-4752-bcf7-ef0cb4a1748b> | 2008-06-30 20:17:57 +0000 |
commit | 29d64245529b7a3e95f9059f785bb206fc70f570 (patch) | |
tree | caf3c31a958aeb1cce186ca8ccaff18b3bf49fe0 /util | |
parent | 65c9483112ca4a7c5887cd8331326a0e42e49800 (diff) |
HTML Fix + forgot to upload update_1.18.sql with the previous commit -.-
git-svn-id: svn://vndb.org/vndb@49 1fe2e327-d9db-4752-bcf7-ef0cb4a1748b
Diffstat (limited to 'util')
-rw-r--r-- | util/updates/update_1.18.sql | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/util/updates/update_1.18.sql b/util/updates/update_1.18.sql new file mode 100644 index 00000000..b2d37d5a --- /dev/null +++ b/util/updates/update_1.18.sql @@ -0,0 +1,31 @@ + +-- prev -> rev +ALTER TABLE changes ADD COLUMN rev integer NOT NULL DEFAULT 1; +ALTER TABLE changes DROP COLUMN prev; + +DROP FUNCTION update_prev(text, text); + +CREATE OR REPLACE FUNCTION update_rev(tbl text, ids text) RETURNS void AS $$ +DECLARE + r RECORD; + r2 RECORD; + i integer; + t text; + e text; +BEGIN + SELECT INTO t SUBSTRING(tbl, 1, 1); + e := ''; + IF ids <> '' THEN + e := ' WHERE id IN('||ids||')'; + END IF; + FOR r IN EXECUTE 'SELECT id FROM '||tbl||e LOOP + i := 1; + FOR r2 IN EXECUTE 'SELECT id FROM '||tbl||'_rev WHERE '||t||'id = '||r.id||' ORDER BY id ASC' LOOP + UPDATE changes SET rev = i WHERE id = r2.id; + i := i+1; + END LOOP; + END LOOP; +END; +$$ LANGUAGE plpgsql; +SELECT update_rev('vn', ''), update_rev('releases', ''), update_rev('producers', ''); + |