1
0
mirror of https://github.com/vrana/adminer.git synced 2025-08-12 01:24:17 +02:00

Driver specific trigger export

git-svn-id: https://adminer.svn.sourceforge.net/svnroot/adminer/trunk@1519 7c3ca157-0c34-0410-bff1-cbf682f78f5c
This commit is contained in:
jakubvrana
2010-05-05 16:28:37 +00:00
parent da8a1b66b9
commit cc04be2eb2
5 changed files with 30 additions and 19 deletions

View File

@@ -770,6 +770,24 @@ if (!defined("DRIVER")) {
return "USE " . idf_escape($database);
}
/** Get SQL commands to create triggers
* @param string
* @param string
* @return string
*/
function trigger_sql($table, $style) {
global $connection;
$result = $connection->query("SHOW TRIGGERS LIKE " . $connection->quote(addcslashes($table, "%_")));
$return = "";
if ($result->num_rows) {
while ($row = $result->fetch_assoc()) {
$return .= "\n" . ($style == 'CREATE+ALTER' ? "DROP TRIGGER IF EXISTS " . idf_escape($row["Trigger"]) . ";;\n" : "")
. "CREATE TRIGGER " . idf_escape($row["Trigger"]) . " $row[Timing] $row[Event] ON " . idf_escape($row["Table"]) . " FOR EACH ROW\n$row[Statement];;\n";
}
}
return $return;
}
/** Get server variables
* @return array ($name => $value)
*/

View File

@@ -498,7 +498,7 @@ if (isset($_GET["sqlite"]) || isset($_GET["sqlite2"])) {
function create_sql($table) {
global $connection;
return $connection->result("SELECT sql FROM sqlite_master WHERE name = " . $connection->quote($table));
return $connection->result("SELECT sql FROM sqlite_master WHERE type = 'table' AND name = " . $connection->quote($table));
}
function use_sql($database) {
@@ -506,6 +506,11 @@ if (isset($_GET["sqlite"]) || isset($_GET["sqlite2"])) {
return "ATTACH " . $connection->quote($database) . " AS " . idf_escape($database);
}
function trigger_sql($table, $style) {
global $connection;
return implode("", get_vals("SELECT sql || ';;\n' FROM sqlite_master WHERE type = 'trigger' AND name = " . $connection->quote($table)));
}
function show_variables() {
global $connection;
$return = array();