[Phpmyadmin-git] [SCM] phpMyAdmin branch, QA_3_3, updated. RELEASE_3_3_8-15-g8277c92

Dieter Adriaenssens ruleant at users.sourceforge.net
Sun Nov 14 18:37:06 CET 2010


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




More information about the Git mailing list