- for my $bug (%{$queue->{$queue_type}}) {
- my $qt = $queue_types{$queue_type};
- $s->txn_do(sub {
- $s->resultset($qt->{set})->search({$qt->{bug},$bug})->delete();
- $s->populate($qt->{set},[[@{$qt->{columns}}],
- map {[$bug,$_]} @{$queue->{$queue_type}{$bug}}]) if
- @{$queue->{$queue_type}{$bug}//[]};
+ my $qt = $queue_types{$queue_type};
+ my @bugs = keys %{$queue->{$queue_type}};
+ my @entries;
+ for my $bug (@bugs) {
+ push @entries,
+ map {[$bug,$_]}
+ @{$queue->{$queue_type}{$bug}};
+ }
+ $s->txn_do(sub {
+ $s->resultset($qt->{set})->
+ search({$qt->{bug}=>\@bugs})->delete();
+ $s->resultset($qt->{set})->
+ populate([[@{$qt->{columns}}],
+ @entries]) if @entries;