diff --git a/ChangeLog b/ChangeLog index d17fd8c77..64800aadd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -46,6 +46,7 @@ $HeadURL: https://phpmyadmin.svn.sourceforge.net/svnroot/phpmyadmin/trunk/phpMyA OpenOffice Spreadsheet, thanks to Thomas Pulickal - jemajoign - patch #2859788 [parser] Double-character delimiters (bug #2846239), thanks to Thomas Pulickal - jemajoign +- bug #2832600 [export] Slow export when having lots of databases 3.2.2.0 (2009-09-13) - bug #2825293 [structure] Default value for a BIT column diff --git a/libraries/database_interface.lib.php b/libraries/database_interface.lib.php index dad54e318..dc5b8b2fe 100644 --- a/libraries/database_interface.lib.php +++ b/libraries/database_interface.lib.php @@ -1396,14 +1396,25 @@ function PMA_DBI_get_triggers($db, $table) { $result = array(); + if (! $GLOBALS['cfg']['Server']['DisableIS']) { // Note: in http://dev.mysql.com/doc/refman/5.0/en/faqs-triggers.html // their example uses WHERE TRIGGER_SCHEMA='dbname' so let's use this // instead of WHERE EVENT_OBJECT_SCHEMA='dbname' - $triggers = PMA_DBI_fetch_result("SELECT TRIGGER_SCHEMA, TRIGGER_NAME, EVENT_MANIPULATION, ACTION_TIMING, ACTION_STATEMENT, EVENT_OBJECT_SCHEMA, EVENT_OBJECT_TABLE FROM information_schema.TRIGGERS WHERE TRIGGER_SCHEMA= '" . PMA_sqlAddslashes($db,true) . "' and EVENT_OBJECT_TABLE = '" . PMA_sqlAddslashes($table, true) . "';"); + $triggers = PMA_DBI_fetch_result("SELECT TRIGGER_SCHEMA, TRIGGER_NAME, EVENT_MANIPULATION, ACTION_TIMING, ACTION_STATEMENT, EVENT_OBJECT_SCHEMA, EVENT_OBJECT_TABLE FROM information_schema.TRIGGERS WHERE TRIGGER_SCHEMA= '" . PMA_sqlAddslashes($db,true) . "' and EVENT_OBJECT_TABLE = '" . PMA_sqlAddslashes($table, true) . "';"); + } else { + $triggers = PMA_DBI_fetch_result("SHOW TRIGGERS FROM " . PMA_sqlAddslashes($db,true) . " LIKE '" . PMA_sqlAddslashes($table, true) . "';"); + } if ($triggers) { $delimiter = '//'; foreach ($triggers as $trigger) { + if ($GLOBALS['cfg']['Server']['DisableIS']) { + $trigger['TRIGGER_NAME'] = $trigger['Trigger']; + $trigger['ACTION_TIMING'] = $trigger['Timing']; + $trigger['EVENT_MANIPULATION'] = $trigger['Event']; + $trigger['EVENT_OBJECT_TABLE'] = $trigger['Table']; + $trigger['ACTION_STATEMENT'] = $trigger['Statement']; + } $one_result = array(); $one_result['name'] = $trigger['TRIGGER_NAME']; $one_result['action_timing'] = $trigger['ACTION_TIMING'];