summaryrefslogtreecommitdiff
path: root/schema.sql
diff options
context:
space:
mode:
authorHelmut Grohne <helmut@subdivi.de>2013-03-26 15:59:48 +0100
committerHelmut Grohne <helmut@subdivi.de>2013-03-26 15:59:48 +0100
commit88b0d1ed0809922b56f30e1ee99bc6db67af7f96 (patch)
treeb736dde6602dd0006cbb0efe490d28c42cb2dc3d /schema.sql
parent68cf124ab5fba5f96364925e09226db5c2bbf028 (diff)
parent4326c4766a6e1fb30bdb6999922ad0620543fff0 (diff)
downloaddebian-dedup-88b0d1ed0809922b56f30e1ee99bc6db67af7f96.tar.gz
Merge branch schemachange
Diffstat (limited to 'schema.sql')
-rw-r--r--schema.sql13
1 files changed, 7 insertions, 6 deletions
diff --git a/schema.sql b/schema.sql
index 878a5fe..a67c807 100644
--- a/schema.sql
+++ b/schema.sql
@@ -1,10 +1,11 @@
-CREATE TABLE package (package TEXT PRIMARY KEY, version TEXT, architecture TEXT);
-CREATE TABLE content (package TEXT, filename TEXT, size INTEGER, function TEXT, hash TEXT, FOREIGN KEY (package) REFERENCES package(package));
-CREATE TABLE dependency (package TEXT, required TEXT, FOREIGN KEY (package) REFERENCES package(package), FOREIGN KEY (required) REFERENCES package(package));
-CREATE TABLE source (source TEXT, package TEXT, FOREIGN KEY (package) REFERENCES package(package));
+CREATE TABLE package (package TEXT PRIMARY KEY, version TEXT, architecture TEXT, source TEXT);
+CREATE TABLE content (id INTEGER PRIMARY KEY, package TEXT, filename TEXT, size INTEGER, FOREIGN KEY (package) REFERENCES package(package) ON DELETE CASCADE);
+CREATE TABLE hash (cid INTEGER, function TEXT, hash TEXT, FOREIGN KEY (cid) REFERENCES content(id) ON DELETE CASCADE);
+CREATE TABLE dependency (package TEXT, required TEXT, FOREIGN KEY (package) REFERENCES package(package) ON DELETE CASCADE);
CREATE INDEX content_package_index ON content (package);
-CREATE INDEX content_hash_index ON content (hash);
+CREATE INDEX hash_cid_index ON hash (cid);
+CREATE INDEX hash_hash_index ON hash (hash);
-CREATE TABLE sharing (package1 TEXT, package2 TEXT, func1 TEXT, func2 TEXT, files INTEGER, size INTEGER);
+CREATE TABLE sharing (package1 TEXT, package2 TEXT, func1 TEXT, func2 TEXT, files INTEGER, size INTEGER, FOREIGN KEY (package1) REFERENCES package(package) ON DELETE CASCADE, FOREIGN KEY (package2) REFERENCES package(package) ON DELETE CASCADE);
CREATE INDEX sharing_insert_index ON sharing (package1, package2, func1, func2);
CREATE INDEX sharing_package_index ON sharing (package1);