]> git.joonet.de Git - adminer.git/commitdiff
PostgreSQL: Do not export triggers if not requested
authorJakub Vrana <jakub@vrana.cz>
Mon, 22 Jan 2018 13:25:27 +0000 (14:25 +0100)
committerJakub Vrana <jakub@vrana.cz>
Mon, 22 Jan 2018 13:25:27 +0000 (14:25 +0100)
adminer/drivers/pgsql.inc.php
changes.txt

index 10f36dcab2359d25880555a9b24b7751cd1995eb..787c6ae9b3c1b778eef69e0dc1fe3582cc2ae4c0 100644 (file)
@@ -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;
        }
 
 
index 391a17e48080e705dbc406de763e62f7cf680612..51bc4714894235999101d1ebff93414b58d62e68 100644 (file)
@@ -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):