]> git.sesse.net Git - pr0n/blobdiff - sql/pr0n.sql
Add a new table "exif_info" which contains all the EXIF tags for all images.
[pr0n] / sql / pr0n.sql
index c1349e7e4e5aea9ad58c382870bf70d653c28b54..ddfa7af36dcbd75d86efd3b7656c95695fb6a920 100644 (file)
@@ -3,12 +3,18 @@ CREATE TABLE events (
     date character varying NOT NULL,
     name character varying NOT NULL,
     vhost character varying NOT NULL,
-    last_picture timestamp without time zone DEFAULT '1970-01-01 00:00:00'::timestamp without time zone NOT NULL
+    last_update timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
+);
+
+-- In a separate table to avoid deadlocks.
+CREATE TABLE last_picture_cache ( 
+   event varchar PRIMARY KEY references events ( id ),
+   last_picture timestamp without time zone
 );
 
 CREATE TABLE images (
-    id serial NOT NULL PRIMARY KEY REFERENCES events(id),
-    event character varying NOT NULL,
+    id serial NOT NULL PRIMARY KEY,
+    event character varying NOT NULL REFERENCES events(id),
     filename character varying NOT NULL,
     width integer DEFAULT -1 NOT NULL,
     height integer DEFAULT -1 NOT NULL,
@@ -52,6 +58,15 @@ CREATE TABLE users (
     vhost character varying(32) NOT NULL
 );
 
+CREATE TABLE exif_info (
+    image integer NOT NULL REFERENCES images (id),
+    tag varchar NOT NULL,
+    value varchar NOT NULL,
+
+    PRIMARY KEY ( image, tag )
+);
+    
+
 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;
@@ -59,4 +74,4 @@ GRANT INSERT,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 shadow_files TO pr0n;
 GRANT SELECT ON TABLE users TO pr0n;
-
+GRANT SELECT,INSERT,DELETE ON TABLE exif_info TO pr0n;