From dbe03fb0bce93ae750db6c0cd346e87bc82201ab Mon Sep 17 00:00:00 2001 From: unknown Date: Sat, 27 Jan 2001 15:33:31 -0700 Subject: fixed up lock counting code - Monty's suggestions updated manual about table lock counter fixed coredump in DROP DATABASE with long bogus name by non-root user fixed bug in handling STOP immediately after ROTATE added test case for buffer overrun on DROP DATABASE by non-root user added test case for the STOP bug in replication Docs/manual.texi: updates for Table_locks_immediate and Table_locks_waited include/thr_lock.h: fixes suggested by Monty to lock counts mysql-test/r/status.result: clean up of result for changes in the test case mysql-test/t/status.test: make it produce the same results if the had been some activity on the server already mysys/thr_lock.c: fixes suggested by Monty sql/mysqld.cc: fixes suggested by Monty sql/slave.cc: fixed bug in processing STOP event after rotate sql/sql_base.cc: fixes suggested by Monty sql/sql_parse.cc: fixed coredump in drop database with long name by a non-root user sql/sql_repl.cc: better status message --- mysql-test/r/rpl000018.result | 5 +++++ mysql-test/r/status.result | 4 ++-- mysql-test/std_data/master-bin.001 | Bin 0 -> 113 bytes mysql-test/t/overflow.test | 4 ++++ mysql-test/t/rpl000018-master.opt | 1 + mysql-test/t/rpl000018-master.sh | 3 +++ mysql-test/t/rpl000018-slave.opt | 1 + mysql-test/t/rpl000018.test | 19 +++++++++++++++++++ mysql-test/t/status.test | 4 ++-- 9 files changed, 37 insertions(+), 4 deletions(-) create mode 100644 mysql-test/r/rpl000018.result create mode 100644 mysql-test/std_data/master-bin.001 create mode 100644 mysql-test/t/overflow.test create mode 100644 mysql-test/t/rpl000018-master.opt create mode 100755 mysql-test/t/rpl000018-master.sh create mode 100644 mysql-test/t/rpl000018-slave.opt create mode 100644 mysql-test/t/rpl000018.test (limited to 'mysql-test') diff --git a/mysql-test/r/rpl000018.result b/mysql-test/r/rpl000018.result new file mode 100644 index 00000000000..7c89c2ef2b2 --- /dev/null +++ b/mysql-test/r/rpl000018.result @@ -0,0 +1,5 @@ +Log_name +master-bin.001 +master-bin.002 +n +3351 diff --git a/mysql-test/r/status.result b/mysql-test/r/status.result index 661009b6cda..8f3ad3e0d59 100644 --- a/mysql-test/r/status.result +++ b/mysql-test/r/status.result @@ -1,6 +1,6 @@ Variable_name Value -Table_locks_immediate 5 +Table_locks_immediate 0 Table_locks_waited 0 Variable_name Value -Table_locks_immediate 8 +Table_locks_immediate 3 Table_locks_waited 1 diff --git a/mysql-test/std_data/master-bin.001 b/mysql-test/std_data/master-bin.001 new file mode 100644 index 00000000000..fa30d8e5302 Binary files /dev/null and b/mysql-test/std_data/master-bin.001 differ diff --git a/mysql-test/t/overflow.test b/mysql-test/t/overflow.test new file mode 100644 index 00000000000..73554200dce --- /dev/null +++ b/mysql-test/t/overflow.test @@ -0,0 +1,4 @@ +connect (con1,localhost,boo,,test,0,mysql-master.sock); +connection con1; +-- error 1064; +drop database AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA; diff --git a/mysql-test/t/rpl000018-master.opt b/mysql-test/t/rpl000018-master.opt new file mode 100644 index 00000000000..ad2c6a647b5 --- /dev/null +++ b/mysql-test/t/rpl000018-master.opt @@ -0,0 +1 @@ +-O max_binlog_size=4096 diff --git a/mysql-test/t/rpl000018-master.sh b/mysql-test/t/rpl000018-master.sh new file mode 100755 index 00000000000..71f0f12d0c5 --- /dev/null +++ b/mysql-test/t/rpl000018-master.sh @@ -0,0 +1,3 @@ +rm -f $MYSQL_TEST_DIR/var/lib/master-bin.* +cp $MYSQL_TEST_DIR/std_data/master-bin.001 $MYSQL_TEST_DIR/var/lib/ +echo ./master-bin.001 > $MYSQL_TEST_DIR/var/lib/master-bin.index diff --git a/mysql-test/t/rpl000018-slave.opt b/mysql-test/t/rpl000018-slave.opt new file mode 100644 index 00000000000..e854f0d0bb2 --- /dev/null +++ b/mysql-test/t/rpl000018-slave.opt @@ -0,0 +1 @@ +--skip-slave-start --abort-slave-event-count=1 diff --git a/mysql-test/t/rpl000018.test b/mysql-test/t/rpl000018.test new file mode 100644 index 00000000000..44236323d1d --- /dev/null +++ b/mysql-test/t/rpl000018.test @@ -0,0 +1,19 @@ +connect (master,localhost,root,,test,0,mysql-master.sock); +connect (slave,localhost,root,,test,0,mysql-slave.sock); +connection slave; +reset slave; +slave start; +connection master; +show master logs; +drop table if exists t1; +create table t1(n int); +insert into t1 values (3351); +save_master_pos; +connection slave; +sync_with_master; +select * from t1; +connection master; +drop table t1; +save_master_pos; +connection slave; +sync_with_master; diff --git a/mysql-test/t/status.test b/mysql-test/t/status.test index 2f65f87f29f..7c825469f09 100644 --- a/mysql-test/t/status.test +++ b/mysql-test/t/status.test @@ -1,7 +1,7 @@ connect (con1,localhost,root,,test,0,mysql-master.sock); connect (con2,localhost,root,,test,0,mysql-master.sock); -#don't polute binlog +flush status; show status like 'Table_lock%'; connection con1; SET SQL_LOG_BIN=0; @@ -20,4 +20,4 @@ unlock tables; connection con1; reap; show status like 'Table_lock%'; - +drop table t1; -- cgit v1.2.1