📄 rpl_get_lock.test
字号:
source include/master-slave.inc;create table t1(n int);insert into t1 values(get_lock("lock",2));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;save_master_pos;connection slave;sync_with_master;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 functionsselect is_free_lock("lock2");select is_free_lock(NULL);connection master1;drop table t1;save_master_pos;connection slave;sync_with_master;# End of 4.1 tests
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -