Loading configure.in +1 −1 Original line number Diff line number Diff line Loading @@ -118,7 +118,7 @@ AC_SUBST(SAVE_LDFLAGS) AC_SUBST(SAVE_CXXLDFLAGS) AC_SUBST(CXXLDFLAGS) AC_PREREQ(2.57)dnl Minimum Autoconf version required. AC_PREREQ(2.52)dnl Minimum Autoconf version required. #AC_ARG_PROGRAM # Automaticly invoked by AM_INIT_AUTOMAKE AM_SANITY_CHECK Loading mysql-test/r/rpl_drop_db.result +17 −17 Original line number Diff line number Diff line Loading @@ -4,29 +4,29 @@ reset master; reset slave; drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; start slave; drop database if exists mysqltest; create database mysqltest; create table mysqltest.t1 (n int); insert into mysqltest.t1 values (1); select * from mysqltest.t1 into outfile 'mysqltest/f1.txt'; create table mysqltest.t2 (n int); create table mysqltest.t3 (n int); drop database mysqltest; ERROR HY000: Error dropping database (can't rmdir './mysqltest/', errno: 17) use mysqltest; drop database if exists mysqltest1; create database mysqltest1; create table mysqltest1.t1 (n int); insert into mysqltest1.t1 values (1); select * from mysqltest1.t1 into outfile 'mysqltest1/f1.txt'; create table mysqltest1.t2 (n int); create table mysqltest1.t3 (n int); drop database mysqltest1; ERROR HY000: Error dropping database (can't rmdir './mysqltest1/', errno: 17) use mysqltest1; show tables; Tables_in_mysqltest drop database mysqltest; ERROR HY000: Error dropping database (can't rmdir './mysqltest/', errno: 17) use mysqltest; Tables_in_mysqltest1 drop database mysqltest1; ERROR HY000: Error dropping database (can't rmdir './mysqltest1/', errno: 17) use mysqltest1; show tables; Tables_in_mysqltest Tables_in_mysqltest1 use test; create table t1 (n int); insert into t1 values (1234); use mysqltest; use mysqltest1; show tables; Tables_in_mysqltest Tables_in_mysqltest1 use test; select * from t1; n Loading mysql-test/t/rpl_drop_db.test +18 −19 Original line number Diff line number Diff line Loading @@ -5,32 +5,33 @@ connection master; --disable_warnings drop database if exists mysqltest; drop database if exists mysqltest1; --enable_warnings create database mysqltest; create table mysqltest.t1 (n int); insert into mysqltest.t1 values (1); select * from mysqltest.t1 into outfile 'mysqltest/f1.txt'; create table mysqltest.t2 (n int); create table mysqltest.t3 (n int); create database mysqltest1; create table mysqltest1.t1 (n int); insert into mysqltest1.t1 values (1); select * from mysqltest1.t1 into outfile 'mysqltest1/f1.txt'; create table mysqltest1.t2 (n int); create table mysqltest1.t3 (n int); --error 1010 drop database mysqltest; use mysqltest; drop database mysqltest1; use mysqltest1; show tables; # test the branch of the code that deals with the query buffer overflow disable_query_log; let $1=50; --disable_query_log let $1=1000; while ($1) { eval create table mysqltest.mysql_test_long_table_name$1 (n int); eval create table mysqltest1.t$1(n int); dec $1; } enable_query_log; --enable_query_log --error 1010 drop database mysqltest; use mysqltest; drop database mysqltest1; use mysqltest1; show tables; use test; create table t1 (n int); Loading @@ -38,7 +39,7 @@ insert into t1 values (1234); sync_slave_with_master; connection slave; use mysqltest; use mysqltest1; show tables; use test; select * from t1; Loading @@ -50,7 +51,5 @@ sync_slave_with_master; #cleanup connection slave; stop slave; system rm -rf var/master-data/mysqltest; # End of 4.1 tests system rm -rf var/master-data/mysqltest1; mysys/my_alloc.c +14 −1 Original line number Diff line number Diff line Loading @@ -217,6 +217,12 @@ gptr alloc_root(MEM_ROOT *mem_root,unsigned int Size) #endif } #ifdef SAFEMALLOC #define TRASH(X) bfill(((char*)(X) + ((X)->size-(X)->left)), (X)->left, 0xa5) #else #define TRASH /* no-op */ #endif /* Mark all data in blocks free for reusage */ static inline void mark_blocks_free(MEM_ROOT* root) Loading @@ -227,14 +233,20 @@ static inline void mark_blocks_free(MEM_ROOT* root) /* iterate through (partially) free blocks, mark them free */ last= &root->free; for (next= root->free; next; next= *(last= &next->next)) { next->left= next->size - ALIGN_SIZE(sizeof(USED_MEM)); TRASH(next); } /* Combine the free and the used list */ *last= next=root->used; /* now go through the used blocks and mark them free */ for (; next; next= next->next) { next->left= next->size - ALIGN_SIZE(sizeof(USED_MEM)); TRASH(next); } /* Now everything is set; Indicate that nothing is used anymore */ root->used= 0; Loading Loading @@ -280,6 +292,7 @@ void free_root(MEM_ROOT *root, myf MyFlags) { root->free=root->pre_alloc; root->free->left=root->pre_alloc->size-ALIGN_SIZE(sizeof(USED_MEM)); TRASH(root->pre_alloc); root->free->next=0; } root->block_num= 4; Loading sql/sql_db.cc +8 −10 Original line number Diff line number Diff line Loading @@ -708,8 +708,6 @@ int mysql_rm_db(THD *thd,char *db,bool if_exists, bool silent) for (tbl= dropped_tables; tbl; tbl= tbl->next) { uint tbl_name_len; if (!tbl->was_dropped) continue; /* 3 for the quotes and the comma*/ tbl_name_len= strlen(tbl->real_name) + 3; Loading Loading
configure.in +1 −1 Original line number Diff line number Diff line Loading @@ -118,7 +118,7 @@ AC_SUBST(SAVE_LDFLAGS) AC_SUBST(SAVE_CXXLDFLAGS) AC_SUBST(CXXLDFLAGS) AC_PREREQ(2.57)dnl Minimum Autoconf version required. AC_PREREQ(2.52)dnl Minimum Autoconf version required. #AC_ARG_PROGRAM # Automaticly invoked by AM_INIT_AUTOMAKE AM_SANITY_CHECK Loading
mysql-test/r/rpl_drop_db.result +17 −17 Original line number Diff line number Diff line Loading @@ -4,29 +4,29 @@ reset master; reset slave; drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; start slave; drop database if exists mysqltest; create database mysqltest; create table mysqltest.t1 (n int); insert into mysqltest.t1 values (1); select * from mysqltest.t1 into outfile 'mysqltest/f1.txt'; create table mysqltest.t2 (n int); create table mysqltest.t3 (n int); drop database mysqltest; ERROR HY000: Error dropping database (can't rmdir './mysqltest/', errno: 17) use mysqltest; drop database if exists mysqltest1; create database mysqltest1; create table mysqltest1.t1 (n int); insert into mysqltest1.t1 values (1); select * from mysqltest1.t1 into outfile 'mysqltest1/f1.txt'; create table mysqltest1.t2 (n int); create table mysqltest1.t3 (n int); drop database mysqltest1; ERROR HY000: Error dropping database (can't rmdir './mysqltest1/', errno: 17) use mysqltest1; show tables; Tables_in_mysqltest drop database mysqltest; ERROR HY000: Error dropping database (can't rmdir './mysqltest/', errno: 17) use mysqltest; Tables_in_mysqltest1 drop database mysqltest1; ERROR HY000: Error dropping database (can't rmdir './mysqltest1/', errno: 17) use mysqltest1; show tables; Tables_in_mysqltest Tables_in_mysqltest1 use test; create table t1 (n int); insert into t1 values (1234); use mysqltest; use mysqltest1; show tables; Tables_in_mysqltest Tables_in_mysqltest1 use test; select * from t1; n Loading
mysql-test/t/rpl_drop_db.test +18 −19 Original line number Diff line number Diff line Loading @@ -5,32 +5,33 @@ connection master; --disable_warnings drop database if exists mysqltest; drop database if exists mysqltest1; --enable_warnings create database mysqltest; create table mysqltest.t1 (n int); insert into mysqltest.t1 values (1); select * from mysqltest.t1 into outfile 'mysqltest/f1.txt'; create table mysqltest.t2 (n int); create table mysqltest.t3 (n int); create database mysqltest1; create table mysqltest1.t1 (n int); insert into mysqltest1.t1 values (1); select * from mysqltest1.t1 into outfile 'mysqltest1/f1.txt'; create table mysqltest1.t2 (n int); create table mysqltest1.t3 (n int); --error 1010 drop database mysqltest; use mysqltest; drop database mysqltest1; use mysqltest1; show tables; # test the branch of the code that deals with the query buffer overflow disable_query_log; let $1=50; --disable_query_log let $1=1000; while ($1) { eval create table mysqltest.mysql_test_long_table_name$1 (n int); eval create table mysqltest1.t$1(n int); dec $1; } enable_query_log; --enable_query_log --error 1010 drop database mysqltest; use mysqltest; drop database mysqltest1; use mysqltest1; show tables; use test; create table t1 (n int); Loading @@ -38,7 +39,7 @@ insert into t1 values (1234); sync_slave_with_master; connection slave; use mysqltest; use mysqltest1; show tables; use test; select * from t1; Loading @@ -50,7 +51,5 @@ sync_slave_with_master; #cleanup connection slave; stop slave; system rm -rf var/master-data/mysqltest; # End of 4.1 tests system rm -rf var/master-data/mysqltest1;
mysys/my_alloc.c +14 −1 Original line number Diff line number Diff line Loading @@ -217,6 +217,12 @@ gptr alloc_root(MEM_ROOT *mem_root,unsigned int Size) #endif } #ifdef SAFEMALLOC #define TRASH(X) bfill(((char*)(X) + ((X)->size-(X)->left)), (X)->left, 0xa5) #else #define TRASH /* no-op */ #endif /* Mark all data in blocks free for reusage */ static inline void mark_blocks_free(MEM_ROOT* root) Loading @@ -227,14 +233,20 @@ static inline void mark_blocks_free(MEM_ROOT* root) /* iterate through (partially) free blocks, mark them free */ last= &root->free; for (next= root->free; next; next= *(last= &next->next)) { next->left= next->size - ALIGN_SIZE(sizeof(USED_MEM)); TRASH(next); } /* Combine the free and the used list */ *last= next=root->used; /* now go through the used blocks and mark them free */ for (; next; next= next->next) { next->left= next->size - ALIGN_SIZE(sizeof(USED_MEM)); TRASH(next); } /* Now everything is set; Indicate that nothing is used anymore */ root->used= 0; Loading Loading @@ -280,6 +292,7 @@ void free_root(MEM_ROOT *root, myf MyFlags) { root->free=root->pre_alloc; root->free->left=root->pre_alloc->size-ALIGN_SIZE(sizeof(USED_MEM)); TRASH(root->pre_alloc); root->free->next=0; } root->block_num= 4; Loading
sql/sql_db.cc +8 −10 Original line number Diff line number Diff line Loading @@ -708,8 +708,6 @@ int mysql_rm_db(THD *thd,char *db,bool if_exists, bool silent) for (tbl= dropped_tables; tbl; tbl= tbl->next) { uint tbl_name_len; if (!tbl->was_dropped) continue; /* 3 for the quotes and the comma*/ tbl_name_len= strlen(tbl->real_name) + 3; Loading