summaryrefslogtreecommitdiffstats
path: root/report.cgi
diff options
context:
space:
mode:
authorFrédéric Buclin <LpSolit@gmail.com>2013-01-16 19:05:22 +0100
committerFrédéric Buclin <LpSolit@gmail.com>2013-01-16 19:05:22 +0100
commitd8643908a7d6243c361e670573af763067db408d (patch)
treeb8e5b5df199351e6455843fc27a4c4e1e30433d9 /report.cgi
parent7b6b9a789a2bfc5707ba1eb85ad7ba5245af64a3 (diff)
downloadbugzilla-d8643908a7d6243c361e670573af763067db408d.tar.gz
bugzilla-d8643908a7d6243c361e670573af763067db408d.tar.xz
Bug 819432: Execute queries in two steps to improve performance
r=dkl a=LpSolit
Diffstat (limited to 'report.cgi')
-rwxr-xr-xreport.cgi7
1 files changed, 3 insertions, 4 deletions
diff --git a/report.cgi b/report.cgi
index 69aadddbd..2949a18c3 100755
--- a/report.cgi
+++ b/report.cgi
@@ -164,13 +164,12 @@ my $search = new Bugzilla::Search(
params => scalar $params->Vars,
allow_unlimited => 1,
);
-my $query = $search->sql;
$::SIG{TERM} = 'DEFAULT';
$::SIG{PIPE} = 'DEFAULT';
-my $dbh = Bugzilla->switch_to_shadow_db();
-my $results = $dbh->selectall_arrayref($query);
+Bugzilla->switch_to_shadow_db();
+my ($results, $extra_data) = $search->data;
# We have a hash of hashes for the data itself, and a hash to hold the
# row/col/table names.
@@ -257,7 +256,7 @@ if ($formatparam eq "bar") {
$vars->{'width'} = $width;
$vars->{'height'} = $height;
-$vars->{'query'} = $query;
+$vars->{'queries'} = $extra_data;
$vars->{'saved_report_id'} = $cgi->param('saved_report_id');
$vars->{'debug'} = $cgi->param('debug');