summaryrefslogtreecommitdiff
path: root/util
diff options
context:
space:
mode:
authoryorhel <yorhel@1fe2e327-d9db-4752-bcf7-ef0cb4a1748b>2008-06-30 20:17:57 +0000
committeryorhel <yorhel@1fe2e327-d9db-4752-bcf7-ef0cb4a1748b>2008-06-30 20:17:57 +0000
commit29d64245529b7a3e95f9059f785bb206fc70f570 (patch)
treecaf3c31a958aeb1cce186ca8ccaff18b3bf49fe0 /util
parent65c9483112ca4a7c5887cd8331326a0e42e49800 (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.sql31
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', '');
+