diff options
author | Dave Lawrence <dlawrence@mozilla.com> | 2013-09-30 22:13:29 +0200 |
---|---|---|
committer | Dave Lawrence <dlawrence@mozilla.com> | 2013-09-30 22:13:29 +0200 |
commit | d1b94d166cebefe30ee84e2f59da2b962726f826 (patch) | |
tree | 0de51a41ac52a4a2ce4cadf2885008fb843023a6 /Bugzilla | |
parent | 1941de37c0f7e49069fee49cfebcaa842a58c420 (diff) | |
download | bugzilla-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')
-rw-r--r-- | Bugzilla/Bug.pm | 12 |
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); } } |