X-Git-Url: http://git.vrable.net/?a=blobdiff_plain;f=contrib%2Fupgrade0.6-localdb.sql;h=49fc1aabef7b08b706731ee0081023d8b6a54c3e;hb=HEAD;hp=d1449ac418516ba92294d4711328b2e856b5ce8d;hpb=cc2d3611ed50f5965a9138ffaf3262417993c4f8;p=cumulus.git diff --git a/contrib/upgrade0.6-localdb.sql b/contrib/upgrade0.6-localdb.sql index d1449ac..49fc1aa 100644 --- a/contrib/upgrade0.6-localdb.sql +++ b/contrib/upgrade0.6-localdb.sql @@ -15,7 +15,8 @@ create table segments_new ( path text, checksum text, mtime real, - size integer + size integer, + expire_time integer ); create table segments_used ( @@ -23,6 +24,8 @@ create table segments_used ( segmentid integer not null, utilization real ); +create unique index segments_used_index + on segments_used(snapshotid, segmentid); alter table snapshots add column intent real; @@ -33,7 +36,7 @@ update snapshots set intent = 1; -- Compute the size of each of the segments, if possible, based on our -- knowledge of the objects stored in them. insert into segments_new -select segmentid, segment, path, checksum, mtime, size +select segmentid, segment, path, checksum, mtime, size, null as expire_time from (select segmentid, segment, path, checksum from segments) left join @@ -65,8 +68,8 @@ drop view cleaning_order; drop view segment_info; create view segment_info as -select segmentid, mtime, size, cast(size * utilization as integer) as used, - utilization +select segmentid, mtime, size, expire_time, + cast(size * utilization as integer) as used, utilization from segments join (select segmentid, max(utilization) as utilization from segments_used group by segmentid)