summaryrefslogtreecommitdiffstats
path: root/storage/rocksdb/mysql-test/rocksdb/r/cons_snapshot_repeatable_read.result
blob: d9be37ee18dfc9b16c8209154174344639b91d85 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
DROP TABLE IF EXISTS t1;
connect  con1,localhost,root,,;
connect  con2,localhost,root,,;
connection con1;
CREATE TABLE t1 (a INT, pk INT AUTO_INCREMENT PRIMARY KEY) ENGINE=ROCKSDB;
SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ;
START TRANSACTION WITH CONSISTENT SNAPSHOT;
ERROR: 0
connection con2;
select * from information_schema.rocksdb_dbstats where stat_type='DB_NUM_SNAPSHOTS';
STAT_TYPE	VALUE
DB_NUM_SNAPSHOTS	1
connection con1;
COMMIT;
connection con2;
select * from information_schema.rocksdb_dbstats where stat_type='DB_NUM_SNAPSHOTS';
STAT_TYPE	VALUE
DB_NUM_SNAPSHOTS	0
connection con1;
START TRANSACTION WITH CONSISTENT SNAPSHOT;
ERROR: 0
connection con2;
INSERT INTO t1 (a) VALUES (1);
connection con1;
# If consistent read works on this isolation level (REPEATABLE READ), the following SELECT should not return the value we inserted (1)
SELECT a FROM t1;
a
COMMIT;
connection default;
disconnect con1;
disconnect con2;
DROP TABLE t1;
connect  con1,localhost,root,,;
connect  con2,localhost,root,,;
connection con1;
CREATE TABLE r1 (id int primary key, value int, value2 int) engine=ROCKSDB;
SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ;
insert into r1 values (1,1,1),(2,2,2),(3,3,3),(4,4,4);
BEGIN;
connection con2;
INSERT INTO r1 values (5,5,5);
connection con1;
SELECT * FROM r1;
id	value	value2
1	1	1
2	2	2
3	3	3
4	4	4
5	5	5
connection con2;
INSERT INTO r1 values (6,6,6);
connection con1;
SELECT * FROM r1;
id	value	value2
1	1	1
2	2	2
3	3	3
4	4	4
5	5	5
COMMIT;
SELECT * FROM r1;
id	value	value2
1	1	1
2	2	2
3	3	3
4	4	4
5	5	5
6	6	6
START TRANSACTION WITH CONSISTENT SNAPSHOT;
ERROR: 0
connection con2;
INSERT INTO r1 values (7,7,7);
connection con1;
SELECT * FROM r1;
id	value	value2
1	1	1
2	2	2
3	3	3
4	4	4
5	5	5
6	6	6
connection con2;
INSERT INTO r1 values (8,8,8);
connection con1;
SELECT * FROM r1;
id	value	value2
1	1	1
2	2	2
3	3	3
4	4	4
5	5	5
6	6	6
COMMIT;
SELECT * FROM r1;
id	value	value2
1	1	1
2	2	2
3	3	3
4	4	4
5	5	5
6	6	6
7	7	7
8	8	8
START TRANSACTION WITH CONSISTENT SNAPSHOT;
ERROR: 0
connection con2;
INSERT INTO r1 values (9,9,9);
connection con1;
START TRANSACTION WITH CONSISTENT SNAPSHOT;
ERROR: 0
connection con2;
INSERT INTO r1 values (10,10,10);
connection con1;
SELECT * FROM r1;
id	value	value2
1	1	1
2	2	2
3	3	3
4	4	4
5	5	5
6	6	6
7	7	7
8	8	8
9	9	9
START TRANSACTION WITH CONSISTENT SNAPSHOT;
ERROR: 0
INSERT INTO r1 values (11,11,11);
ERROR: 4059
SELECT * FROM r1;
id	value	value2
1	1	1
2	2	2
3	3	3
4	4	4
5	5	5
6	6	6
7	7	7
8	8	8
9	9	9
10	10	10
drop table r1;
connection default;
disconnect con1;
disconnect con2;