mirror of
https://github.com/MariaDB/server.git
synced 2025-01-22 06:44:16 +01:00
349f48e10a
Problem: Some system functions that could return different values on master and slave were not marked unsafe. In particular: GET_LOCK IS_FREE_LOCK IS_USED_LOCK MASTER_POS_WAIT RELEASE_LOCK SLEEP SYSDATE VERSION Fix: Mark these functions unsafe.
36 lines
1 KiB
Text
36 lines
1 KiB
Text
stop slave;
|
|
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
|
reset master;
|
|
reset slave;
|
|
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
|
start slave;
|
|
CALL mtr.add_suppression("Statement may not be safe to log in statement format.");
|
|
create table t1(n int);
|
|
insert into t1 values(get_lock("lock",2));
|
|
select get_lock("lock",2);
|
|
get_lock("lock",2)
|
|
1
|
|
select release_lock("lock");
|
|
release_lock("lock")
|
|
1
|
|
select get_lock("lock",3);
|
|
get_lock("lock",3)
|
|
1
|
|
select * from t1;
|
|
n
|
|
1
|
|
select is_free_lock("lock"), is_used_lock("lock") = connection_id();
|
|
is_free_lock("lock") is_used_lock("lock") = connection_id()
|
|
0 1
|
|
explain extended select is_free_lock("lock"), is_used_lock("lock");
|
|
id select_type table type possible_keys key key_len ref rows filtered Extra
|
|
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL No tables used
|
|
Warnings:
|
|
Note 1003 select is_free_lock('lock') AS `is_free_lock("lock")`,is_used_lock('lock') AS `is_used_lock("lock")`
|
|
select is_free_lock("lock2");
|
|
is_free_lock("lock2")
|
|
1
|
|
select is_free_lock(NULL);
|
|
is_free_lock(NULL)
|
|
NULL
|
|
drop table t1;
|