From 58c80e369c6dae27dd6639c96ec57b1c92b4d8ad Mon Sep 17 00:00:00 2001 From: jakubvrana Date: Wed, 21 Apr 2010 22:37:16 +0000 Subject: [PATCH] Driver specific USE git-svn-id: https://adminer.svn.sourceforge.net/svnroot/adminer/trunk@1471 7c3ca157-0c34-0410-bff1-cbf682f78f5c --- adminer/drivers/mysql.inc.php | 14 ++++++++++++++ adminer/drivers/pgsql.inc.php | 4 ++++ adminer/drivers/sqlite.inc.php | 5 +++++ adminer/dump.inc.php | 2 +- 4 files changed, 24 insertions(+), 1 deletion(-) diff --git a/adminer/drivers/mysql.inc.php b/adminer/drivers/mysql.inc.php index 459cb93a..630095ad 100644 --- a/adminer/drivers/mysql.inc.php +++ b/adminer/drivers/mysql.inc.php @@ -666,10 +666,24 @@ if (!defined("DRIVER")) { return $connection->result("SHOW CREATE TABLE " . idf_escape($table), 1); } + /** Get SQL command to change database + * @param string + * @return string + */ + function use_sql($database) { + return "USE " . idf_escape($database); + } + + /** Get server variables + * @return array ($name => $value) + */ function show_variables() { return get_key_vals("SHOW VARIABLES"); } + /** Get status variables + * @return array ($name => $value) + */ function show_status() { return get_key_vals("SHOW STATUS"); } diff --git a/adminer/drivers/pgsql.inc.php b/adminer/drivers/pgsql.inc.php index ff339960..a584808c 100644 --- a/adminer/drivers/pgsql.inc.php +++ b/adminer/drivers/pgsql.inc.php @@ -415,6 +415,10 @@ WHERE tc.constraint_type = 'FOREIGN KEY' AND tc.table_name = " . $connection->qu return $connection->query("EXPLAIN $query"); } + function use_sql($database) { + return "\connect " . idf_escape($database); + } + function support($feature) { return ereg('^(comment|view|routine|trigger)$', $feature); } diff --git a/adminer/drivers/sqlite.inc.php b/adminer/drivers/sqlite.inc.php index 8abd2dfa..fd732b26 100644 --- a/adminer/drivers/sqlite.inc.php +++ b/adminer/drivers/sqlite.inc.php @@ -462,6 +462,11 @@ if (isset($_GET["sqlite"]) || isset($_GET["sqlite2"])) { return $connection->result("SELECT sql FROM sqlite_master WHERE name = " . $connection->quote($table)); } + function use_sql($database) { + global $connection; + return "ATTACH " . $connection->quote($database) . " AS " . idf_escape($database); + } + function show_variables() { global $connection; $return = array(); diff --git a/adminer/dump.inc.php b/adminer/dump.inc.php index 4f455ac1..137bd0ec 100644 --- a/adminer/dump.inc.php +++ b/adminer/dump.inc.php @@ -37,7 +37,7 @@ SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO'; } if ($_POST["format"] == "sql") { if ($style) { - echo "USE " . idf_escape($db) . ";\n\n"; + echo use_sql($db) . ";\n\n"; } if (in_array("CREATE+ALTER", array($style, $_POST["table_style"]))) { echo "SET @adminer_alter = '';\n\n";