rpl_temporary.test
上传用户:romrleung
上传日期:2022-05-23
资源大小:18897k
文件大小:4k
- source include/master-slave.inc;
- # Clean up old slave's binlogs.
- # The slave is started with --log-slave-updates
- # and this test does SHOW BINLOG EVENTS on the slave's
- # binlog. But previous tests can influence the current test's
- # binlog (e.g. a temporary table in the previous test has not
- # been explicitly deleted, or it has but the slave hasn't had
- # enough time to catch it before STOP SLAVE,
- # and at the beginning of the current
- # test the slave immediately writes DROP TEMPORARY TABLE this_old_table).
- # We wait for the slave to have written all he wants to the binlog
- # (otherwise RESET MASTER may come too early).
- save_master_pos;
- connection slave;
- sync_with_master;
- reset master;
- connection master;
- connect (con1,localhost,root,,);
- connect (con2,localhost,root,,);
- # We want to connect as an unprivileged user. But if we use user="" then this
- # will pick the Unix login, which will cause problems if you're running the test
- # as root.
- connect (con3,localhost,zedjzlcsjhd,,);
- # We are going to use SET PSEUDO_THREAD_ID in this test;
- # check that it requires the SUPER privilege.
- connection con3;
- SET @save_select_limit=@@session.sql_select_limit;
- --error 1227
- SET @@session.sql_select_limit=10, @@session.pseudo_thread_id=100;
- SELECT @@session.sql_select_limit = @save_select_limit; #shouldn't have changed
- # While we are here we also test that SQL_LOG_BIN can't be set
- --error 1227
- SET @@session.sql_select_limit=10, @@session.sql_log_bin=0;
- SELECT @@session.sql_select_limit = @save_select_limit; #shouldn't have changed
- # Now as root, to be sure it works
- connection con2;
- SET @@session.pseudo_thread_id=100;
- SET @@session.pseudo_thread_id=connection_id();
- SET @@session.sql_log_bin=0;
- SET @@session.sql_log_bin=1;
- connection con3;
- let $VERSION=`select version()`;
- --disable_warnings
- drop table if exists t1,t2;
- --enable_warnings
- create table t1(f int);
- create table t2(f int);
- insert into t1 values (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
- connection con1;
- create temporary table t3(f int);
- insert into t3 select * from t1 where f<6;
- sleep 1;
- connection con2;
- create temporary table t3(f int);
- sleep 1;
- connection con1;
- insert into t2 select count(*) from t3;
- sleep 1;
- connection con2;
- insert into t3 select * from t1 where f>=4;
- sleep 1;
- connection con1;
- drop temporary table t3;
- sleep 1;
- connection con2;
- insert into t2 select count(*) from t3;
- drop temporary table t3;
- select * from t2;
- --replace_result $VERSION VERSION
- show binlog events;
- drop table t1, t2;
- use test;
- SET TIMESTAMP=1040323920;
- create table t1(f int);
- SET TIMESTAMP=1040323931;
- create table t2(f int);
- SET TIMESTAMP=1040323938;
- insert into t1 values (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
- SET TIMESTAMP=1040323945;
- SET @@session.pseudo_thread_id=1;
- create temporary table t3(f int);
- SET TIMESTAMP=1040323952;
- SET @@session.pseudo_thread_id=1;
- insert into t3 select * from t1 where f<6;
- SET TIMESTAMP=1040324145;
- SET @@session.pseudo_thread_id=2;
- create temporary table t3(f int);
- SET TIMESTAMP=1040324186;
- SET @@session.pseudo_thread_id=1;
- insert into t2 select count(*) from t3;
- SET TIMESTAMP=1040324200;
- SET @@session.pseudo_thread_id=2;
- insert into t3 select * from t1 where f>=4;
- SET TIMESTAMP=1040324211;
- SET @@session.pseudo_thread_id=1;
- drop temporary table t3;
- SET TIMESTAMP=1040324219;
- SET @@session.pseudo_thread_id=2;
- insert into t2 select count(*) from t3;
- SET TIMESTAMP=1040324224;
- SET @@session.pseudo_thread_id=2;
- drop temporary table t3;
- select * from t2;
- drop table t1,t2;
- # Create last a temporary table that is not dropped at end to ensure that we
- # don't get any memory leaks for this
- create temporary table t3 (f int);
- sync_with_master;
- # The server will now close done
- # End of 4.1 tests