diff --git a/mysql-test/r/drop.result b/mysql-test/r/drop.result index 67923fe903c..6d4d8efb8db 100644 --- a/mysql-test/r/drop.result +++ b/mysql-test/r/drop.result @@ -1,2 +1,4 @@ n 1 +n +4 diff --git a/mysql-test/t/drop.test b/mysql-test/t/drop.test index 1de387f6e4c..54fd8ae2167 100644 --- a/mysql-test/t/drop.test +++ b/mysql-test/t/drop.test @@ -10,3 +10,17 @@ insert into t1 values(2); create table t1(n int); drop table t1; select * from t1; + +#now test for a bug in drop database - it is important that the name +#of the table is the same as the name of the database - in the original +#code this triggered a bug +drop database if exists foo; +create database foo; +drop database if exists foo; +create database foo; +create table foo.foo (n int); +insert into foo.foo values (4); +select * from foo.foo; +drop database if exists foo; +create database foo; +drop database foo; diff --git a/sql/slave.cc b/sql/slave.cc index 7bf89fdad48..2813e222bd5 100644 --- a/sql/slave.cc +++ b/sql/slave.cc @@ -469,7 +469,7 @@ int init_master_info(MASTER_INFO* mi) MY_STAT stat_area; char fname[FN_REFLEN+128]; const char *msg; - fn_format(fname, master_info_file, mysql_data_home, "", 4+16+32); + fn_format(fname, master_info_file, mysql_data_home, "", 4+32); // we need a mutex while we are changing master info parameters to // keep other threads from reading bogus info diff --git a/sql/sql_repl.cc b/sql/sql_repl.cc index fe0417057b6..7155ca4f0b7 100644 --- a/sql/sql_repl.cc +++ b/sql/sql_repl.cc @@ -693,7 +693,7 @@ void reset_slave() pthread_mutex_unlock(&LOCK_slave); end_master_info(&glob_mi); - fn_format(fname, master_info_file, mysql_data_home, "", 4+16+32); + fn_format(fname, master_info_file, mysql_data_home, "", 4+32); if(my_stat(fname, &stat_area, MYF(0))) if(my_delete(fname, MYF(MY_WME))) return;