]> pd.if.org Git - zpackage/blobdiff - db.sql
teach findpkg to parse full or partial package triples
[zpackage] / db.sql
diff --git a/db.sql b/db.sql
index f44e52646a52c8ca660328c76e2f8dc77ca18a85..6a8f51ed05ec56e63b639cceeb5efb7c48f6284e 100644 (file)
--- a/db.sql
+++ b/db.sql
@@ -38,6 +38,24 @@ create table packages (
 without rowid
 ;
 
+create table packagestatus (
+       pkgid   text primary key,
+       status  text, -- installed installing removed upgraded
+       -- asof timestamp
+       asof    integer default (strftime('%s', 'now'))
+);
+
+create table packagetags (
+       -- package id triple
+       package text,
+       version text,
+       release integer,
+       tag     text,
+       set_time integer default (strftime('%s', 'now')),
+       primary key (package,version,release,tag),
+       foreign key (package,version,release) references packages (package,version,release) on delete cascade
+);
+
 -- packagefile hash is columns as text, joined with null bytes, then
 -- sha256 sum of that
 -- package checksum is package columns as text, joined with null bytes,
@@ -93,10 +111,22 @@ without rowid
 ;
 
 create table elfinfo (
-       file    text, -- hash of blob
+       file    text primary key, -- hash of blob
        elftype text,
        foreign key (file) references files on delete cascade
-);
+)
+without rowid
+;
+
+create table elfdeps (
+       file    text,
+       soname  text,
+       dependency text,
+       primary key (file, soname, dependency),
+       foreign key (file) references files on delete cascade
+)
+without rowid
+;
 
 -- TODO just elf information?
 -- and just hash, not package?