]> git.joonet.de Git - adminer.git/commitdiff
SQLite: Search trigger name only among triggers
authorJakub Vrana <jakub@vrana.cz>
Sat, 21 Dec 2013 00:12:26 +0000 (16:12 -0800)
committerJakub Vrana <jakub@vrana.cz>
Sat, 21 Dec 2013 00:12:26 +0000 (16:12 -0800)
adminer/drivers/sqlite.inc.php

index 99867d29a46b6850f75f28a0dfd8f68d8f6b4fb6..c3d2d9cf423556366b321afc2850c799ec773182 100644 (file)
@@ -629,7 +629,11 @@ if (isset($_GET["sqlite"]) || isset($_GET["sqlite2"])) {
                if ($name == "") {
                        return array("Statement" => "BEGIN\n\t;\nEND");
                }
-               preg_match('~^CREATE\\s+TRIGGER\\s*(?:[^`"\\s]+|`[^`]*`|"[^"]*")+\\s*([a-z]+)\\s+([a-z]+)\\s+ON\\s*(?:[^`"\\s]+|`[^`]*`|"[^"]*")+\\s*(?:FOR\\s*EACH\\s*ROW\\s)?(.*)~is', $connection->result("SELECT sql FROM sqlite_master WHERE name = " . q($name)), $match);
+               preg_match(
+                       '~^CREATE\\s+TRIGGER\\s*(?:[^`"\\s]+|`[^`]*`|"[^"]*")+\\s*([a-z]+)\\s+([a-z]+)\\s+ON\\s*(?:[^`"\\s]+|`[^`]*`|"[^"]*")+\\s*(?:FOR\\s*EACH\\s*ROW\\s)?(.*)~is',
+                       $connection->result("SELECT sql FROM sqlite_master WHERE type = 'trigger' AND name = " . q($name)),
+                       $match
+               );
                return array("Timing" => strtoupper($match[1]), "Event" => strtoupper($match[2]), "Trigger" => $name, "Statement" => $match[3]);
        }