]> git.sesse.net Git - pr0n/blobdiff - sql/pr0n.sql
Fix an (irrelevant) confusion about addEventListener.
[pr0n] / sql / pr0n.sql
index 860fd475bf55fd9f2004bd535213907cacbb8b3e..d3541ed27656b7d420995cae56c14b16d1cb1561 100644 (file)
@@ -71,7 +71,8 @@ CREATE TABLE users (
 );
 
 -- Mainly used for manual queries -- usually too slow to be very useful
--- for web views in the long run.
+-- for web views in the long run (except for the special case of the
+-- partial index below).
 CREATE TABLE exif_info (
     image integer NOT NULL REFERENCES images (id) ON DELETE CASCADE,
     key varchar NOT NULL,
@@ -80,8 +81,10 @@ 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;
+CREATE UNIQUE INDEX exif_info_fast_listing ON exif_info (image, key) INCLUDE (value)
+  WHERE key IN ('ExposureProgram', 'FocalLength', 'ExposureTime', 'FNumber', 'ISO', 'ISOSetting',
+                'ExposureBiasValue', 'ExposureCompensation', 'DateTimeOriginal', 'Model', 'Flash');
 
 GRANT INSERT ON TABLE deleted_images TO pr0n;
 GRANT INSERT,SELECT,UPDATE,DELETE ON TABLE events TO pr0n;