diff options
author | Frédéric Buclin <LpSolit@gmail.com> | 2012-07-24 16:03:46 +0200 |
---|---|---|
committer | Frédéric Buclin <LpSolit@gmail.com> | 2012-07-24 16:03:46 +0200 |
commit | 8f20bef9c6f6137934efc668d64a1ab2fba20c2d (patch) | |
tree | 7f18903f56baa2e90c1bb075340b32ccc7babc64 | |
parent | bd81163bcecc92e20febf5cdc7ac083a117c6056 (diff) | |
download | bugzilla-8f20bef9c6f6137934efc668d64a1ab2fba20c2d.tar.gz bugzilla-8f20bef9c6f6137934efc668d64a1ab2fba20c2d.tar.xz |
Bug 753688: Classification doesn't work as z-axis on reports
r=glob a=LpSolit
-rw-r--r-- | Bugzilla/Search.pm | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/Bugzilla/Search.pm b/Bugzilla/Search.pm index 9a7feee73..da37a9638 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; |