From 94929b9f1c6f9d632cc21141f14ca81b07b8cbc1 Mon Sep 17 00:00:00 2001 From: Frédéric Buclin Date: Mon, 14 Oct 2013 16:43:44 +0200 Subject: Bug 340160: Speed up LogActivityEntry() r=dkl a=glob --- Bugzilla/Bug.pm | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'Bugzilla') 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); } } -- cgit v1.2.3-24-g4f1b