X-Git-Url: https://pd.if.org/git/?p=zpackage;a=blobdiff_plain;f=schema%2Fmain.sql;fp=db.sql;h=6ea34f27caeb8fc4fa12dd4add1a18a99409e421;hp=b1343d00a3b6a7f829452af0868f1de2c04798e1;hb=b3c05e3e2a4b5cf159a2ab94b1c6696ceeb8c1a8;hpb=b53647c07cf58ed2a8b76727f22cf5328c6e02fb diff --git a/db.sql b/schema/main.sql similarity index 93% rename from db.sql rename to schema/main.sql index b1343d0..6ea34f2 100644 --- a/db.sql +++ b/schema/main.sql @@ -1,5 +1,3 @@ -begin; - PRAGMA application_id = 0x5a504442; PRAGMA user_version = 1; @@ -332,9 +330,7 @@ create table packagedeps ( package text, version text, release integer, - requires text, -- package name (only) - minimum text, - maximum text, + requires text, -- package, can be partial primary key (package,version,release,package), foreign key (package,version,release) references packages (package,version,release) on delete cascade on update cascade ); @@ -417,35 +413,6 @@ create table packagesource ( repository text references repository ); -create view syncconflicts as -with --- metadata different -md_conflict as ( - select path, count(distinct - printf('%s:%s:%s:%s', PFA.filetype, PFA.mode, PFA.username, PFA.groupname)) as mdcount, - count(distinct PFA.hash) as hashcount - from packagefiles PFA - join packages PA - on PA.package = PFA.package and PA.version = PFA.version and PA.release = PFA.release - where PA.status in ('installing', 'installed') - group by path - having (count(distinct printf('%s:%s:%s:%s', PFA.filetype, PFA.mode, PFA.username, PFA.groupname) - ) > 1 or count(distinct PFA.hash) > 1) -) -select PFH.*, - printf('%s-%s-%s', PFH.package, PFH.version, PFH.release) as pkgid, - printf('%s:%s:%s:%s', PFH.filetype, PFH.mode, PFH.username, PFH.groupname) as mds, -'hash' as conflict -from packagefiles PFH -where path in (select path from md_conflict where hashcount > 1) -union -select PFM.*, - printf('%s-%s-%s', PFM.package, PFM.version, PFM.release) as pkgid, - printf('%s:%s:%s:%s', PFM.filetype, PFM.mode, PFM.username, PFM.groupname) as mds, -'md' as conflict -from packagefiles PFM -where path in (select path from md_conflict where mdcount > 1) -; create view needed_libraries as with recursive @@ -620,5 +587,3 @@ from preserve PFP -- left join packages P on P.package = PFP.package ... -- where P.status not in ('installed','installing') ; - -commit;