diff options
author | unknown <guilhem@mysql.com> | 2003-11-03 18:25:47 +0100 |
---|---|---|
committer | unknown <guilhem@mysql.com> | 2003-11-03 18:25:47 +0100 |
commit | e1eedaa43d3f9abc642a3d25ae26e95a0c1aa1f7 (patch) | |
tree | 6ddfaecafb9b33ae366b2a3c9629d1be50e2698d | |
parent | 1f5d237260502b4210f222493ed40c5bd88ffc76 (diff) | |
parent | e88de4b9920a8283156cab764a3112f4dc15bf93 (diff) | |
download | mariadb-git-e1eedaa43d3f9abc642a3d25ae26e95a0c1aa1f7.tar.gz |
Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/mysql_src/mysql-4.0
-rw-r--r-- | mysql-test/r/rpl_reset_slave.result | 10 | ||||
-rw-r--r-- | mysql-test/t/rpl_reset_slave.test | 18 | ||||
-rw-r--r-- | sql/slave.cc | 2 |
3 files changed, 30 insertions, 0 deletions
diff --git a/mysql-test/r/rpl_reset_slave.result b/mysql-test/r/rpl_reset_slave.result index c1bc1e8e483..fb931064720 100644 --- a/mysql-test/r/rpl_reset_slave.result +++ b/mysql-test/r/rpl_reset_slave.result @@ -20,3 +20,13 @@ start slave; show slave status; Master_Host Master_User Master_Port Connect_retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_do_db Replicate_ignore_db Last_errno Last_error Skip_counter Exec_master_log_pos Relay_log_space 127.0.0.1 root MASTER_PORT 1 master-bin.001 79 slave-relay-bin.002 120 master-bin.001 Yes Yes 0 0 79 120 +stop slave; +reset slave; +start slave; +create temporary table t1 (a int); +stop slave; +reset slave; +start slave; +show status like 'slave_open_temp_tables'; +Variable_name Value +Slave_open_temp_tables 1 diff --git a/mysql-test/t/rpl_reset_slave.test b/mysql-test/t/rpl_reset_slave.test index 9c58ac0c787..083492c3fc0 100644 --- a/mysql-test/t/rpl_reset_slave.test +++ b/mysql-test/t/rpl_reset_slave.test @@ -2,6 +2,8 @@ # --master-* options from mysqld, as this is what is going to be used next time # slave threads will be started). In bug 985, it displayed old values (of before # RESET SLAVE). +# See if slave crashes when doing a CREATE TEMPORARY TABLE twice, separated by +# RESET SLAVE. source include/master-slave.inc; connection master; @@ -24,3 +26,19 @@ start slave; sync_with_master; --replace_result $MASTER_MYPORT MASTER_PORT show slave status; + +# test of crash with temp tables & RESET SLAVE +# (test to see if RESET SLAVE clears temp tables in memory and disk) +stop slave; +reset slave; +start slave; +connection master; +create temporary table t1 (a int); +save_master_pos; +connection slave; +sync_with_master; +stop slave; +reset slave; +start slave; +sync_with_master; +show status like 'slave_open_temp_tables'; diff --git a/sql/slave.cc b/sql/slave.cc index da63ca71951..6816d968007 100644 --- a/sql/slave.cc +++ b/sql/slave.cc @@ -337,6 +337,8 @@ void st_relay_log_info::close_temporary_tables() */ close_temporary(table, 0); } + save_temporary_tables= 0; + slave_open_temp_tables= 0; } /* |