]> git.sesse.net Git - pr0n/blobdiff - sql/pr0n.sql
Modernize the Bcrypt demands.
[pr0n] / sql / pr0n.sql
index f3f2087e6ce7b8d7db298c1d60841d4d655868a4..371e05cf4fdfef765c35318276fef867dad6ac57 100644 (file)
@@ -34,8 +34,16 @@ CREATE TABLE images (
     selected boolean DEFAULT false,
     model character varying,
     lens character varying,
+    is_render boolean NOT NULL DEFAULT false,  -- Is this a render of another picture? (If so, don't show it separately.)
+    render_id integer,  -- If not NULL, show this picture instead of ourselves for all JPEG-creation purposes.
 
-    FOREIGN KEY (vhost,event) REFERENCES events (vhost,event)
+    FOREIGN KEY (vhost,event) REFERENCES events (vhost,event),
+    FOREIGN KEY (vhost,event,render_id) REFERENCES images (vhost,event,id),
+
+    -- Redundant with the primary key, but the foreign key needs it.
+    UNIQUE (vhost,event,id),
+
+    CHECK (NOT (is_render AND (render_id IS NOT NULL)))
 );
 CREATE UNIQUE INDEX unique_filenames ON images USING btree (vhost, event, filename);
 
@@ -52,6 +60,8 @@ CREATE TABLE deleted_images (
     selected boolean,
     model character varying,
     lens character varying
+    is_render boolean NOT NULL,
+    render_id integer,
 );
 
 CREATE TABLE users (
@@ -70,8 +80,7 @@ CREATE TABLE exif_info (
     PRIMARY KEY ( image, key )
 );
 
-CREATE INDEX exif_info_key ON exif_info ( key );
-CLUSTER exif_info_key ON exif_info;
+CLUSTER exif_info_pkey ON exif_info;
 
 GRANT INSERT ON TABLE deleted_images TO pr0n;
 GRANT INSERT,SELECT,UPDATE,DELETE ON TABLE events TO pr0n;