summaryrefslogtreecommitdiffstats
path: root/Bugzilla/FlagType.pm
diff options
context:
space:
mode:
Diffstat (limited to 'Bugzilla/FlagType.pm')
-rw-r--r--Bugzilla/FlagType.pm15
1 files changed, 9 insertions, 6 deletions
diff --git a/Bugzilla/FlagType.pm b/Bugzilla/FlagType.pm
index c70c1598c..773996b2e 100644
--- a/Bugzilla/FlagType.pm
+++ b/Bugzilla/FlagType.pm
@@ -185,12 +185,15 @@ sub update {
# Silently remove requestees from flags which are no longer
# specifically requestable.
if (!$self->is_requesteeble) {
- my @ids = $dbh->selectrow_array(
- "SELECT id FROM flags WHERE type_id = ?", undef, $self->id);
- $dbh->do("UPDATE flags SET requestee_id = NULL WHERE "
- . $dbh->sql_in('type_id', \@ids));
- foreach my $id (@ids) {
- Bugzilla->memcached->clear({ table => 'flags', id => $id });
+ my $ids = $dbh->selectcol_arrayref(
+ 'SELECT id FROM flags WHERE type_id = ? AND requestee_id IS NOT NULL',
+ undef, $self->id);
+
+ if (@$ids) {
+ $dbh->do('UPDATE flags SET requestee_id = NULL WHERE ' . $dbh->sql_in('id', $ids));
+ foreach my $id (@$ids) {
+ Bugzilla->memcached->clear({ table => 'flags', id => $id });
+ }
}
}