From 52164942cffb6334815ba2c9e77ed43985f1afbb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20=C4=8Ciha=C5=99?= Date: Tue, 18 Sep 2012 16:19:24 +0200 Subject: [PATCH] Move debug mode handling into separate function --- libraries/database_interface.lib.php | 69 +++++++++++++++++----------- 1 file changed, 41 insertions(+), 28 deletions(-) diff --git a/libraries/database_interface.lib.php b/libraries/database_interface.lib.php index 639b05e480..651d262167 100644 --- a/libraries/database_interface.lib.php +++ b/libraries/database_interface.lib.php @@ -114,6 +114,46 @@ function PMA_DBI_query($query, $link = null, $options = 0, return $res; } +/** + * Stores query data into session data for debugging purposes + * + * @param string $query Query text + * @param integer $time Time to execute query + * + * @return void + */ +function PMA_DBI_DBG_query($query, $time) +{ + $hash = md5($query); + + if (isset($_SESSION['debug']['queries'][$hash])) { + $_SESSION['debug']['queries'][$hash]['count']++; + } else { + $_SESSION['debug']['queries'][$hash] = array(); + if ($r == false) { + $_SESSION['debug']['queries'][$hash]['error'] + = '' . mysqli_error($link) . ''; + } + $_SESSION['debug']['queries'][$hash]['count'] = 1; + $_SESSION['debug']['queries'][$hash]['query'] = $query; + $_SESSION['debug']['queries'][$hash]['time'] = $time; + } + + $trace = array(); + foreach (debug_backtrace() as $trace_step) { + $trace[] = PMA_Error::relPath($trace_step['file']) . '#' + . $trace_step['line'] . ': ' + . (isset($trace_step['class']) ? $trace_step['class'] : '') + . (isset($trace_step['type']) ? $trace_step['type'] : '') + . (isset($trace_step['function']) ? $trace_step['function'] : '') + . '(' + . (isset($trace_step['params']) ? implode(', ', $trace_step['params']) : '') + . ')' + ; + } + $_SESSION['debug']['queries'][$hash]['trace'][] = $trace; +} + /** * runs a query and returns the result * @@ -149,35 +189,8 @@ function PMA_DBI_try_query($query, $link = null, $options = 0, if ($GLOBALS['cfg']['DBG']['sql']) { $time = microtime(true) - $time; + PMA_DBI_DBG_query($query, $time); - $hash = md5($query); - - if (isset($_SESSION['debug']['queries'][$hash])) { - $_SESSION['debug']['queries'][$hash]['count']++; - } else { - $_SESSION['debug']['queries'][$hash] = array(); - if ($r == false) { - $_SESSION['debug']['queries'][$hash]['error'] - = '' . mysqli_error($link) . ''; - } - $_SESSION['debug']['queries'][$hash]['count'] = 1; - $_SESSION['debug']['queries'][$hash]['query'] = $query; - $_SESSION['debug']['queries'][$hash]['time'] = $time; - } - - $trace = array(); - foreach (debug_backtrace() as $trace_step) { - $trace[] = PMA_Error::relPath($trace_step['file']) . '#' - . $trace_step['line'] . ': ' - . (isset($trace_step['class']) ? $trace_step['class'] : '') - . (isset($trace_step['type']) ? $trace_step['type'] : '') - . (isset($trace_step['function']) ? $trace_step['function'] : '') - . '(' - . (isset($trace_step['params']) ? implode(', ', $trace_step['params']) : '') - . ')' - ; - } - $_SESSION['debug']['queries'][$hash]['trace'][] = $trace; } if ($r != false && PMA_Tracker::isActive() == true ) { PMA_Tracker::handleQuery($query);