Author: rob
Date: Mon Apr 18 08:10:10 2011
New Revision: 26874
URL: https://svn.nixos.org/websvn/nix/?rev=26874&sc=1
Log:
qualify order by column
Modified:
hydra/trunk/src/lib/Hydra/Helper/Nix.pm
Modified: hydra/trunk/src/lib/Hydra/Helper/Nix.pm
==============================================================================
--- hydra/trunk/src/lib/Hydra/Helper/Nix.pm Mon Apr 18 07:41:54 2011
(r26873)
+++ hydra/trunk/src/lib/Hydra/Helper/Nix.pm Mon Apr 18 08:10:10 2011
(r26874)
@@ -12,7 +12,7 @@
isValidPath
getHydraPath getHydraDBPath openHydraDB getHydraConf txn_do
registerRoot getGCRootsDir gcRootFor
- getPrimaryBuildsForView
+ getPrimaryBuildsForView
getPrimaryBuildTotal
getViewResult getLatestSuccessfulViewResult jobsetOverview);
@@ -74,7 +74,7 @@
sub getGCRootsDir {
die unless defined $ENV{LOGNAME};
- my $dir = ($ENV{NIX_STATE_DIR} || "/nix/var/nix" ) .
"/gcroots/per-user/$ENV{LOGNAME}/hydra-roots";
+ my $dir = ($ENV{NIX_STATE_DIR} || "/nix/var/nix" ) .
"/gcroots/per-user/$ENV{LOGNAME}/hydra-roots";
mkpath $dir if !-e $dir;
return $dir;
}
@@ -88,9 +88,9 @@
sub registerRoot {
my ($path) = @_;
-
+
my $link = gcRootFor $path;
-
+
if (!-l $link) {
symlink($path, $link)
or die "cannot create GC root `$link' to `$path'";
@@ -127,7 +127,7 @@
, '+as' => ["releasename", "buildstatus"]
, where => \ attrsToSQL($primaryJob->attrs, "me.id")
});
- return $allPrimaryBuilds;
+ return $allPrimaryBuilds;
}
@@ -167,7 +167,7 @@
$thisBuild = $ev->builds->find(
{ job => $job->get_column('job'), finished => 1 },
{ join => 'resultInfo', rows => 1
- , order_by => ["id"]
+ , order_by => ["me.id"]
, where => \ attrsToSQL($job->attrs, "build.id")
, '+select' => ["resultInfo.buildstatus"], '+as' => ["buildstatus"]
});
@@ -179,7 +179,7 @@
# hacky
$thisBuild = $depBuilds->find(
{ project => $project, jobset => $jobset
- , job => $job->get_column('job'), finished => 1
+ , job => $job->get_column('job'), finished => 1
},
{ join => 'resultInfo', rows => 1
, order_by => ["buildstatus", "timestamp"]
@@ -187,27 +187,27 @@
, '+select' => ["resultInfo.buildstatus"], '+as' => ["buildstatus"]
})
unless defined $thisBuild;
-
+
return $thisBuild;
}
sub jobsetOverview {
my ($c, $project) = @_;
return $project->jobsets->search( isProjectOwner($c, $project) ? {} : {
hidden => 0 },
- { order_by => "name"
+ { order_by => "name"
, "+select" => [
"(SELECT COUNT(*) FROM Builds AS a NATURAL JOIN BuildSchedulingInfo
WHERE me.project = a.project AND me.name = a.jobset AND a.isCurrent = 1 )"
, "(SELECT COUNT(*) FROM Builds AS a NATURAL JOIN BuildResultInfo WHERE
me.project = a.project AND me.name = a.jobset AND buildstatus <> 0 AND
a.isCurrent = 1 )"
, "(SELECT COUNT(*) FROM Builds AS a NATURAL JOIN BuildResultInfo WHERE
me.project = a.project AND me.name = a.jobset AND buildstatus = 0 AND
a.isCurrent = 1 )"
, "(SELECT COUNT(*) FROM Builds AS a WHERE me.project = a.project AND
me.name = a.jobset AND a.isCurrent = 1 )"
]
- , "+as" => ["nrscheduled", "nrfailed", "nrsucceeded", "nrtotal"]
+ , "+as" => ["nrscheduled", "nrfailed", "nrsucceeded", "nrtotal"]
});
}
sub getViewResult {
my ($primaryBuild, $jobs) = @_;
-
+
my @jobs = ();
my $status = 0; # = okay
@@ -218,11 +218,11 @@
# might not be a evaluation record, so $ev may be undefined.)
my $ev = $primaryBuild->jobsetevalmembers->find({}, { rows => 1, order_by
=> "eval" });
$ev = $ev->eval if defined $ev;
-
+
# The timestamp of the view result is the highest timestamp of all
# constitutent builds.
my $timestamp = 0;
-
+
foreach my $job (@{$jobs}) {
my $thisBuild = $job->isprimary
? $primaryBuild
@@ -259,5 +259,5 @@
return undef;
}
-
+
1;
_______________________________________________
nix-commits mailing list
[email protected]
http://mail.cs.uu.nl/mailman/listinfo/nix-commits