Move triggers to table

git-svn-id: https://adminer.svn.sourceforge.net/svnroot/adminer/trunk@283 7c3ca157-0c34-0410-bff1-cbf682f78f5c
This commit is contained in:
jakubvrana 2007-07-28 20:33:18 +00:00
parent b5ffc73bd2
commit 2c5cc9b908

View file

@ -7,7 +7,7 @@ function dump_table($table, $data = true) {
global $mysql; global $mysql;
$result = $mysql->query("SHOW CREATE TABLE " . idf_escape($table)); $result = $mysql->query("SHOW CREATE TABLE " . idf_escape($table));
if ($result) { if ($result) {
echo $mysql->result($result, 1) . ";\n"; echo $mysql->result($result, 1) . ";\n\n";
$result->free(); $result->free();
if ($data) { if ($data) {
$result = $mysql->query("SELECT * FROM " . idf_escape($table)); //! enum and set as numbers, binary as _binary $result = $mysql->query("SELECT * FROM " . idf_escape($table)); //! enum and set as numbers, binary as _binary
@ -20,6 +20,17 @@ function dump_table($table, $data = true) {
} }
echo "\n"; echo "\n";
} }
if ($mysql->server_info >= 5) {
$result = $mysql->query("SHOW TRIGGERS LIKE '" . $mysql->escape_string(addcslashes($table, "%_")) . "'");
if ($result->num_rows) {
echo "DELIMITER ;;\n\n";
while ($row = $result->fetch_assoc()) {
echo "CREATE TRIGGER " . idf_escape($row["Trigger"]) . " $row[Timing] $row[Event] ON " . idf_escape($row["Table"]) . " FOR EACH ROW $row[Statement];;\n\n";
}
echo "DELIMITER ;\n\n";
}
$result->free();
}
} }
function dump($db) { function dump($db) {
@ -47,19 +58,8 @@ function dump($db) {
} }
$result->free(); $result->free();
if ($mysql->server_info >= 5) { if ($routines[$db]) {
$result = $mysql->query("SHOW TRIGGERS"); echo "DELIMITER ;;\n\n" . implode("", $routines[$db]) . "DELIMITER ;\n\n";
if ($result->num_rows || $routines[$db]) {
echo "DELIMITER ;;\n\n";
}
while ($row = $result->fetch_assoc()) {
echo "CREATE TRIGGER " . idf_escape($row["Trigger"]) . " $row[Timing] $row[Event] ON " . idf_escape($row["Table"]) . " FOR EACH ROW $row[Statement];;\n\n";
}
echo implode("", (array) $routines[$db]);
if ($result->num_rows || $routines[$db]) {
echo "DELIMITER ;\n\n";
}
$result->free();
} }
echo "\n\n"; echo "\n\n";