Reduce I/O in build listings by only fetching required columns

Columns such as "longDescription" can be large, so fetching them
when they're not needed is wasteful.
This commit is contained in:
Eelco Dolstra
2012-03-07 22:20:15 +01:00
parent 6526d4a65f
commit 07b3dffd20
6 changed files with 24 additions and 14 deletions

View File

@@ -51,16 +51,15 @@ sub nixexprs : Chained('nix') PathPart('nixexprs.tar.bz2') Args(0) {
sub name {
my ($build) = @_;
return $build->get_column('releasename') || $build->nixname;
return $build->releasename || $build->nixname;
}
sub sortPkgs {
# Sort by name, then timestamp.
# Sort by name, then id.
return sort
{ lc(name($a->{build})) cmp lc(name($b->{build}))
or $a->{build}->timestamp <=> $b->{build}->timestamp
} @_;
or $a->{build}->id <=> $b->{build}->id } @_;
}