From 5c6a5b3ec2e820ec75c51ff025624520f714bb1e Mon Sep 17 00:00:00 2001
From: Přemysl Eric Janouch <p@janouch.name>
Date: Sat, 9 Dec 2023 01:32:32 +0100
Subject: Add a test

---
 initialize.sql | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

(limited to 'initialize.sql')

diff --git a/initialize.sql b/initialize.sql
index 746b0e2..6d5a9ad 100644
--- a/initialize.sql
+++ b/initialize.sql
@@ -5,18 +5,19 @@ CREATE TABLE IF NOT EXISTS entry(
 	mtime    INTEGER NOT NULL,  -- Unix time of last modification in seconds
 	sha1     TEXT NOT NULL,     -- SHA-1 hash of file in lowercase hexadecimal
 	PRIMARY KEY (path, basename)
-);
+) STRICT;
 
 CREATE INDEX IF NOT EXISTS entry_sha1 ON entry(sha1, path, basename);
 
 -- XXX: Shouldn't perhaps "entry.sha1" reference "image.sha1"?
+-- FIXME
 CREATE TABLE IF NOT EXISTS image(
-	sha1     TEXT NOT NULL REFERENCES entry(sha1),
+	sha1     TEXT NOT NULL REFERENCES entry(sha1, path, basename),
 	thumbw   INTEGER,           -- cached thumbnail width, if known
 	thumbh   INTEGER,           -- cached thumbnail height, if known
 	dhash    INTEGER,           -- uint64 perceptual hash as a signed integer
 	PRIMARY KEY (sha1)
-);
+) STRICT;
 
 CREATE INDEX IF NOT EXISTS image_dhash ON image(dhash, sha1);
 
@@ -24,13 +25,14 @@ CREATE TABLE IF NOT EXISTS image_tag(
 	sha1     TEXT NOT NULL REFERENCES image(sha1),
 	tag      TEXT NOT NULL,
 	PRIMARY KEY (sha1)
-);
+) STRICT;
 
+-- XXX: Perhaps this should be more like namespaces.
 CREATE TABLE IF NOT EXISTS image_autotag(
 	sha1     TEXT NOT NULL REFERENCES image(sha1),
 	tag      TEXT NOT NULL,
 	weight   REAL NOT NULL,     -- 0..1 normalized weight assigned to tag
 	PRIMARY KEY (sha1, tag)
-);
+) STRICT;
 
 CREATE INDEX IF NOT EXISTS image_autotag_tag ON image_autotag(tag, sha1);
-- 
cgit v1.2.3-70-g09d2

