Bug 345359: Prevent Flag::clear from deleting a deleted flag when checking the inclusion and exclusion lists - Patch by Fr�d�ric Buclin <LpSolit@gmail.com> a=myk

This commit is contained in:
lpsolit%gmail.com 2006-07-25 00:08:31 +00:00
parent fb11841028
commit faeb3d399a
2 changed files with 5 additions and 4 deletions

View File

@ -448,7 +448,7 @@ sub process {
# In case the bug's product/component has changed, clear flags that are
# no longer valid.
my $flag_ids = $dbh->selectcol_arrayref(
"SELECT flags.id
"SELECT DISTINCT flags.id
FROM flags
INNER JOIN bugs
ON flags.bug_id = bugs.bug_id
@ -463,7 +463,7 @@ sub process {
foreach my $flag_id (@$flag_ids) { clear($flag_id, $bug, $attachment) }
$flag_ids = $dbh->selectcol_arrayref(
"SELECT flags.id
"SELECT DISTINCT flags.id
FROM flags, bugs, flagexclusions e
WHERE bugs.bug_id = ?
AND flags.bug_id = bugs.bug_id

View File

@ -388,7 +388,8 @@ sub update {
# Clear existing flags for bugs/attachments in categories no longer on
# the list of inclusions or that have been added to the list of exclusions.
my $flags = $dbh->selectall_arrayref('SELECT flags.id, flags.bug_id, flags.attach_id
my $flags = $dbh->selectall_arrayref('SELECT DISTINCT flags.id, flags.bug_id,
flags.attach_id
FROM flags
INNER JOIN bugs
ON flags.bug_id = bugs.bug_id
@ -408,7 +409,7 @@ sub update {
Bugzilla::Flag::clear($flag_id, $bug, $attachment);
}
$flags = $dbh->selectall_arrayref('SELECT flags.id, flags.bug_id, flags.attach_id
$flags = $dbh->selectall_arrayref('SELECT DISTINCT flags.id, flags.bug_id, flags.attach_id
FROM flags
INNER JOIN bugs
ON flags.bug_id = bugs.bug_id