Bug 508729: Cache Bugzilla::Status::BUG_STATE_OPEN
Patch by Max Kanat-Alexander <mkanat@bugzilla.org> r=LpSolit, a=LpSolit git-svn-id: svn://10.0.0.236/trunk@257959 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
@@ -66,6 +66,7 @@ sub VALIDATORS {
|
||||
sub create {
|
||||
my $class = shift;
|
||||
my $self = $class->SUPER::create(@_);
|
||||
delete Bugzilla->request_cache->{status_bug_state_open};
|
||||
add_missing_bug_status_transitions();
|
||||
return $self;
|
||||
}
|
||||
@@ -80,6 +81,7 @@ sub remove_from_db {
|
||||
WHERE old_status = ? OR new_status = ?',
|
||||
undef, $id, $id);
|
||||
$dbh->bz_commit_transaction();
|
||||
delete Bugzilla->request_cache->{status_bug_state_open};
|
||||
}
|
||||
|
||||
###############################
|
||||
@@ -120,9 +122,12 @@ sub _check_value {
|
||||
###############################
|
||||
|
||||
sub BUG_STATE_OPEN {
|
||||
# XXX - We should cache this list.
|
||||
my $dbh = Bugzilla->dbh;
|
||||
return @{$dbh->selectcol_arrayref('SELECT value FROM bug_status WHERE is_open = 1')};
|
||||
my $cache = Bugzilla->request_cache;
|
||||
$cache->{status_bug_state_open} ||=
|
||||
$dbh->selectcol_arrayref('SELECT value FROM bug_status
|
||||
WHERE is_open = 1');
|
||||
return @{ $cache->{status_bug_state_open} };
|
||||
}
|
||||
|
||||
# Tells you whether or not the argument is a valid "open" state.
|
||||
|
||||
Reference in New Issue
Block a user