Ensure that stoptime and starttime are set for finished builds

This commit is contained in:
Eelco Dolstra
2013-05-23 12:05:12 -04:00
parent 57b2bb0674
commit b1f89bf92d
2 changed files with 13 additions and 0 deletions
+3
View File
@@ -183,6 +183,9 @@ create table Builds (
keep integer not null default 0, -- true means never garbage-collect the build output
check (finished = 0 or (stoptime is not null and stoptime != 0)),
check (finished = 0 or (starttime is not null and starttime != 0)),
foreign key (project) references Projects(name) on update cascade,
foreign key (project, jobset) references Jobsets(project, name) on update cascade,
foreign key (project, jobset, job) references Jobs(project, jobset, name) on update cascade
+10
View File
@@ -0,0 +1,10 @@
-- Previously we didn't always set stoptime. For those builds, set
-- stoptime to timestamp, since back then timestamp was the time the
-- build finished (for finished builds).
update builds set stoptime = timestamp where finished = 1 and (stoptime is null or stoptime = 0);
-- Idem for starttime.
update builds set starttime = timestamp where finished = 1 and (starttime is null or starttime = 0);
alter table builds add check (finished = 0 or (stoptime is not null and stoptime != 0));
alter table builds add check (finished = 0 or (starttime is not null and starttime != 0));