diff --git a/ChangeLog b/ChangeLog index 86db27c2b7..7ec8f40e05 100644 --- a/ChangeLog +++ b/ChangeLog @@ -20,6 +20,7 @@ phpMyAdmin - ChangeLog - bug #3518983 [designer] Error messages do not appear in the Designer - bug #3519747 [interface] Suhosin patch warning incorrectly displayed - bug #3520107 [interface] Server status page: Incorrect dialog box titles +- bug #3516089 [structure] DROP does not work on defective VIEWs 3.5.0.0 (2012-04-07) + rfe #2021981 [interface] Add support for mass prefix change. diff --git a/db_structure.php b/db_structure.php index 2ddf775b96..13d343908b 100644 --- a/db_structure.php +++ b/db_structure.php @@ -322,7 +322,7 @@ foreach ($tables as $keyname => $each_table) { $empty_table .= ''; $drop_query = 'DROP ' - . ($table_is_view ? 'VIEW' : 'TABLE') + . (($table_is_view || $each_table['ENGINE'] == null) ? 'VIEW' : 'TABLE') . ' ' . PMA_backquote($each_table['TABLE_NAME']); $drop_message = sprintf( $table_is_view ? __('View %s has been dropped') : __('Table %s has been dropped'), @@ -422,7 +422,17 @@ foreach ($tables as $keyname => $each_table) { - href="sql.php? href="sql.php?&reload=1&purge=1&sql_query=&message_to_show=" > diff --git a/js/db_structure.js b/js/db_structure.js index 5151bcaf38..b87c42210e 100644 --- a/js/db_structure.js +++ b/js/db_structure.js @@ -306,7 +306,7 @@ $(document).ready(function() { }); //end of Truncate Table Ajax action /** - * Ajax Event handler for 'Drop Table' + * Ajax Event handler for 'Drop Table' or 'Drop View' * * @uses $.PMA_confirm() * @uses PMA_ajaxShowMessage() @@ -329,7 +329,13 @@ $(document).ready(function() { /** * @var question String containing the question to be asked for confirmation */ - var question = 'DROP TABLE ' + curr_table_name; + var question = 'DROP '; + if ($this_anchor.hasClass('view')) { + question += 'VIEW'; + } else { + question += 'TABLE'; + } + question += ' ' + curr_table_name; $this_anchor.PMA_confirm(question, $this_anchor.attr('href'), function(url) {