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

View file

@ -4,6 +4,7 @@ Warn when using password with leading or trailing spaces
Hide import from server if no path Hide import from server if no path
Fix inline editing of empty cells (regression from 4.6.3) 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) 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 Fix function change with set data type
Increase username maxlength to 80 (bug #623) Increase username maxlength to 80 (bug #623)
Make maxlength in all fields a soft limit Make maxlength in all fields a soft limit