summaryrefslogtreecommitdiffstats
path: root/Bugzilla
diff options
context:
space:
mode:
authorFrédéric Buclin <LpSolit@gmail.com>2013-10-14 16:43:44 +0200
committerFrédéric Buclin <LpSolit@gmail.com>2013-10-14 16:43:44 +0200
commit94929b9f1c6f9d632cc21141f14ca81b07b8cbc1 (patch)
treea6b7902f576f802fe211273adaa3e653ed3ac9e1 /Bugzilla
parent5ab9af110e4bb7fc406b2cdcf97fd22cb265b592 (diff)
downloadbugzilla-94929b9f1c6f9d632cc21141f14ca81b07b8cbc1.tar.gz
bugzilla-94929b9f1c6f9d632cc21141f14ca81b07b8cbc1.tar.xz
Bug 340160: Speed up LogActivityEntry()
r=dkl a=glob
Diffstat (limited to 'Bugzilla')
-rw-r--r--Bugzilla/Bug.pm11
1 files changed, 6 insertions, 5 deletions
diff --git a/Bugzilla/Bug.pm b/Bugzilla/Bug.pm
index 61731c039..88f1f18bc 100644
--- a/Bugzilla/Bug.pm
+++ b/Bugzilla/Bug.pm
@@ -3954,7 +3954,11 @@ sub get_activity {
# 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;
+ my $sth = Bugzilla->dbh->prepare_cached(
+ '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
@@ -3978,10 +3982,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);
}
}