From 2c8ad01edb6ac6e8f040e302c14aa0e1ad140ef2 Mon Sep 17 00:00:00 2001 From: "jocuri%softhome.net" <> Date: Sun, 9 Jan 2005 02:22:44 +0000 Subject: Patch for bug 277013: provides a fix for the SQL error that appears when a user's vote confirms a bug; patch by Frédéric Buclin , r=wurblzap, a=justdave. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- votes.cgi | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'votes.cgi') diff --git a/votes.cgi b/votes.cgi index 4c8210690..a8815756e 100755 --- a/votes.cgi +++ b/votes.cgi @@ -312,8 +312,12 @@ sub record_votes { # for products that only allow one vote per bug). In that case, we still # need to clear the user's votes from the database. my %affected; - SendSQL("LOCK TABLES bugs write, votes write, products read, cc read, - fielddefs read, user_group_map read, bug_group_map read"); + SendSQL("LOCK TABLES bugs WRITE, bugs_activity WRITE, votes WRITE, + longdescs WRITE, profiles READ, products READ, components READ, + cc READ, dependencies READ, groups READ, fielddefs READ, + namedqueries READ, whine_queries READ, watch READ, + profiles AS watchers READ, profiles AS watched READ, + user_group_map READ, bug_group_map READ"); # Take note of, and delete the user's old votes from the database. SendSQL("SELECT bug_id FROM votes WHERE who = $who"); @@ -330,18 +334,18 @@ sub record_votes { SendSQL("INSERT INTO votes (who, bug_id, vote_count) VALUES ($who, $id, ".$votes{$id}.")"); } - $affected{$id} = 1; } # Update the cached values in the bugs table + print $cgi->header(); foreach my $id (keys %affected) { SendSQL("SELECT sum(vote_count) FROM votes WHERE bug_id = $id"); - my $v = FetchOneColumn(); - $v ||= 0; + my $v = FetchOneColumn() || 0; SendSQL("UPDATE bugs SET votes = $v, delta_ts=delta_ts WHERE bug_id = $id"); - CheckIfVotedConfirmed($id, $who); + my $confirmed = CheckIfVotedConfirmed($id, $who); + $vars->{'header_done'} = 1 if $confirmed; } SendSQL("UNLOCK TABLES"); -- cgit v1.2.3-24-g4f1b