X-Git-Url: https://pd.if.org/git/?p=zpackage;a=blobdiff_plain;f=schema%2Fmain.sql;h=198017866547a2e705fc0be3324b9a0346bdda30;hp=85546d9321e0a2e9b484894472a7fe1f1685269f;hb=2ac486ab18adbbb84563eafc0d67fa8da6ca7822;hpb=4fb490d9107b747c86964d0d3925470b06d97c8c diff --git a/schema/main.sql b/schema/main.sql index 85546d9..1980178 100644 --- a/schema/main.sql +++ b/schema/main.sql @@ -6,7 +6,7 @@ PRAGMA user_version = 1; -- TODO copyright and license information should probably -- go here CREATE TABLE files ( - hash text primary key, -- sha256 of content + hash text primary key, -- sha256 of (uncompressed) content size integer, -- bigint? certainly need > 2GB compression text, -- always xz? content blob @@ -15,11 +15,17 @@ CREATE TABLE files ( create view filerefs as select F.hash, -count(PF.hash) + count(S.hash) + count(EL.file) + count(N.file) as refcount +count(PF.hash) + count(S.hash) + count(EL.file) + count(N.file) + count(EN.file) as refcount, +count(PF.hash) as pfrefs, +count(S.hash) as scriptrefs, +count(EL.file) as librefs, +count(EN.file) as needrefs, +count(N.file) as noterefs from files F left join packagefiles PF on PF.hash = F.hash left join scripts S on S.hash = F.hash left join elflibraries EL on EL.file = F.hash +left join elfneeded EN on EN.file = F.hash left join notes N on N.file = F.hash group by F.hash ;