diff options
author | Byron Jones <bjones@mozilla.com> | 2014-03-04 08:50:54 +0100 |
---|---|---|
committer | Byron Jones <bjones@mozilla.com> | 2014-03-04 08:50:54 +0100 |
commit | 9193214274889f2b7636146e72d8200e9bfaeb7b (patch) | |
tree | e570cc86aa8df53dd0e7e9d902d88450c5dc25c7 /Bugzilla/FlagType.pm | |
parent | 75eaf0d6c8ecf764d73cb870e504e84826d44751 (diff) | |
download | bugzilla-9193214274889f2b7636146e72d8200e9bfaeb7b.tar.gz bugzilla-9193214274889f2b7636146e72d8200e9bfaeb7b.tar.xz |
Bug 966180: backport bug 956233 to bmo (enable USE_MEMCACHE on most objects)
Diffstat (limited to 'Bugzilla/FlagType.pm')
-rw-r--r-- | Bugzilla/FlagType.pm | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/Bugzilla/FlagType.pm b/Bugzilla/FlagType.pm index 910e2d425..3325c8c5c 100644 --- a/Bugzilla/FlagType.pm +++ b/Bugzilla/FlagType.pm @@ -200,8 +200,16 @@ sub update { # Silently remove requestees from flags which are no longer # specifically requestable. if (!$self->is_requesteeble) { - $dbh->do('UPDATE flags SET requestee_id = NULL WHERE type_id = ?', - undef, $self->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 }); + } + } } Bugzilla::Hook::process('flagtype_end_of_update', |