diff options
Diffstat (limited to 'Bugzilla')
-rw-r--r-- | Bugzilla/Search.pm | 18 | ||||
-rw-r--r-- | Bugzilla/User/Setting.pm | 4 |
2 files changed, 16 insertions, 6 deletions
diff --git a/Bugzilla/Search.pm b/Bugzilla/Search.pm index 9b92b57d1..8e70a9721 100644 --- a/Bugzilla/Search.pm +++ b/Bugzilla/Search.pm @@ -822,28 +822,38 @@ sub _add_extra_column { } # These are the columns that we're going to be actually SELECTing. +sub _display_columns { + my ($self) = @_; + # Do not alter the list specified here at all, even if they are duplicated. + # Those are passed by the caller, and the caller expects to get them back + # in the exact same order. + $self->{display_columns} ||= [$self->_input_columns, $self->_extra_columns]; + return @{ $self->{display_columns} }; +} + +# These are the columns that are involved in the query. sub _select_columns { my ($self) = @_; return @{ $self->{select_columns} } if $self->{select_columns}; my @select_columns; - foreach my $column ($self->_input_columns, $self->_extra_columns) { + foreach my $column ($self->_display_columns) { if (my $add_first = COLUMN_DEPENDS->{$column}) { push(@select_columns, @$add_first); } push(@select_columns, $column); } - + # Remove duplicated columns. $self->{select_columns} = [uniq @select_columns]; return @{ $self->{select_columns} }; } -# This takes _select_columns and translates it into the actual SQL that +# This takes _display_columns and translates it into the actual SQL that # will go into the SELECT clause. sub _sql_select { my ($self) = @_; my @sql_fields; - foreach my $column ($self->_select_columns) { + foreach my $column ($self->_display_columns) { my $alias = $column; # Aliases cannot contain dots in them. We convert them to underscores. $alias =~ s/\./_/g; diff --git a/Bugzilla/User/Setting.pm b/Bugzilla/User/Setting.pm index 78e64c96b..958a95580 100644 --- a/Bugzilla/User/Setting.pm +++ b/Bugzilla/User/Setting.pm @@ -391,10 +391,10 @@ Description: Determines if a given setting exists in the database. Params: C<$setting_name> - string - the setting name Returns: boolean - true if the setting already exists in the DB. -=back - =end private +=back + =head1 METHODS =over 4 |