]> xenbits.xensource.com Git - osstest.git/commitdiff
sg-report-job-history: Cache the per-flight revisions
authorIan Jackson <ian.jackson@eu.citrix.com>
Mon, 10 Aug 2020 16:08:44 +0000 (17:08 +0100)
committerIan Jackson <ian.jackson@eu.citrix.com>
Wed, 19 Aug 2020 10:41:18 +0000 (11:41 +0100)
This involves changing %revisions to %$revisions in the code which
uses the value.

No logical change.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
sg-report-job-history

index 9f1216a61feab104f3f5c697f56e908766d90650..39ebe02427fdec34c748b9c5b6644e7b90278fb0 100755 (executable)
@@ -172,25 +172,29 @@ END
            \%hosts;
        });
 
-        my %revisions;
-        add_revisions(\%revisions, $f->{flight}, $f->{job}, '');
+       my $revisions = cacheable_fn($f, 'r', sub {
+            my %revisions;
+           add_revisions(\%revisions, $f->{flight}, $f->{job}, '');
         
-        $buildsq->execute($f->{flight}, $f->{job});
-        while (my $bld= $buildsq->fetchrow_hashref()) {
-            my $bn= $bld->{name};
-            $bn =~ s/buildjob$//;
-            my ($oflight,$ojob) = flight_otherjob($f->{flight}, $bld->{val});
-            add_revisions(\%revisions, $oflight, $ojob, " ($bn)");
-        }
+           $buildsq->execute($f->{flight}, $f->{job});
+           while (my $bld= $buildsq->fetchrow_hashref()) {
+               my $bn= $bld->{name};
+               $bn =~ s/buildjob$//;
+               my ($oflight,$ojob) =
+                 flight_otherjob($f->{flight}, $bld->{val});
+               add_revisions(\%revisions, $oflight, $ojob, " ($bn)");
+           }
+           \%revisions;
+       });
         my @rev_cols;
-        foreach my $revk (sort keys %revisions) {
+        foreach my $revk (sort keys %$revisions) {
             my $col= $rev_grid_col{$revk};
             if (!defined $col) {
                 $col= @rev_grid_cols;
                 push @rev_grid_cols, $revk;
                 $rev_grid_col{$revk}= $col;
             }
-            $rev_cols[$col]= $revisions{$revk};
+            $rev_cols[$col]= $$revisions{$revk};
         }
         $ri->{Revisions}= \@rev_cols;
         $ri->{Flight}= $f;