From 7d865e0b12f98855d6b8687586a994f91764bc75 Mon Sep 17 00:00:00 2001 From: unknown Date: Sat, 2 Apr 2005 20:13:19 +0200 Subject: [PATCH] bug#3891 - DROP TABLE many-unexistent-tables, was printing an error with %s instead of table names sql/sql_table.cc: print an error with a function that respects width modifiers (%.64s) mysql-test/r/drop.result: bug#3891 - DROP TABLE many-unexistent-tables, was printing an error with %s instead of table names mysql-test/t/drop.test: bug#3891 - DROP TABLE many-unexistent-tables, was printing an error with %s instead of table names sql/share/english/errmsg.txt: allow longer "table names" as DROP TABLE puts a list here sql/share/russian/errmsg.txt: allow longer "table names" as DROP TABLE puts a list here sql/share/ukrainian/errmsg.txt: allow longer "table names" as DROP TABLE puts a list here sql/sql_table.cc: print an error with a function that respects width modifiers (%.64s) --- mysql-test/r/drop.result | 14 ++++++++++++++ mysql-test/t/drop.test | 23 +++++++++++++++++++++++ sql/share/english/errmsg.txt | 2 +- sql/share/russian/errmsg.txt | 2 +- sql/share/ukrainian/errmsg.txt | 2 +- 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;