From: Nathan Wagner Date: Sat, 20 Oct 2018 02:49:15 +0000 (+0000) Subject: add sync columns for old metadata on update X-Git-Tag: v0.2.16~77 X-Git-Url: https://pd.if.org/git/?p=zpackage;a=commitdiff_plain;h=2b364ea3ad8359fce5ed40596ba486534b9fd992 add sync columns for old metadata on update --- diff --git a/db.sql b/db.sql index 020f228..0a02470 100644 --- a/db.sql +++ b/db.sql @@ -163,7 +163,7 @@ create index packagefile_hash_index on packagefiles (hash); create view packagefiles_pkgid as select printf('%s-%s-%s', package, version, release) as pkgid, *, -printf('%s:%o:%s:%s', filetype, mode, username, groupname) as mds +printf('%s:%s:%s:%s', filetype, mode, username, groupname) as mds from packagefiles ; @@ -493,10 +493,9 @@ newfiles as ( modified as ( select distinct SS.path, - SS.username, - SS.uid, SS.groupname, SS.gid, SS.mode, - SS.filetype, SS.mtime, SS.hash,SS.configuration, SS.target, SS.device, - null as ohash + SS.username, SS.uid, SS.groupname, SS.gid, SS.mode, SS.filetype, + SS.mtime, SS.hash, SS.configuration, SS.target, SS.device, + OS.hash as ohash, SS.mds, OS.mds as omds from syncstatus SS join syncstatus OS on SS.path = OS.path and SS.pkgid is not OS.pkgid @@ -545,15 +544,20 @@ expired as ( and path not in (select path from preserve) and rstatus in ('removed','updated') ) -select 'update' as op, * from modified +select 'update' as op, * +,(select group_concat(pkgid, ' ') + from syncstatus SS + where SS.rstatus = 'installing' and SS.path = M.path +) as pkglist +from modified M union -select 'remove' as op, * from remove +select 'remove' as op, *, null, null, null from remove union -select 'obsolete' as op, * from expired +select 'obsolete' as op, *, null, null, null from expired union -select 'new' as op, * from newfiles +select 'new' as op, *, null, null, null from newfiles union -select 'preserve' as op, * from preserve +select 'preserve' as op, *, null, null, null from preserve ; commit;