From 0e32c5241cc8d603326feff068f08106ad600e2a Mon Sep 17 00:00:00 2001 From: Byron Jones Date: Tue, 15 Oct 2013 04:03:25 +0800 Subject: Bug 926241: Multiple lock wait timeout exceeded errors on the bugs_activity table --- Bugzilla/Bug.pm | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) (limited to 'Bugzilla/Bug.pm') diff --git a/Bugzilla/Bug.pm b/Bugzilla/Bug.pm index 1de761985..6f3107d5c 100644 --- a/Bugzilla/Bug.pm +++ b/Bugzilla/Bug.pm @@ -30,7 +30,6 @@ package Bugzilla::Bug; -use 5.10.0; use strict; use Bugzilla::Attachment; @@ -4043,11 +4042,7 @@ 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) = @_; - state $sth = - Bugzilla->dbh->prepare('INSERT INTO bugs_activity - (bug_id, who, bug_when, fieldid, removed, added, comment_id) - VALUES (?, ?, ?, ?, ?, ?, ?)'); - + my $dbh = Bugzilla->dbh; # 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 @@ -4071,7 +4066,10 @@ sub LogActivityEntry { trick_taint($addstr); trick_taint($removestr); my $fieldid = get_field_id($col); - $sth->execute($i, $whoid, $timestamp, $fieldid, $removestr, $addstr, $comment_id); + $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)); } } -- cgit v1.2.3-24-g4f1b