summaryrefslogtreecommitdiffstats
path: root/Bugzilla/Bug.pm
diff options
context:
space:
mode:
authorDave Lawrence <dlawrence@mozilla.com>2013-09-30 22:13:29 +0200
committerDave Lawrence <dlawrence@mozilla.com>2013-09-30 22:13:29 +0200
commitd1b94d166cebefe30ee84e2f59da2b962726f826 (patch)
tree0de51a41ac52a4a2ce4cadf2885008fb843023a6 /Bugzilla/Bug.pm
parent1941de37c0f7e49069fee49cfebcaa842a58c420 (diff)
downloadbugzilla-d1b94d166cebefe30ee84e2f59da2b962726f826.tar.gz
bugzilla-d1b94d166cebefe30ee84e2f59da2b962726f826.tar.xz
Bug 922304 - backport upstream bug 340160 to bmo/4.2 for performance improvement in recording bug activity
Diffstat (limited to 'Bugzilla/Bug.pm')
-rw-r--r--Bugzilla/Bug.pm12
1 files changed, 7 insertions, 5 deletions
diff --git a/Bugzilla/Bug.pm b/Bugzilla/Bug.pm
index 6f3107d5c..1de761985 100644
--- a/Bugzilla/Bug.pm
+++ b/Bugzilla/Bug.pm
@@ -30,6 +30,7 @@
package Bugzilla::Bug;
+use 5.10.0;
use strict;
use Bugzilla::Attachment;
@@ -4042,7 +4043,11 @@ sub _join_activity_entries {
# Update the bugs_activity table to reflect changes made in bugs.
sub LogActivityEntry {
my ($i, $col, $removed, $added, $whoid, $timestamp, $comment_id) = @_;
- my $dbh = Bugzilla->dbh;
+ state $sth =
+ Bugzilla->dbh->prepare('INSERT INTO bugs_activity
+ (bug_id, who, bug_when, fieldid, removed, added, comment_id)
+ VALUES (?, ?, ?, ?, ?, ?, ?)');
+
# in the case of CCs, deps, and keywords, there's a possibility that someone
# might try to add or remove a lot of them at once, which might take more
# space than the activity table allows. We'll solve this by splitting it
@@ -4066,10 +4071,7 @@ sub LogActivityEntry {
trick_taint($addstr);
trick_taint($removestr);
my $fieldid = get_field_id($col);
- $dbh->do("INSERT INTO bugs_activity
- (bug_id, who, bug_when, fieldid, removed, added, comment_id)
- VALUES (?, ?, ?, ?, ?, ?, ?)",
- undef, ($i, $whoid, $timestamp, $fieldid, $removestr, $addstr, $comment_id));
+ $sth->execute($i, $whoid, $timestamp, $fieldid, $removestr, $addstr, $comment_id);
}
}