From 5f78897bc8eadf5b399b9b4118bdb575f9f3e0a3 Mon Sep 17 00:00:00 2001 From: Madhura Jayaratne Date: Tue, 6 Dec 2011 18:41:04 +0530 Subject: [PATCH] bug #3306875 [edit] Can't rename a database that contains views --- ChangeLog | 1 + db_operations.php | 9 +++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 7105115f4..70621d891 100644 --- a/ChangeLog +++ b/ChangeLog @@ -7,6 +7,7 @@ phpMyAdmin - ChangeLog - bug #3438420 [core] Magic quotes removed in PHP 5.4 - bug #3398788 [session] No feedback when result is empty (signon auth_type) - bug #3384035 [display] Problems regarding ShowTooltipAliasTB +- bug #3306875 [edit] Can't rename a database that contains views 3.4.8.0 (2011-12-01) - bug #3425230 [interface] enum data split at space char (more space to edit) diff --git a/db_operations.php b/db_operations.php index ebd9333d3..f516a6457 100644 --- a/db_operations.php +++ b/db_operations.php @@ -124,7 +124,6 @@ if (strlen($db) && (! empty($db_rename) || ! empty($db_copy))) { } unset($sql_constraints, $sql_drop_foreign_keys, $sql_structure); - foreach ($tables_full as $each_table => $tmp) { // to be able to rename a db containing views, // first all the views are collected and a stand-in is created @@ -133,11 +132,17 @@ if (strlen($db) && (! empty($db_rename) || ! empty($db_copy))) { $views[] = $each_table; // Create stand-in definition to resolve view dependencies $sql_view_standin = PMA_getTableDefStandIn($db, $each_table, "\n"); + PMA_DBI_select_db($newname); PMA_DBI_query($sql_view_standin); $GLOBALS['sql_query'] .= "\n" . $sql_view_standin . ';'; + } + } + + foreach ($tables_full as $each_table => $tmp) { + // skip the views; we have creted stand-in definitions + if (PMA_Table::isView($db, $each_table)) { continue; } - $back = $sql_query; $sql_query = '';