diff options
-rw-r--r-- | mysql-test/r/drop.result | 14 | ||||
-rw-r--r-- | mysql-test/t/drop.test | 23 | ||||
-rw-r--r-- | sql/share/english/errmsg.txt | 2 | ||||
-rw-r--r-- | sql/share/russian/errmsg.txt | 2 | ||||
-rw-r--r-- | sql/share/ukrainian/errmsg.txt | 2 | ||||
-rw-r--r-- | sql/sql_table.cc | 3 |
6 files changed, 42 insertions, 4 deletions
diff --git a/mysql-test/r/drop.result b/mysql-test/r/drop.result index 5c732aebbcc..b2753e0ff84 100644 --- a/mysql-test/r/drop.result +++ b/mysql-test/r/drop.result @@ -22,6 +22,20 @@ n 4 drop database if exists mysqltest; create database mysqltest; +use mysqltest; +drop table table1, table2, table3, table4, table5, table6, +table7, table8, table9, table10, table11, table12, table13, +table14, table15, table16, table17, table18, table19, table20, +table21, table22, table23, table24, table25, table26, table27, +table28; +Unknown table 'table1,table2,table3,table4,table5,table6,table7,table8,table9,table10,table11,table12,table13,table14,table15,table16,table17,table18,table19,table20,table21,table22,table23,table' +drop table table1, table2, table3, table4, table5, table6, +table7, table8, table9, table10, table11, table12, table13, +table14, table15, table16, table17, table18, table19, table20, +table21, table22, table23, table24, table25, table26, table27, +table28, table29, table30; +Unknown table 'table1,table2,table3,table4,table5,table6,table7,table8,table9,table10,table11,table12,table13,table14,table15,table16,table17,table18,table19,table20,table21,table22,table23,table' +use test; drop database mysqltest; flush tables with read lock; create database mysqltest; diff --git a/mysql-test/t/drop.test b/mysql-test/t/drop.test index 2f3fa99bac0..51807fe403d 100644 --- a/mysql-test/t/drop.test +++ b/mysql-test/t/drop.test @@ -22,6 +22,28 @@ insert into mysqltest.mysqltest values (4); select * from mysqltest.mysqltest; drop database if exists mysqltest; create database mysqltest; + +# +# drop many tables - bug#3891 +# we'll do it in mysqltest db, to be able to use longer table names +# (tableN instead on tN) +# +use mysqltest; +--error 1051 +drop table table1, table2, table3, table4, table5, table6, +table7, table8, table9, table10, table11, table12, table13, +table14, table15, table16, table17, table18, table19, table20, +table21, table22, table23, table24, table25, table26, table27, +table28; + +--error 1051 +drop table table1, table2, table3, table4, table5, table6, +table7, table8, table9, table10, table11, table12, table13, +table14, table15, table16, table17, table18, table19, table20, +table21, table22, table23, table24, table25, table26, table27, +table28, table29, table30; + +use test; drop database mysqltest; # test drop/create database and FLUSH TABLES WITH READ LOCK @@ -39,3 +61,4 @@ drop database mysqltest; show databases; --error 1008 drop database mysqltest; + diff --git a/sql/share/english/errmsg.txt b/sql/share/english/errmsg.txt index cfd878195ac..7c9d789c86e 100644 --- a/sql/share/english/errmsg.txt +++ b/sql/share/english/errmsg.txt @@ -65,7 +65,7 @@ "Column '%-.64s' cannot be null", "Unknown database '%-.64s'", "Table '%-.64s' already exists", -"Unknown table '%-.64s'", +"Unknown table '%-.180s'", "Column: '%-.64s' in %-.64s is ambiguous", "Server shutdown in progress", "Unknown column '%-.64s' in '%-.64s'", diff --git a/sql/share/russian/errmsg.txt b/sql/share/russian/errmsg.txt index 172ee97c883..668b310a5dc 100644 --- a/sql/share/russian/errmsg.txt +++ b/sql/share/russian/errmsg.txt @@ -70,7 +70,7 @@ "Столбец '%-.64s' не может принимать величину NULL", "Неизвестная база данных '%-.64s'", "Таблица '%-.64s' уже существует", -"Неизвестная таблица '%-.64s'", +"Неизвестная таблица '%-.175s'", "Столбец '%-.64s' в %-.64s задан неоднозначно", "Сервер находится в процессе остановки", "Неизвестный столбец '%-.64s' в '%-.64s'", diff --git a/sql/share/ukrainian/errmsg.txt b/sql/share/ukrainian/errmsg.txt index 188523ecf45..131cf07a8e2 100644 --- a/sql/share/ukrainian/errmsg.txt +++ b/sql/share/ukrainian/errmsg.txt @@ -71,7 +71,7 @@ "Стовбець '%-.64s' не може бути нульовим", "Нев╕дома база данних '%-.64s'", "Таблиця '%-.64s' вже ╕сну╓", -"Нев╕дома таблиця '%-.64s'", +"Нев╕дома таблиця '%-.180s'", "Стовбець '%-.64s' у %-.64s визначений неоднозначно", "Завершу╓ться работа сервера", "Нев╕домий стовбець '%-.64s' у '%-.64s'", diff --git a/sql/sql_table.cc b/sql/sql_table.cc index 33bdd992efb..cef480fadde 100644 --- a/sql/sql_table.cc +++ b/sql/sql_table.cc @@ -237,7 +237,8 @@ int mysql_rm_table_part2(THD *thd, TABLE_LIST *tables, bool if_exists, if (wrong_tables.length()) { if (!foreign_key_error) - my_error(ER_BAD_TABLE_ERROR,MYF(0),wrong_tables.c_ptr()); + my_printf_error(ER_BAD_TABLE_ERROR, ER(ER_BAD_TABLE_ERROR), MYF(0), + wrong_tables.c_ptr()); else my_error(ER_ROW_IS_REFERENCED,MYF(0)); error= 1; |