summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mysql-test/r/drop.result14
-rw-r--r--mysql-test/t/drop.test22
-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, 41 insertions, 4 deletions
diff --git a/mysql-test/r/drop.result b/mysql-test/r/drop.result
index 223ceb003b3..6d67160bc28 100644
--- a/mysql-test/r/drop.result
+++ b/mysql-test/r/drop.result
@@ -24,6 +24,20 @@ n
drop database if exists mysqltest;
affected rows: 1
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 6f0e5b3f14c..5e123ca0de8 100644
--- a/mysql-test/t/drop.test
+++ b/mysql-test/t/drop.test
@@ -30,6 +30,28 @@ select * from mysqltest.mysqltest;
drop database if exists mysqltest;
--disable_info
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
diff --git a/sql/share/english/errmsg.txt b/sql/share/english/errmsg.txt
index 854adab455e..3bfc83a4b41 100644
--- a/sql/share/english/errmsg.txt
+++ b/sql/share/english/errmsg.txt
@@ -67,7 +67,7 @@ character-set=latin1
"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 df354d5797f..97d59cec074 100644
--- a/sql/share/russian/errmsg.txt
+++ b/sql/share/russian/errmsg.txt
@@ -72,7 +72,7 @@ character-set=koi8r
"Столбец '%-.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 a19cf946cb1..b3859fb881c 100644
--- a/sql/share/ukrainian/errmsg.txt
+++ b/sql/share/ukrainian/errmsg.txt
@@ -73,7 +73,7 @@ character-set=koi8u
"Стовбець '%-.64s' не може бути нульовим",
"Нев╕дома база данних '%-.64s'",
"Таблиця '%-.64s' вже ╕сну╓",
-"Нев╕дома таблиця '%-.64s'",
+"Нев╕дома таблиця '%-.180s'",
"Стовбець '%-.64s' у %-.64s визначений неоднозначно",
"Завершу╓ться работа сервера",
"Нев╕домий стовбець '%-.64s' у '%-.64s'",
diff --git a/sql/sql_table.cc b/sql/sql_table.cc
index fffef49effc..5aba764e293 100644
--- a/sql/sql_table.cc
+++ b/sql/sql_table.cc
@@ -260,7 +260,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;