Current Path : /home/usr.opt/mysql57/mysql-test/suite/rpl/t/ |
FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64 |
Current File : //home/usr.opt/mysql57/mysql-test/suite/rpl/t/rpl_get_lock.test |
--source include/not_group_replication_plugin.inc source include/master-slave.inc; CALL mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT"); create table t1(n int); # Use of get_lock gives a warning for unsafeness if binlog_format=statement --disable_warnings insert into t1 values(get_lock("lock",2)); --enable_warnings dirty_close master; connection master1; select get_lock("lock",2); select release_lock("lock"); #ignore disable_query_log; let $1=2000; while ($1) { do get_lock("lock",2); do release_lock("lock"); dec $1; } enable_query_log; --source include/sync_slave_sql_with_master.inc select get_lock("lock",3); select * from t1; # There is no point in testing REPLICATIION of the IS_*_LOCK # functions; slave does not run with the same concurrency context as # master (generally in slave we can't know that on master this lock # was already held by another connection and so that the the # get_lock() we're replicating timed out on master hence returned 0, # or that the is_free_lock() we're playing returned 0 etc. # But here all we do is test these functions outside of replication. select is_free_lock("lock"), is_used_lock("lock") = connection_id(); explain extended select is_free_lock("lock"), is_used_lock("lock"); # Check lock functions select is_free_lock("lock2"); connection master1; drop table t1; --source include/sync_slave_sql_with_master.inc --source include/rpl_end.inc # End of 4.1 tests