From d06de5512e0f8a9ceae4e3c78cc955410d20d625 Mon Sep 17 00:00:00 2001 From: Jakub Vrana Date: Tue, 8 Mar 2011 02:31:59 +0100 Subject: [PATCH] Use DELIMITER in history --- adminer/event.inc.php | 6 +++--- adminer/include/functions.inc.php | 6 +++--- adminer/procedure.inc.php | 2 +- adminer/trigger.inc.php | 2 +- changes.txt | 1 + 5 files changed, 9 insertions(+), 8 deletions(-) diff --git a/adminer/event.inc.php b/adminer/event.inc.php index d942a293..2cd7850f 100644 --- a/adminer/event.inc.php +++ b/adminer/event.inc.php @@ -14,13 +14,13 @@ if ($_POST && !$error) { : "AT " . q($_POST["STARTS"]) ) . " ON COMPLETION" . ($_POST["ON_COMPLETION"] ? "" : " NOT") . " PRESERVE" ; - query_redirect(($EVENT != "" + queries_redirect(substr(ME, 0, -1), ($EVENT != "" ? lang('Event has been altered.') : lang('Event has been created.')), queries(($EVENT != "" ? "ALTER EVENT " . idf_escape($EVENT) . $schedule . ($EVENT != $_POST["EVENT_NAME"] ? "\nRENAME TO " . idf_escape($_POST["EVENT_NAME"]) : "") : "CREATE EVENT " . idf_escape($_POST["EVENT_NAME"]) . $schedule ) . "\n" . $statuses[$_POST["STATUS"]] . " COMMENT " . q($_POST["EVENT_COMMENT"]) - . " DO\n$_POST[EVENT_DEFINITION]" - , substr(ME, 0, -1), ($EVENT != "" ? lang('Event has been altered.') : lang('Event has been created.'))); + . rtrim(" DO\n$_POST[EVENT_DEFINITION]", ";") . ";" + )); } } diff --git a/adminer/include/functions.inc.php b/adminer/include/functions.inc.php index 4713cbb2..eb51e595 100644 --- a/adminer/include/functions.inc.php +++ b/adminer/include/functions.inc.php @@ -424,7 +424,7 @@ function query_redirect($query, $location, $message, $redirect = true, $execute } /** Execute and remember query -* @param string null to return remembered queries +* @param string null to return remembered queries, end with ';' to use DELIMITER * @return Min_Result */ function queries($query = null) { @@ -432,9 +432,9 @@ function queries($query = null) { static $queries = array(); if (!isset($query)) { // return executed queries without parameter - return implode(";\n", $queries); + return implode("\n", $queries); } - $queries[] = $query; + $queries[] = (ereg(';$', $query) ? "DELIMITER ;;\n$query;\nDELIMITER ;" : "$query;"); return $connection->query($query); } diff --git a/adminer/procedure.inc.php b/adminer/procedure.inc.php index 99ab5dcb..198ae6e7 100644 --- a/adminer/procedure.inc.php +++ b/adminer/procedure.inc.php @@ -14,7 +14,7 @@ if ($_POST && !$error && !$_POST["add"] && !$_POST["drop_col"] && !$_POST["up"] } $dropped = drop_create( "DROP $routine " . idf_escape($PROCEDURE), - "CREATE $routine " . idf_escape($_POST["name"]) . " (" . implode(", ", $set) . ")" . (isset($_GET["function"]) ? " RETURNS" . process_type($_POST["returns"], "CHARACTER SET") : "") . "\n$_POST[definition]", + "CREATE $routine " . idf_escape($_POST["name"]) . " (" . implode(", ", $set) . ")" . (isset($_GET["function"]) ? " RETURNS" . process_type($_POST["returns"], "CHARACTER SET") : "") . rtrim("\n$_POST[definition]", ";") . ";", substr(ME, 0, -1), lang('Routine has been dropped.'), lang('Routine has been altered.'), diff --git a/adminer/trigger.inc.php b/adminer/trigger.inc.php index 2e3fb4ec..1ac3930f 100644 --- a/adminer/trigger.inc.php +++ b/adminer/trigger.inc.php @@ -9,7 +9,7 @@ if ($_POST && !$error && in_array($_POST["Timing"], $trigger_options["Timing"]) $on = " ON " . table($TABLE); $dropped = drop_create( "DROP TRIGGER " . idf_escape($_GET["name"]) . ($jush == "pgsql" ? $on : ""), - "CREATE TRIGGER " . idf_escape($_POST["Trigger"]) . ($jush == "mssql" ? $on . $timing_event : $timing_event . $on) . " $_POST[Type]\n$_POST[Statement]", + "CREATE TRIGGER " . idf_escape($_POST["Trigger"]) . ($jush == "mssql" ? $on . $timing_event : $timing_event . $on) . rtrim(" $_POST[Type]\n$_POST[Statement]", ";") . ";", ME . "table=" . urlencode($TABLE), lang('Trigger has been dropped.'), lang('Trigger has been altered.'), diff --git a/changes.txt b/changes.txt index b6150993..d9460f3c 100644 --- a/changes.txt +++ b/changes.txt @@ -5,6 +5,7 @@ Esc to focus next field in Tab textarea (thanks to David Grudl) Enum editor and textarea Ctrl+Enter working in IE AJAX forms in Google Chrome Parse UTF-16 and UTF-8 BOM in all text uploads +Use DELIMITER in history Adminer 3.2.0 (released 2011-02-24): Get long texts and slow information by AJAX