From: Don Armstrong Date: Fri, 15 Mar 2013 00:03:22 +0000 (-0700) Subject: cache arch because there aren't very many of them X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=c279620cbe19471a731059fc38ef96178ea0efb5;p=debbugs.git cache arch because there aren't very many of them --- diff --git a/bin/debbugs-loadsql-debinfo b/bin/debbugs-loadsql-debinfo index 6b3b169f..2d491d97 100755 --- a/bin/debbugs-loadsql-debinfo +++ b/bin/debbugs-loadsql-debinfo @@ -117,6 +117,7 @@ my $s = Debbugs::DB->connect('dbi:Pg:service='.$options{service}) or my @files = @ARGV; +my %arch; for my $file (@files) { my $fh = IO::File->new($file,'r') or die "Unable to open $file for reading: $!"; @@ -135,7 +136,13 @@ for my $file (@files) { my $sp = $s->resultset('SrcPkg')->find_or_create({pkg => $srcname}); my $sv = $s->resultset('SrcVer')->find_or_create({src_pkg_id=>$sp->id(), ver => $srcver}); - my $arch = $s->resultset('Arch')->find_or_create({arch => $binarch}); + my $arch; + if (defined $arch{$binarch}) { + $arch = $arch{$binarch}; + } else { + $arch = $s->resultset('Arch')->find_or_create({arch => $binarch}); + $arch{$binarch} = $arch; + } my $bp = $s->resultset('BinPkg')->find_or_create({pkg => $binname}); $s->resultset('BinVer')->find_or_create({bin_pkg_id => $bp->id(), src_ver_id => $sv->id(),