From 7ad09d2cb4ff5fadb5245804875277729f2abc77 Mon Sep 17 00:00:00 2001 From: Jakub Vrana Date: Wed, 31 Jan 2018 20:25:11 +0100 Subject: [PATCH] Move explain below warnings --- adminer/sql.inc.php | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/adminer/sql.inc.php b/adminer/sql.inc.php index c7ca3d50..733f4a7f 100644 --- a/adminer/sql.inc.php +++ b/adminer/sql.inc.php @@ -135,6 +135,8 @@ if (!$error && $_POST) { if ($warnings && $warnings->num_rows) { $time .= ", " . lang('Warnings') . "" . script("qsl('a').onclick = partial(toggle, '$warnings_id');", ""); } + $explain = null; + $explain_id = "explain-$commands"; if (is_object($result)) { $limit = $_POST["limit"]; $orgtables = select($result, $connection2, array(), $limit); @@ -143,23 +145,17 @@ if (!$error && $_POST) { $num_rows = $result->num_rows; echo "

" . ($num_rows ? ($limit && $num_rows > $limit ? lang('%d / ', $limit) : "") . lang('%d row(s)', $num_rows) : ""); echo $time; + if ($connection2 && preg_match("~^($space|\\()*+SELECT\\b~i", $q) && ($explain = explain($connection2, $q))) { + echo ", EXPLAIN" . script("qsl('a').onclick = partial(toggle, '$explain_id');", ""); + } $id = "export-$commands"; - $export = ", " . lang('Export') . "" . script("qsl('a').onclick = partial(toggle, '$id');", "") . "

\n"; - } else { - echo $export; - } - echo "\n"; } } else { @@ -172,11 +168,16 @@ if (!$error && $_POST) { echo "

" . lang('Query executed OK, %d row(s) affected.', $connection->affected_rows) . "$time\n"; } } - if ($warnings && $warnings->num_rows && (!$_POST["only_errors"] || is_object($result))) { + if ($warnings && $warnings->num_rows && !$_POST["only_errors"]) { echo "

\n"; } + if ($explain) { + echo "\n"; + } } $start = microtime(true);