summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mysql-test/r/drop.result14
-rw-r--r--mysql-test/t/drop.test23
-rw-r--r--sql/share/english/errmsg.txt2
-rw-r--r--sql/share/russian/errmsg.txt2
-rw-r--r--sql/share/ukrainian/errmsg.txt2
-rw-r--r--sql/sql_table.cc3
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;