mirror of
https://github.com/vrana/adminer.git
synced 2025-08-13 01:54:00 +02:00
Driver specific create and drop database
git-svn-id: https://adminer.svn.sourceforge.net/svnroot/adminer/trunk@1480 7c3ca157-0c34-0410-bff1-cbf682f78f5c
This commit is contained in:
@@ -359,6 +359,14 @@ WHERE OBJECT_NAME(indexes.object_id) = " . $connection2->quote($table)
|
||||
return $connection->quote($val);
|
||||
}
|
||||
|
||||
function create_database($db, $collation) {
|
||||
return queries("CREATE DATABASE " . idf_escape($db) . ($collation ? " COLLATE " . idf_escape($collation) : ""));
|
||||
}
|
||||
|
||||
function drop_databases($databases) {
|
||||
return queries("DROP DATABASE " . implode(", ", array_map('idf_escape', $databases)));
|
||||
}
|
||||
|
||||
function rename_database($name, $collation) {
|
||||
if ($collation) {
|
||||
queries("ALTER DATABASE " . idf_escape(DB) . " COLLATE " . idf_escape($collation));
|
||||
|
@@ -500,6 +500,27 @@ if (!defined("DRIVER")) {
|
||||
return "BINARY " . $connection->quote($val);
|
||||
}
|
||||
|
||||
/** Create database
|
||||
* @param string
|
||||
* @return string
|
||||
*/
|
||||
function create_database($db, $collation) {
|
||||
return queries("CREATE DATABASE " . idf_escape($db) . ($collation ? " COLLATE " . $connection->quote($collation) : ""));
|
||||
}
|
||||
|
||||
/** Drop databases
|
||||
* @param array
|
||||
* @return bool
|
||||
*/
|
||||
function drop_databases($databases) {
|
||||
foreach ($databases as $db) {
|
||||
if (!queries("DROP DATABASE " . idf_escape($db))) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/** Rename database from DB
|
||||
* @param string new name
|
||||
* @return string
|
||||
@@ -508,7 +529,7 @@ if (!defined("DRIVER")) {
|
||||
function rename_database($name, $collation) {
|
||||
global $connection;
|
||||
$return = false;
|
||||
if (queries("CREATE DATABASE " . idf_escape($name) . ($collation ? " COLLATE " . $connection->quote($collation) : ""))) {
|
||||
if (create_database($name, $collation)) {
|
||||
//! move triggers
|
||||
$return = true; // table list may by empty
|
||||
foreach (tables_list() as $table) {
|
||||
@@ -648,6 +669,9 @@ if (!defined("DRIVER")) {
|
||||
return $return;
|
||||
}
|
||||
|
||||
/** Get trigger options
|
||||
* @return array ("Timing" => array(), "Type" => array())
|
||||
*/
|
||||
function trigger_options() {
|
||||
return array(
|
||||
"Timing" => array("BEFORE", "AFTER"),
|
||||
|
@@ -52,6 +52,10 @@ if (isset($_GET["pgsql"])) {
|
||||
return $link;
|
||||
}
|
||||
|
||||
function close() {
|
||||
$this->_link = @pg_connect($this->_string);
|
||||
}
|
||||
|
||||
function query($query, $unbuffered = false) {
|
||||
$result = @pg_query($this->_link, $query);
|
||||
if (!$result) {
|
||||
@@ -134,6 +138,9 @@ if (isset($_GET["pgsql"])) {
|
||||
function select_db($database) {
|
||||
return (DB == $database);
|
||||
}
|
||||
|
||||
function close() {
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -301,6 +308,21 @@ WHERE tc.constraint_type = 'FOREIGN KEY' AND tc.table_name = " . $connection->qu
|
||||
return $connection->quote($val);
|
||||
}
|
||||
|
||||
function create_database($db, $collation) {
|
||||
return queries("CREATE DATABASE " . idf_escape($db) . ($collation ? " ENCODING " . idf_escape($collation) : ""));
|
||||
}
|
||||
|
||||
function drop_databases($databases) {
|
||||
global $connection;
|
||||
$connection->close();
|
||||
foreach ($databases as $db) {
|
||||
if (!queries("DROP DATABASE " . idf_escape($db))) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
function rename_database($name, $collation) {
|
||||
//! current database cannot be renamed
|
||||
return queries("ALTER DATABASE " . idf_escape(DB) . " RENAME TO " . idf_escape($name));
|
||||
|
Reference in New Issue
Block a user