From: Alan Knowles Date: Thu, 16 Apr 2015 05:00:08 +0000 (+0800) Subject: UpdateDatabase/MysqlLinks.php X-Git-Url: http://git.roojs.org/?p=Pman.Core;a=commitdiff_plain;h=697cfd737dd36386d020c072cbcad7e14a7f7f7f UpdateDatabase/MysqlLinks.php --- diff --git a/UpdateDatabase/MysqlLinks.php b/UpdateDatabase/MysqlLinks.php index a7ea502a..93ba514c 100644 --- a/UpdateDatabase/MysqlLinks.php +++ b/UpdateDatabase/MysqlLinks.php @@ -346,8 +346,36 @@ class Pman_Core_UpdateDatabase_MysqlLinks { */ // type = update/insert/delete - function listTriggerFunctions($type) - + function listTriggerFunctions($table, $type) + { + static $cache = array(); + if (!isset($cache[$table])) { + $cache[$table] = array(); + $q = DB_DAtaObject::factory('core_enum'); + $q->query("SELECT + SPECIFIC_NAME + FROM + information_schema.ROUTINES + WHERE + ROUTINE_SCHEMA = '{$q->escape($q->database())}' + AND + ROUTINE_NAME LIKE '" . $q->escape("{$table}_trigger_") . "%' + AND + ROUTINE_TYPE = 'CALL' + + "); + while ($q->fetch()) { + $cache[$table] = $q->SPECIFIC_NAME; + } + } + // now see which of the procedures match the specification.. + + + + + + + }