summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMax Kanat-Alexander <mkanat@bugzilla.org>2010-02-02 00:54:14 +0100
committerMax Kanat-Alexander <mkanat@bugzilla.org>2010-02-02 00:54:14 +0100
commitdec46c31056996458be8eff8bd7cb56b3466e3b3 (patch)
treef0a4f275dca1cbf0ffb0e4ca794b6080ab3aba1e
parentfde6d4aa81a56418ae5cdfd16a6b917534d66bed (diff)
downloadbugzilla-dec46c31056996458be8eff8bd7cb56b3466e3b3.tar.gz
bugzilla-dec46c31056996458be8eff8bd7cb56b3466e3b3.tar.xz
Bug 543459: Speed up the new duplicates.cgi
r=LpSolit, a=LpSolit
-rw-r--r--Bugzilla/User.pm3
-rwxr-xr-xduplicates.cgi11
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;
}