Avoid fetching Projects/Jobsets just to get the name column

In particular, doing a 'select * from Jobsets where ...' must be
avoided, because the 'errormsg' column can be very big.
This commit is contained in:
Eelco Dolstra
2019-08-13 17:42:19 +02:00
parent 16811d3e78
commit 92d8d6baa5
9 changed files with 25 additions and 25 deletions

View File

@ -76,7 +76,7 @@ sub latestbuilds : Chained('api') PathPart('latestbuilds') Args(0) {
sub jobsetToHash {
my ($jobset) = @_;
return {
project => $jobset->project->name,
project => $jobset->get_column('project'),
name => $jobset->name,
nrscheduled => $jobset->get_column("nrscheduled"),
nrsucceeded => $jobset->get_column("nrsucceeded"),
@ -206,12 +206,12 @@ sub scmdiff : Path('/api/scmdiff') Args(0) {
sub triggerJobset {
my ($self, $c, $jobset, $force) = @_;
print STDERR "triggering jobset ", $jobset->project->name . ":" . $jobset->name, "\n";
print STDERR "triggering jobset ", $jobset->get_column('project') . ":" . $jobset->name, "\n";
txn_do($c->model('DB')->schema, sub {
$jobset->update({ triggertime => time });
$jobset->update({ forceeval => 1 }) if $force;
});
push @{$c->{stash}->{json}->{jobsetsTriggered}}, $jobset->project->name . ":" . $jobset->name;
push @{$c->{stash}->{json}->{jobsetsTriggered}}, $jobset->get_column('project') . ":" . $jobset->name;
}

View File

@ -142,7 +142,7 @@ sub release : Chained('evalChain') PathPart('release') Args(0) {
$releaseName ||= $_->releasename foreach @builds;
# If no release name has been defined by any of the builds, compose one of the project name and evaluation id
$releaseName = $eval->project->name."-".$eval->id unless defined $releaseName;
$releaseName = $eval->get_column('project') . "-" . $eval->id unless defined $releaseName;
my $release;