From 2c5cc9b908db7ff88718f8c8c03b050bd8f594fa Mon Sep 17 00:00:00 2001 From: jakubvrana Date: Sat, 28 Jul 2007 20:33:18 +0000 Subject: [PATCH] Move triggers to table git-svn-id: https://adminer.svn.sourceforge.net/svnroot/adminer/trunk@283 7c3ca157-0c34-0410-bff1-cbf682f78f5c --- dump.inc.php | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/dump.inc.php b/dump.inc.php index f1f52fe3..e45baa0a 100644 --- a/dump.inc.php +++ b/dump.inc.php @@ -7,7 +7,7 @@ function dump_table($table, $data = true) { global $mysql; $result = $mysql->query("SHOW CREATE TABLE " . idf_escape($table)); if ($result) { - echo $mysql->result($result, 1) . ";\n"; + echo $mysql->result($result, 1) . ";\n\n"; $result->free(); if ($data) { $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"; } + 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) { @@ -47,19 +58,8 @@ function dump($db) { } $result->free(); - if ($mysql->server_info >= 5) { - $result = $mysql->query("SHOW TRIGGERS"); - 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(); + if ($routines[$db]) { + echo "DELIMITER ;;\n\n" . implode("", $routines[$db]) . "DELIMITER ;\n\n"; } echo "\n\n";