1
0
mirror of https://github.com/dg/dibi.git synced 2025-08-04 05:07:36 +02:00

DibiNettePanel: Oracle explains using EXPLAIN PLAN

This commit is contained in:
David Grudl
2012-01-21 16:54:19 +01:00
parent 70fd2368aa
commit bf49cec002

View File

@@ -123,7 +123,7 @@ class DibiNettePanel extends DibiObject implements IBarPanel
try { try {
$backup = array($event->connection->onEvent, dibi::$numOfQueries, dibi::$totalTime); $backup = array($event->connection->onEvent, dibi::$numOfQueries, dibi::$totalTime);
$event->connection->onEvent = NULL; $event->connection->onEvent = NULL;
$cmd = is_string($this->explain) ? $this->explain : 'EXPLAIN'; $cmd = is_string($this->explain) ? $this->explain : ($event->connection->getConfig('driver') === 'oracle' ? 'EXPLAIN PLAN' : 'EXPLAIN');
$explain = dibi::dump($event->connection->nativeQuery("$cmd $event->sql"), TRUE); $explain = dibi::dump($event->connection->nativeQuery("$cmd $event->sql"), TRUE);
} catch (DibiException $e) {} } catch (DibiException $e) {}
list($event->connection->onEvent, dibi::$numOfQueries, dibi::$totalTime) = $backup; list($event->connection->onEvent, dibi::$numOfQueries, dibi::$totalTime) = $backup;