The branch, QA_3_3 has been updated
via 8277c92e25ce1001c6b0479e91698bcf5c02c618 (commit)
from 5f4604c9bb4de2cdc2bf6b61f0ac55c898dd964e (commit)
- Log -----------------------------------------------------------------
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 1 +
db_operations.php | 22 ++++++++++++++++++++++
2 files changed, 23 insertions(+), 0 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index e45143a..e9c8bef 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -9,6 +9,7 @@ $HeadURL:
https://phpmyadmin.svn.sourceforge.net/svnroot/phpmyadmin/trunk/phpMyA
- bug [doc] Fix references to MySQL doc
- patch #3101490 Default function for TIMESTAMP, thanks to jirand - jirand
- bug #3103853 [js] Double quotes were not escaped in generated js
+- bug #3077463 [core] Events were not copied when copying/renaming database
3.3.8.0 (2010-10-25)
- bug #3059311 [import] BIGINT field type added to table analysis
diff --git a/db_operations.php b/db_operations.php
index 29d2635..4004a3d 100644
--- a/db_operations.php
+++ b/db_operations.php
@@ -212,6 +212,28 @@ if (strlen($db) && (! empty($db_rename) || !
empty($db_copy))) {
unset($GLOBALS['sql_constraints_query_full_db'], $one_query);
}
+ if (PMA_MYSQL_INT_VERSION >= 50100) {
+ // here DELIMITER is not used because it's not part of the
+ // language; each statement is sent one by one
+
+ // to avoid selecting alternatively the current and new db
+ // we would need to modify the CREATE definitions to qualify
+ // the db name
+ $event_names = PMA_DBI_fetch_result('SELECT EVENT_NAME FROM
information_schema.EVENTS WHERE EVENT_SCHEMA= \'' . PMA_sqlAddslashes($db,true) .
'\';');
+ if ($event_names) {
+ foreach($event_names as $event_name) {
+ PMA_DBI_select_db($db);
+ $tmp_query = PMA_DBI_get_definition($db, 'EVENT', $event_name);
+ // collect for later display
+ $GLOBALS['sql_query'] .= "\n" . $tmp_query;
+ PMA_DBI_select_db($newname);
+ PMA_DBI_query($tmp_query);
+ }
+ }
+ }
+ // go back to current db, just in case
+ PMA_DBI_select_db($db);
+
// Duplicate the bookmarks for this db (done once for each db)
if (! $_error && $db != $newname) {
$get_fields = array('user', 'label', 'query');
hooks/post-receive
--
phpMyAdmin