-
--- Summary statistics for each segment.
-create view segment_info as select * from
- (select segmentid, max(timestamp) as mtime,
- sum(size) as size, count(*) as objects
- from block_index join segments using (segmentid) group by segmentid)
-natural join
- (select segmentid, sum(size) as used, count(*) as objects_used
- from block_index where blockid in
- (select blockid from snapshot_contents) group by segmentid);
-
--- Ranking of segments to be cleaned, using a benefit function of
--- (fraction free space)*(age of youngest object).
-create view cleaning_order as select *, (1-u)*age/(u+0.1) as benefit from
- (select segmentid,
- cast(used as real) / size as u, julianday('now') - mtime as age
- from segment_info)
-where benefit > 0;