Merge branch functionid
authorHelmut Grohne <helmut@subdivi.de>
Fri, 26 Jul 2013 13:04:02 +0000 (15:04 +0200)
committerHelmut Grohne <helmut@subdivi.de>
Fri, 26 Jul 2013 13:04:02 +0000 (15:04 +0200)
Actual savings on the full data set are around 7%.

Conflicts:
README

1  2 
README
schema.sql
update_sharing.py
webapp.py

diff --cc README
--- 1/README
--- 2/README
+++ b/README
@@@ -47,7 -47,7 +47,7 @@@ one copy in the archive
  
  Finding PNG images that do not carry a .png file extension.
  
-     SELECT package.name, content.filename, content.size FROM content JOIN hash ON content.id = hash.cid JOIN package ON content.pid = package.id WHERE function = "image_sha512" AND lower(filename) NOT LIKE "%.png";
 -    SELECT package.name, content.filename, content.size FROM content JOIN hash ON content.id = hash.cid JOIN package ON content.pid = package.id JOIN function ON hash.fid = function.id WHERE function.name = "image_sha512" AND filename NOT LIKE "%.png";
++    SELECT package.name, content.filename, content.size FROM content JOIN hash ON content.id = hash.cid JOIN package ON content.pid = package.id JOIN function ON hash.fid = function.id WHERE function.name = "image_sha512" AND lower(filename) NOT LIKE "%.png";
  
  Finding .gz files which either are not gziped or contain errors.
  
diff --cc schema.sql
@@@ -6,7 -8,12 +8,13 @@@ CREATE INDEX content_package_size_inde
  CREATE INDEX hash_cid_index ON hash (cid);
  CREATE INDEX hash_hash_index ON hash (hash);
  
- CREATE TABLE sharing (pid1 INTEGER, pid2 INTEGER, func1 TEXT, func2 TEXT, files INTEGER, size INTEGER, FOREIGN KEY (pid1) REFERENCES package(id) ON DELETE CASCADE, FOREIGN KEY (pid2) REFERENCES package(id) ON DELETE CASCADE);
- CREATE INDEX sharing_insert_index ON sharing (pid1, pid2, func1, func2);
+ CREATE TABLE sharing (
+       pid1 INTEGER NOT NULL REFERENCES package(id) ON DELETE CASCADE,
+       pid2 INTEGER NOT NULL REFERENCES package(id) ON DELETE CASCADE,
+       fid1 INTEGER NOT NULL REFERENCES function(id),
+       fid2 INTEGER NOT NULL REFERENCES function(id),
+       files INTEGER,
+       size INTEGER);
+ CREATE INDEX sharing_insert_index ON sharing (pid1, pid2, fid1, fid2);
  CREATE TABLE duplicate (cid INTEGER PRIMARY KEY, FOREIGN KEY (cid) REFERENCES content(id) ON DELETE CASCADE);
 +CREATE TABLE issue (cid INTEGER REFERENCES content(id) ON DELETE CASCADE, issue TEXT);
Simple merge
diff --cc webapp.py
Simple merge