1--source include/have_rocksdb.inc
2
3#
4# Basic INSERT statements
5#
6
7# MyRocks does not support gap locks in REPEATABLE-READ mode, test does not
8# require RR ISO to complete, so lets alter the ISO to RC
9set session transaction_isolation='READ-COMMITTED';
10
11CREATE TABLE t1 (a INT, b CHAR(8), pk INT AUTO_INCREMENT PRIMARY KEY) ENGINE=ROCKSDB;
12
13# INSERT [INTO] .. VALUES|VALUE ..
14
15INSERT INTO t1 VALUES (100,'foobar',100),(1,'a',101),(2,'b',103),(3,'c',104),(4,'d',105),(5,'e',106);
16--sorted_result
17SELECT a,b FROM t1;
18
19INSERT t1 VALUE (10,'foo',107),(11,'abc',108);
20--sorted_result
21SELECT a,b FROM t1;
22
23INSERT INTO t1 (b,a) VALUES ('test',0);
24--sorted_result
25SELECT a,b FROM t1;
26
27INSERT INTO t1 VALUES (DEFAULT,DEFAULT,NULL);
28--sorted_result
29SELECT a,b FROM t1;
30
31INSERT t1 (a) VALUE (10),(20);
32--sorted_result
33SELECT a,b FROM t1;
34
35# INSERT [INTO] .. SET
36
37INSERT INTO t1 SET a = 11, b = 'f';
38--sorted_result
39SELECT a,b FROM t1;
40
41INSERT t1 SET b = DEFAULT;
42--sorted_result
43SELECT a,b FROM t1;
44
45
46# INSERT .. SELECT
47
48CREATE TABLE t2 (a INT, b CHAR(8), pk INT AUTO_INCREMENT PRIMARY KEY) ENGINE=ROCKSDB;
49
50INSERT INTO t2 SELECT a,b,pk FROM t1;
51INSERT INTO t1 (a) SELECT a FROM t2 WHERE b = 'foo';
52--sorted_result
53SELECT a,b FROM t1;
54
55INSERT t1 (a,b) SELECT a,b FROM t1;
56--sorted_result
57SELECT a,b FROM t1;
58
59DROP TABLE t1, t2;
60
61#
62# Transactional INSERT
63#
64
65CREATE TABLE t1 (a INT, b CHAR(8), pk INT AUTO_INCREMENT PRIMARY KEY) ENGINE=ROCKSDB;
66
67BEGIN;
68INSERT INTO t1 (a,b) VALUES (1,'a'),(2,'b'),(3,'c'),(4,'d'),(5,'e'),(100,'foo');
69INSERT t1 (a,b) VALUE (10,'foo'),(11,'abc');
70COMMIT;
71--sorted_result
72SELECT a,b FROM t1;
73
74BEGIN;
75INSERT INTO t1 (b,a) VALUES ('test',0);
76SAVEPOINT spt1;
77INSERT INTO t1 (a,b) VALUES (DEFAULT,DEFAULT);
78RELEASE SAVEPOINT spt1;
79INSERT INTO t1 (a,b) VALUES (DEFAULT,DEFAULT);
80ROLLBACK;
81--sorted_result
82SELECT a,b FROM t1;
83
84BEGIN;
85INSERT t1 (a) VALUE (10),(20);
86SAVEPOINT spt1;
87INSERT INTO t1 SET a = 11, b = 'f';
88INSERT t1 SET b = DEFAULT;
89--error ER_ROLLBACK_TO_SAVEPOINT
90ROLLBACK TO SAVEPOINT spt1;
91INSERT INTO t1 (b,a) VALUES ('test1',10);
92--error ER_ROLLBACK_ONLY
93COMMIT;
94--sorted_result
95SELECT a,b FROM t1;
96
97DROP TABLE t1;
98