D 2014-02-03T21:13:10.431 L SQLSnippets P 55f51528f1a458171a20e7b0a3eaf9d7dbbd2394 U stephan W 3140
SELECT name FROM filename f, mlink m WHERE m.mid=3242 -- checking RID value AND m.fnid=f.fnid;
SELECT bf.uuid, filename.name fname, bf.size FROM mlink, filename, blob bf, -- FILE blob blob bm -- MANIFEST/checkin blob WHERE bm.uuid glob '6b581c89f90c*' -- resp: bm.rid=rid_of_checkin AND filename.fnid=mlink.fnid AND bf.rid=mlink.fid AND bm.rid=mlink.mid ;
SELECT bf.uuid, filename.name fname, bf.size, datetime(event.mtime) FROM mlink, filename, event, blob bf, -- FILE blob blob bm -- MANIFEST/checkin blob WHERE bm.uuid glob '6b581c89f90c*' -- resp: bm.rid=rid_of_checkin AND filename.fnid=mlink.fnid AND event.objid=mlink.mid AND bf.rid=mlink.fid AND bm.rid=mlink.mid ;
-- All ancestors (direct or merged!) of the checkin -- RID given in the first SELECT... WITH RECURSIVE ancestors(rid,uuid,tm) AS ( -- Change this checkin RID: SELECT b.rid, b.uuid, e.mtime FROM blob b, event e WHERE b.rid=3279 and e.objid=b.rid UNION SELECT p.pid, b.uuid, e.mtime FROM plink p, blob b, ancestors a, event e WHERE p.cid=b.rid AND p.cid=a.rid AND e.objid=p.pid -- Optionally limit it to the first N -- ancestors (including the original checkin): LIMIT 5 ) SELECT b.rid, substr(b.uuid,0,8) uuid, datetime(a.tm,'localtime') time from blob b, ancestors a WHERE b.rid=a.rid --WHERE blob.rid IN ancestors; ;
rid|uuid|time 3279|5a477d1|2014-02-03 19:38:03 3272|084c05a|2014-02-03 19:18:07 3267|782894e|2014-02-03 17:34:27 3161|4e9d087|2014-02-03 13:01:47 3144|249ad02|2014-02-03 10:33:29
WITH RECURSIVE ancestors(rid,uuid,tm) AS ( -- Change this checkin RID: SELECT b.rid, b.uuid, e.mtime FROM blob b, event e WHERE b.rid=3279 and e.objid=b.rid UNION SELECT p.pid, b.uuid, e.mtime FROM plink p, blob b, ancestors a, event e WHERE p.cid=b.rid AND p.cid=a.rid AND e.objid=p.pid AND e.mtime > 2456691.31809243 -- mtime of RID 3279 minus 1 day ) SELECT b.rid, substr(b.uuid,0,8) uuid, datetime(a.tm,'localtime') time from blob b, ancestors a WHERE b.rid=a.rid