summaryrefslogtreecommitdiffstats
path: root/Bugzilla/DB/Oracle.pm
diff options
context:
space:
mode:
authormkanat%bugzilla.org <>2008-08-01 07:37:15 +0200
committermkanat%bugzilla.org <>2008-08-01 07:37:15 +0200
commit73a4dd56109c4799fd1d4ac7ed56ff72a47279bb (patch)
tree1b029a07667f48b1eb80507b815905ef9bb217f3 /Bugzilla/DB/Oracle.pm
parentd165b7785df760352ce17d3677691c5be0b3b6c4 (diff)
downloadbugzilla-73a4dd56109c4799fd1d4ac7ed56ff72a47279bb.tar.gz
bugzilla-73a4dd56109c4799fd1d4ac7ed56ff72a47279bb.tar.xz
Bug 440188: buglist.cgi should display EXPLAIN output when &debug=1
Patch By Max Kanat-Alexander <mkanat@bugzilla.org> r=LpSolit, a=mkanat
Diffstat (limited to 'Bugzilla/DB/Oracle.pm')
-rw-r--r--Bugzilla/DB/Oracle.pm9
1 files changed, 9 insertions, 0 deletions
diff --git a/Bugzilla/DB/Oracle.pm b/Bugzilla/DB/Oracle.pm
index 56d9d3fbf..341818a5c 100644
--- a/Bugzilla/DB/Oracle.pm
+++ b/Bugzilla/DB/Oracle.pm
@@ -104,6 +104,15 @@ sub bz_check_regexp {
{ value => $pattern, dberror => $self->errstr });
}
+sub bz_explain {
+ my ($self, $sql) = @_;
+ my $sth = $self->prepare("EXPLAIN PLAN FOR $sql");
+ $sth->execute();
+ my $explain = $self->selectcol_arrayref(
+ "SELECT PLAN_TABLE_OUTPUT FROM TABLE(DBMS_XPLAN.DISPLAY)");
+ return join("\n", @$explain);
+}
+
sub sql_regexp {
my ($self, $expr, $pattern, $nocheck) = @_;