]> git.sesse.net Git - pr0n/blobdiff - sql/upgrade-v2.50.sql
Remove some really long-standing silliness: If we have no idea about width
[pr0n] / sql / upgrade-v2.50.sql
index 6f740febde0a5aa1e87dc424a866a9976527c339..0d44ba3cd700b4135cb0cb9fcd5c1c5af8505d42 100644 (file)
@@ -1,7 +1,26 @@
 --
 -- Upgrades pre-v2.50 databases to 2.50 format -- not many changes, though.
 --
+SET work_mem=131072;
+
 ALTER TABLE exif_info RENAME COLUMN tag TO key;
 CREATE INDEX exif_info_key ON exif_info ( key );
 CLUSTER exif_info_key ON exif_info;
 
+CREATE TABLE tags (
+    image integer NOT NULL REFERENCES images (id) ON DELETE CASCADE,
+    tag varchar NOT NULL,
+
+    PRIMARY KEY ( image, tag )
+);
+CREATE INDEX tags_tag ON tags ( tag );
+
+GRANT SELECT,INSERT,DELETE ON TABLE tags TO pr0n;
+
+-- width/height -1 => NULL
+ALTER TABLE images ALTER COLUMN width DROP NOT NULL;
+ALTER TABLE images ALTER COLUMN height DROP NOT NULL;
+ALTER TABLE images ALTER COLUMN width SET DEFAULT NULL;
+ALTER TABLE images ALTER COLUMN height SET DEFAULT NULL;
+UPDATE images SET width=NULL,height=NULL WHERE width=-1 OR height=-1;
+ALTER TABLE images ADD CONSTRAINT width_height_nullity CHECK ((width IS NULL) = (height IS NULL));