From: Jakub Vrana Date: Fri, 12 Feb 2021 09:49:31 +0000 (+0100) Subject: Use common code X-Git-Tag: v4.8.1~17 X-Git-Url: https://git.joonet.de/?a=commitdiff_plain;h=5a1498d160e31493899cf0ac4c8cdc8e3fb24e02;p=adminer.git Use common code --- diff --git a/adminer/drivers/mysql.inc.php b/adminer/drivers/mysql.inc.php index bfaa166f..d77289ec 100644 --- a/adminer/drivers/mysql.inc.php +++ b/adminer/drivers/mysql.inc.php @@ -678,17 +678,17 @@ if (!defined("DRIVER")) { function rename_database($name, $collation) { $return = false; if (create_database($name, $collation)) { - //! move triggers - $rename = array(); + $tables = array(); + $views = array(); foreach (tables_list() as $table => $type) { - $rename[] = table($table) . " TO " . idf_escape($name) . "." . table($table); - } - $return = (!$rename || queries("RENAME TABLE " . implode(", ", $rename))); - if ($return) { - queries("DROP DATABASE " . idf_escape(DB)); + if ($type == 'VIEW') { + $views[] = $table; + } else { + $tables[] = $table; + } } - restart_session(); - set_session("dbs", null); + $return = (!$tables && !$views) || move_tables($tables, $views, $name); + drop_databases($return ? array(DB) : array()); } return $return; }