aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrédéric Buclin <LpSolit@gmail.com>2013-01-16 19:10:07 +0100
committerFrédéric Buclin <LpSolit@gmail.com>2013-01-16 19:10:07 +0100
commite27b4a6be38479f2254b428fb7ad3ad9e9dc5eda (patch)
tree36884ecb3990090f8eae7f54fc6af4245b4e03bd /report.cgi
parentFix bustage (diff)
downloadbugzilla-e27b4a6be38479f2254b428fb7ad3ad9e9dc5eda.tar.gz
bugzilla-e27b4a6be38479f2254b428fb7ad3ad9e9dc5eda.tar.bz2
bugzilla-e27b4a6be38479f2254b428fb7ad3ad9e9dc5eda.zip
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 4e06c1169..1ea2f5edf 100755
--- a/report.cgi
+++ b/report.cgi
@@ -163,13 +163,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.
@@ -256,7 +255,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');