1--source include/have_rocksdb.inc 2 3# 4# SELECT .. FOR UPDATE 5# 6 7--disable_warnings 8DROP TABLE IF EXISTS t1; 9--enable_warnings 10 11--enable_connect_log 12 13--source include/count_sessions.inc 14 15CREATE TABLE t1 (a INT, b CHAR(8), pk INT AUTO_INCREMENT PRIMARY KEY) ENGINE=rocksdb; 16INSERT INTO t1 (a,b) VALUES (1,'a'),(2,'b'),(3,'a'); 17 18--connect (con1,localhost,root,,) 19BEGIN; 20--sorted_result 21SELECT a,b FROM t1 WHERE b='a' FOR UPDATE; 22 23--connection default 24SET lock_wait_timeout = 1; 25 26# Should still be able to select 27 28--sorted_result 29SELECT a,b FROM t1 WHERE b='a'; 30 31# ... but not with LOCK IN SHARE MODE 32 33--sorted_result 34--error ER_LOCK_WAIT_TIMEOUT 35SELECT a,b FROM t1 WHERE b='a' LOCK IN SHARE MODE; 36 37--error ER_LOCK_WAIT_TIMEOUT 38UPDATE t1 SET b='c' WHERE b='a'; 39 40--connection con1 41COMMIT; 42--sorted_result 43SELECT a,b FROM t1; 44 45--disconnect con1 46--connection default 47# Now it can be updated all right 48UPDATE t1 SET b='c' WHERE b='a'; 49--sorted_result 50SELECT a,b FROM t1; 51 52DROP TABLE t1; 53 54--source include/wait_until_count_sessions.inc 55 56