From eee9a62c8fbc315a31387dec62d36f36da3613ef Mon Sep 17 00:00:00 2001 From: Jakub Vrana Date: Mon, 22 Jan 2018 14:25:27 +0100 Subject: [PATCH] PostgreSQL: Do not export triggers if not requested --- adminer/drivers/pgsql.inc.php | 30 ++++++------------------------ changes.txt | 1 + 2 files changed, 7 insertions(+), 24 deletions(-) diff --git a/adminer/drivers/pgsql.inc.php b/adminer/drivers/pgsql.inc.php index 10f36dca..787c6ae9 100644 --- a/adminer/drivers/pgsql.inc.php +++ b/adminer/drivers/pgsql.inc.php @@ -617,11 +617,6 @@ AND typelem = 0" return $return; } - /** Get SQL command to create table - * @param string - * @param bool - * @return string - */ function create_sql($table, $auto_increment) { global $connection; $return = ''; @@ -634,7 +629,6 @@ AND typelem = 0" ksort($indexes); $fkeys = foreign_keys($table); ksort($fkeys); - $triggers = triggers($table); if (!$status || empty($fields)) { return false; @@ -695,29 +689,17 @@ AND typelem = 0" } } - // triggers - foreach ($triggers as $trg_id => $trg) { - $trigger = trigger($trg_id, $status['Name']); - $return .= "\n\nCREATE TRIGGER " . idf_escape($trigger['Trigger']) . " $trigger[Timing] $trigger[Events] ON " . idf_escape($status["nspname"]) . "." . idf_escape($status['Name']) . " $trigger[Type] $trigger[Statement];"; - } - return rtrim($return, ';'); } - /** Get SQL commands to create triggers - * @param string - * @return string - */ - //@TODO function trigger_sql($table) { + $status = table_status($table); $return = ""; - //foreach (get_rows("SHOW TRIGGERS LIKE " . q(addcslashes($table, "%_\\")), null, "-- ") as $row) { - // $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 " . table($row["Table"]) . " FOR EACH ROW\n$row[Statement];;\n"; - //} - //return $return; - - return false; + foreach (triggers($table) as $trg_id => $trg) { + $trigger = trigger($trg_id, $status['Name']); + $return .= "\nCREATE TRIGGER " . idf_escape($trigger['Trigger']) . " $trigger[Timing] $trigger[Events] ON " . idf_escape($status["nspname"]) . "." . idf_escape($status['Name']) . " $trigger[Type] $trigger[Statement];;\n"; + } + return $return; } diff --git a/changes.txt b/changes.txt index 391a17e4..51bc4714 100644 --- a/changes.txt +++ b/changes.txt @@ -3,6 +3,7 @@ Adminer: Fix Search data in tables (regression from 4.4.0) CSP: Allow any styles, images, media and fonts, disallow base-uri SQLite: Enable foreign key checks PostgreSQL: Respect NULL default value +PostgreSQL: Do not export triggers if not requested Elasticsearch: Insert, update, delete Adminer 4.4.0 (released 2018-01-17):