From f4d2794c9c514811e1a25939f7e4d0776fa14fe0 Mon Sep 17 00:00:00 2001 From: Jakub Vrana Date: Fri, 20 Dec 2013 16:12:26 -0800 Subject: [PATCH] SQLite: Search trigger name only among triggers --- adminer/drivers/sqlite.inc.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/adminer/drivers/sqlite.inc.php b/adminer/drivers/sqlite.inc.php index 99867d29..c3d2d9cf 100644 --- a/adminer/drivers/sqlite.inc.php +++ b/adminer/drivers/sqlite.inc.php @@ -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]); }