@@ -46,7 +46,6 @@ die unless @ARGV==1 && $ARGV[0] =~ m/^\w+$/;
our @cols = qw(job name val);
our @rows;
-our @colws;
sub collect ($) {
my ($flight) = @_;
@@ -54,9 +53,6 @@ sub collect ($) {
$flight =~ m/^\d+/ or $flight = "'$flight'";
my $qfrom = "FROM runvars WHERE flight=$flight AND $synthcond";
- @colws = $dbh_tests->selectrow_array
- ("SELECT ".(join ',', map { "max(length($_))" } @cols)." $qfrom");
-
my $q = $dbh_tests->prepare
("SELECT synth, ".(join ',', @cols)." $qfrom ORDER BY synth, name, job");
$q->execute();
@@ -68,10 +64,15 @@ sub collect ($) {
}
}
-$colws[1] += length $synthsufx;
-
collect($ARGV[0]);
+our @colws;
+sub max ($$) { $_[$_[0] < $_[1]] }
+foreach my $row (@rows) {
+ @colws = map { max($colws[$_]//0,length($row->[$_])) } qw(0 1 2)
+}
+$colws[1] += length $synthsufx;
+
foreach my $row (@rows) {
printf "%-*s %-*s %-*s\n", map { $colws[$_], $row->[$_] } qw(0 1 2)
or die $!;
This will work even once @rows is not all collected by the same SQL statement. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> --- mg-show-flight-runvars | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-)