diff options
author | Max Kanat-Alexander <mkanat@bugzilla.org> | 2010-02-02 00:54:14 +0100 |
---|---|---|
committer | Max Kanat-Alexander <mkanat@bugzilla.org> | 2010-02-02 00:54:14 +0100 |
commit | dec46c31056996458be8eff8bd7cb56b3466e3b3 (patch) | |
tree | f0a4f275dca1cbf0ffb0e4ca794b6080ab3aba1e | |
parent | fde6d4aa81a56418ae5cdfd16a6b917534d66bed (diff) | |
download | bugzilla-dec46c31056996458be8eff8bd7cb56b3466e3b3.tar.gz bugzilla-dec46c31056996458be8eff8bd7cb56b3466e3b3.tar.xz |
Bug 543459: Speed up the new duplicates.cgi
r=LpSolit, a=LpSolit
-rw-r--r-- | Bugzilla/User.pm | 3 | ||||
-rwxr-xr-x | duplicates.cgi | 11 |
2 files changed, 8 insertions, 6 deletions
diff --git a/Bugzilla/User.pm b/Bugzilla/User.pm index 06c6be5cb..d1e4694ec 100644 --- a/Bugzilla/User.pm +++ b/Bugzilla/User.pm @@ -652,12 +652,13 @@ sub visible_bugs { } $sth->execute(@check_ids); + my $use_qa_contact = Bugzilla->params->{'useqacontact'}; while (my $row = $sth->fetchrow_arrayref) { my ($bug_id, $reporter, $owner, $qacontact, $reporter_access, $cclist_access, $isoncclist, $missinggroup) = @$row; $visible_cache->{$bug_id} ||= ((($reporter == $user_id) && $reporter_access) - || (Bugzilla->params->{'useqacontact'} + || ($use_qa_contact && $qacontact && ($qacontact == $user_id)) || ($owner == $user_id) || ($isoncclist && $cclist_access) diff --git a/duplicates.cgi b/duplicates.cgi index cbc991b7d..2a52742c6 100755 --- a/duplicates.cgi +++ b/duplicates.cgi @@ -180,16 +180,17 @@ my %since_dups = @{$dbh->selectcol_arrayref( "SELECT dupe_of, COUNT(dupe) FROM duplicates INNER JOIN bugs_activity ON bugs_activity.bug_id = duplicates.dupe - WHERE added = 'DUPLICATE' AND fieldid = ? AND " - . $dbh->sql_to_days('bug_when') . " >= (" - . $dbh->sql_to_days('NOW()') . " - ?) - GROUP BY dupe_of", {Columns=>[1,2]}, + WHERE added = 'DUPLICATE' AND fieldid = ? + AND bug_when >= LOCALTIMESTAMP(0) - " + . $dbh->sql_interval('?', 'DAY') . + " GROUP BY dupe_of", {Columns=>[1,2]}, $reso_field_id, $changedsince)}; add_indirect_dups(\%since_dups, \%dupe_relation); # Enforce the mostfreqthreshold parameter and the "bug_id" cgi param. +my $mostfreq = Bugzilla->params->{'mostfreqthreshold'}; foreach my $id (keys %total_dups) { - if ($total_dups{$id} < Bugzilla->params->{'mostfreqthreshold'}) { + if ($total_dups{$id} < $mostfreq) { delete $total_dups{$id}; next; } |