Avoid overwriting existing tables when copying tables (bug #642)

This commit is contained in:
Jakub Vrana 2018-10-27 18:50:50 +02:00
parent 7f2dd73670
commit b327a76fc0
2 changed files with 3 additions and 5 deletions

View file

@ -810,8 +810,7 @@ if (!defined("DRIVER")) {
queries("SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO'");
foreach ($tables as $table) {
$name = ($target == DB ? table("copy_$table") : idf_escape($target) . "." . table($table));
if (!queries("\nDROP TABLE IF EXISTS $name")
|| !queries("CREATE TABLE $name LIKE " . table($table))
if (!queries("CREATE TABLE $name LIKE " . table($table))
|| !queries("INSERT INTO $name SELECT * FROM " . table($table))
) {
return false;
@ -826,9 +825,7 @@ if (!defined("DRIVER")) {
foreach ($views as $table) {
$name = ($target == DB ? table("copy_$table") : idf_escape($target) . "." . table($table));
$view = view($table);
if (!queries("DROP VIEW IF EXISTS $name")
|| !queries("CREATE VIEW $name AS $view[select]") //! USE to avoid db.table
) {
if (!queries("CREATE VIEW $name AS $view[select]")) { //! USE to avoid db.table
return false;
}
}

View file

@ -4,6 +4,7 @@ Warn when using password with leading or trailing spaces
Hide import from server if no path
Fix inline editing of empty cells (regression from 4.6.3)
Allow adding more than two indexes and forign key columns at a time (regression from 4.4.0)
Avoid overwriting existing tables when copying tables (bug #642)
Fix function change with set data type
Increase username maxlength to 80 (bug #623)
Make maxlength in all fields a soft limit