]> git.sesse.net Git - pr0n/blobdiff - sql/pr0n.sql
Fix infobox with DPR != 1.
[pr0n] / sql / pr0n.sql
index fe749b9e6ed116717b796f24f8e558247d75cb5e..371e05cf4fdfef765c35318276fef867dad6ac57 100644 (file)
@@ -3,6 +3,7 @@ CREATE TABLE events (
     "date" character varying NOT NULL,
     name character varying NOT NULL,
     vhost character varying NOT NULL,
     "date" character varying NOT NULL,
     name character varying NOT NULL,
     vhost character varying NOT NULL,
+    hidden boolean NOT NULL DEFAULT false,
 
     PRIMARY KEY (vhost, event)
 );
 
     PRIMARY KEY (vhost, event)
 );
@@ -18,8 +19,10 @@ CREATE TABLE last_picture_cache (
    FOREIGN KEY (vhost,event) REFERENCES events(vhost,event)
 );
 
    FOREIGN KEY (vhost,event) REFERENCES events(vhost,event)
 );
 
+CREATE SEQUENCE imageid_seq;
+
 CREATE TABLE images (
 CREATE TABLE images (
-    id serial NOT NULL PRIMARY KEY,
+    id integer DEFAULT nextval('imageid_seq') NOT NULL PRIMARY KEY,
     vhost character varying NOT NULL,
     event character varying NOT NULL,
     filename character varying NOT NULL,
     vhost character varying NOT NULL,
     event character varying NOT NULL,
     filename character varying NOT NULL,
@@ -31,8 +34,16 @@ CREATE TABLE images (
     selected boolean DEFAULT false,
     model character varying,
     lens character varying,
     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,render_id) REFERENCES images (vhost,event,id),
+
+    -- Redundant with the primary key, but the foreign key needs it.
+    UNIQUE (vhost,event,id),
 
 
-    FOREIGN KEY (vhost,event) REFERENCES events (vhost,event)
+    CHECK (NOT (is_render AND (render_id IS NOT NULL)))
 );
 CREATE UNIQUE INDEX unique_filenames ON images USING btree (vhost, event, filename);
 
 );
 CREATE UNIQUE INDEX unique_filenames ON images USING btree (vhost, event, filename);
 
@@ -49,31 +60,14 @@ CREATE TABLE deleted_images (
     selected boolean,
     model character varying,
     lens character varying
     selected boolean,
     model character varying,
     lens character varying
-);
-
-CREATE TABLE fake_files (
-    vhost character varying NOT NULL,
-    event character varying NOT NULL,
-    filename character varying NOT NULL,
-    expires_at timestamp without time zone NOT NULL,
-
-    PRIMARY KEY ( vhost, event, filename ),
-    FOREIGN KEY (vhost,event) REFERENCES events (vhost,event)
-);
-
-CREATE TABLE shadow_files (
-    vhost character varying NOT NULL,
-    event character varying NOT NULL,
-    filename character varying NOT NULL,
-    id integer NOT NULL,
-    expires_at timestamp without time zone NOT NULL
+    is_render boolean NOT NULL,
+    render_id integer,
 );
 
 CREATE TABLE users (
     username character varying NOT NULL,
 );
 
 CREATE TABLE users (
     username character varying NOT NULL,
-    sha1password character(27) NOT NULL,
     vhost character varying NOT NULL,
     vhost character varying NOT NULL,
-    digest_ha1_hex character(32)
+    cryptpassword character varying NOT NULL
 );
 
 -- Mainly used for manual queries -- usually too slow to be very useful
 );
 
 -- Mainly used for manual queries -- usually too slow to be very useful
@@ -86,24 +80,12 @@ CREATE TABLE exif_info (
     PRIMARY KEY ( image, key )
 );
 
     PRIMARY KEY ( image, 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 );
+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;
 
 GRANT INSERT ON TABLE deleted_images TO pr0n;
 GRANT INSERT,SELECT,UPDATE,DELETE ON TABLE events TO pr0n;
-GRANT INSERT,SELECT,UPDATE,DELETE ON TABLE fake_files TO pr0n;
-GRANT SELECT,UPDATE ON TABLE images_id_seq TO pr0n;
+GRANT SELECT,UPDATE ON TABLE imageid_seq TO pr0n;
 GRANT INSERT,SELECT,UPDATE,DELETE ON TABLE images TO pr0n;
 GRANT INSERT,SELECT,UPDATE,DELETE ON TABLE images TO pr0n;
-GRANT INSERT,SELECT,UPDATE,DELETE ON TABLE shadow_files TO pr0n;
 GRANT SELECT,UPDATE ON TABLE users TO pr0n;
 GRANT SELECT,INSERT,DELETE ON TABLE exif_info TO pr0n;
 GRANT SELECT,UPDATE ON TABLE users TO pr0n;
 GRANT SELECT,INSERT,DELETE ON TABLE exif_info TO pr0n;
-GRANT SELECT,INSERT,DELETE ON TABLE tags TO pr0n;
 GRANT INSERT,SELECT,UPDATE,DELETE ON TABLE last_picture_cache TO pr0n;
 GRANT INSERT,SELECT,UPDATE,DELETE ON TABLE last_picture_cache TO pr0n;