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