From 01a2722c94774c96fec2b46959d6be6b0b2bfed7 Mon Sep 17 00:00:00 2001 From: Jakub Vrana Date: Thu, 25 Apr 2013 23:41:46 -0700 Subject: [PATCH] Print run time next to executed queries --- adminer/include/editing.inc.php | 2 +- adminer/include/functions.inc.php | 14 ++++++++++---- adminer/sql.inc.php | 6 ++++-- changes.txt | 1 + 4 files changed, 16 insertions(+), 7 deletions(-) diff --git a/adminer/include/editing.inc.php b/adminer/include/editing.inc.php index f29f100d..76300b65 100644 --- a/adminer/include/editing.inc.php +++ b/adminer/include/editing.inc.php @@ -135,7 +135,7 @@ function textarea($name, $value, $rows = 10, $cols = 80) { * @return string HTML code */ function format_time($start, $end) { - return " (" . lang('%.3f s', max(0, array_sum(explode(" ", $end)) - array_sum(explode(" ", $start)))) . ")"; + return lang('%.3f s', max(0, array_sum(explode(" ", $end)) - array_sum(explode(" ", $start)))); } /** Print table columns for type edit diff --git a/adminer/include/functions.inc.php b/adminer/include/functions.inc.php index d0557b1d..34415b33 100644 --- a/adminer/include/functions.inc.php +++ b/adminer/include/functions.inc.php @@ -482,12 +482,15 @@ function redirect($location, $message = null) { */ function query_redirect($query, $location, $message, $redirect = true, $execute = true, $failed = false) { global $connection, $error, $adminer; + $time = ""; if ($execute) { + $start = microtime(); $failed = !$connection->query($query); + $time = "; -- " . format_time($start, microtime()); } $sql = ""; if ($query) { - $sql = $adminer->messageQuery("$query;"); + $sql = $adminer->messageQuery($query . $time); } if ($failed) { $error = error() . $sql; @@ -508,10 +511,13 @@ function queries($query = null) { static $queries = array(); if ($query === null) { // return executed queries without parameter - return implode(";\n", $queries); + return implode("\n", $queries); } - $queries[] = (ereg(';$', $query) ? "DELIMITER ;;\n$query;\nDELIMITER " : $query); - return $connection->query($query); + $start = microtime(); + $return = $connection->query($query); + $queries[] = (ereg(';$', $query) ? "DELIMITER ;;\n$query;\nDELIMITER " : $query) + . "; -- " . format_time($start, microtime()); + return $return; } /** Apply command to all array items diff --git a/adminer/sql.inc.php b/adminer/sql.inc.php index f4590b9e..b8c332cc 100644 --- a/adminer/sql.inc.php +++ b/adminer/sql.inc.php @@ -101,7 +101,8 @@ if (!$error && $_POST) { do { $result = $connection->store_result(); $end = microtime(); - $time = format_time($start, $end) . (strlen($q) < 1000 ? " " . lang('Edit') . "" : ""); // 1000 - maximum length of encoded URL in IE is 2083 characters + $time = " (" . format_time($start, $end) . ")" + . (strlen($q) < 1000 ? " " . lang('Edit') . "" : ""); // 1000 - maximum length of encoded URL in IE is 2083 characters if ($connection->error) { echo ($_POST["only_errors"] ? $print : ""); echo "

" . lang('Error in query') . ($connection->errno ? " ($connection->errno)" : "") . ": " . error() . "\n"; @@ -154,7 +155,8 @@ if (!$error && $_POST) { if ($empty) { echo "

" . lang('No commands to execute.') . "\n"; } elseif ($_POST["only_errors"]) { - echo "

" . lang('%d query(s) executed OK.', $commands - count($errors)) . format_time($total_start, microtime()) . "\n"; + echo "

" . lang('%d query(s) executed OK.', $commands - count($errors)); + echo " (" . format_time($total_start, microtime()) . ")\n"; } elseif ($errors && $commands > 1) { echo "

" . lang('Error in query') . ": " . implode("", $errors) . "\n"; } diff --git a/changes.txt b/changes.txt index 6a9d62a4..11ebc050 100644 --- a/changes.txt +++ b/changes.txt @@ -1,4 +1,5 @@ Adminer 3.6.5-dev: +Print run time next to executed queries Adminer 3.6.4 (released 2013-04-26): Display pagination on a fixed position