diff options
author | Dylan Hardison <dylan@mozilla.com> | 2016-06-30 21:19:00 +0200 |
---|---|---|
committer | Dylan Hardison <dylan@mozilla.com> | 2016-06-30 21:19:00 +0200 |
commit | 8920445cb25111f5748b3713ca59e8e549d6cb08 (patch) | |
tree | 762dd9871ea977c3d5acf9543864758015fc67ce /Bugzilla | |
parent | 584670c0f713744afc143593e3b810da6a5f6925 (diff) | |
download | bugzilla-8920445cb25111f5748b3713ca59e8e549d6cb08.tar.gz bugzilla-8920445cb25111f5748b3713ca59e8e549d6cb08.tar.xz |
Bug 1283310 - Optimizations for Bugzilla::active_custom_fields()
Diffstat (limited to 'Bugzilla')
-rw-r--r-- | Bugzilla/Bug.pm | 10 | ||||
-rw-r--r-- | Bugzilla/Field.pm | 3 |
2 files changed, 7 insertions, 6 deletions
diff --git a/Bugzilla/Bug.pm b/Bugzilla/Bug.pm index 73dc98963..09696f97b 100644 --- a/Bugzilla/Bug.pm +++ b/Bugzilla/Bug.pm @@ -83,9 +83,8 @@ use constant USE_MEMCACHED => 0; # This is a sub because it needs to call other subroutines. sub DB_COLUMNS { my $dbh = Bugzilla->dbh; - my @custom = grep {$_->type != FIELD_TYPE_MULTI_SELECT - && $_->type != FIELD_TYPE_EXTENSION} - Bugzilla->active_custom_fields; + my @custom = grep {$_->type != FIELD_TYPE_MULTI_SELECT } + Bugzilla->active_custom_fields({skip_extensions => 1}); my @custom_names = map {$_->name} @custom; my @columns = (qw( @@ -221,9 +220,8 @@ sub VALIDATOR_DEPENDENCIES { }; sub UPDATE_COLUMNS { - my @custom = grep {$_->type != FIELD_TYPE_MULTI_SELECT - && $_->type != FIELD_TYPE_EXTENSION} - Bugzilla->active_custom_fields; + my @custom = grep {$_->type != FIELD_TYPE_MULTI_SELECT } + Bugzilla->active_custom_fields({skip_extensions => 1}); my @custom_names = map {$_->name} @custom; my @columns = qw( alias diff --git a/Bugzilla/Field.pm b/Bugzilla/Field.pm index ea93327ad..0a0c7b15f 100644 --- a/Bugzilla/Field.pm +++ b/Bugzilla/Field.pm @@ -288,6 +288,9 @@ sub match { if (delete $params->{is_select}) { $params->{type} = [FIELD_TYPE_SINGLE_SELECT, FIELD_TYPE_MULTI_SELECT]; } + if (delete $params->{skip_extensions}) { + $params->{WHERE}{'type != ?'} = FIELD_TYPE_EXTENSION; + } return $self->SUPER::match(@_); } |