# table rows to the overall union (sum type) rows.
my $nullcols_main = nullcols(qw(
flight::integer job status oidents
- started::integer rest_started::integer finished::integer
+ started::integer rest_started::integer
+ finished::integer all_finished::boolean
));
my $nullcols_tasks = nullcols(qw(
taskid::integer type refkey username comment
(SELECT max(finished)
FROM steps s
WHERE s.flight = q.flight
- AND s.job = q.job) AS finished
+ AND s.job = q.job) AS finished,
+ (SELECT every(finished IS NOT NULL)
+ FROM steps s
+ WHERE s.flight = q.flight
+ AND s.job = q.job) AS all_finished
FROM Q
ORDER BY q.tident),
min(prep_started) AS prep_started,
min(rest_started) AS rest_started,
max(finished) AS finished,
+ every(all_finished) AS all_finished,
$nullcols_tasks,
$nullcols_elided,
NULL::integer AS sort_index
<th>role(s)<br>(there)</td>
<th>install / prep.<br>started</td>
<th>use</br>started</td>
-<th>last step<br>ended</td>
+<th>last relevant step<br>ended</td>
<th>job<br>status</td>
</tr>
END
map { $_ ? show_abs_time($_) : '' }
$srow->{prep_started},
$srow->{rest_started},
- !$srow->{olive} && $srow->{finished};
+ (!$srow->{olive} || $srow->{all_finished}) && $srow->{finished};
my $info = report_run_getinfo($srow);
print H <<END,
<td $info->{ColourAttr}>$info->{Content}</td>