summaryrefslogtreecommitdiff
path: root/storage/rocksdb/mysql-test/rocksdb/r/allow_no_primary_key.result
blob: de8a1fb4329e45d76f99fb7a0494c28e8577b659 (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
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (a INT, b CHAR(8)) ENGINE=rocksdb;
SHOW CREATE TABLE t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `a` int(11) DEFAULT NULL,
  `b` char(8) DEFAULT NULL
) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
SHOW COLUMNS IN t1;
Field	Type	Null	Key	Default	Extra
a	int(11)	YES		NULL	
b	char(8)	YES		NULL	
INSERT INTO t1 (a,b) VALUES (76,'bar');
INSERT INTO t1 (a,b) VALUES (35,'foo');
INSERT INTO t1 (a,b) VALUES (77,'baz');
SELECT * FROM t1 WHERE a = 35;
a	b
35	foo
SELECT * FROM t1 WHERE a = 35 AND b = 'foo';
a	b
35	foo
SELECT * FROM t1 WHERE a = 77 OR b = 'bar';
a	b
76	bar
77	baz
SELECT * FROM t1 WHERE a > 35;
a	b
76	bar
77	baz
SELECT * FROM t1;
a	b
35	foo
76	bar
77	baz
UPDATE t1 SET a=a+100;
SELECT * FROM t1;
a	b
135	foo
176	bar
177	baz
UPDATE t1 SET a=a-100, b='bbb' WHERE a>100;
SELECT * FROM t1;
a	b
35	bbb
76	bbb
77	bbb
UPDATE t1 SET a=300, b='ccc' WHERE a>70;
SELECT * FROM t1;
a	b
300	ccc
300	ccc
35	bbb
UPDATE t1 SET a=123 WHERE a=35;
SELECT * FROM t1;
a	b
123	bbb
300	ccc
300	ccc
UPDATE t1 SET a=321 WHERE b='ccc';
SELECT * FROM t1;
a	b
123	bbb
321	ccc
321	ccc
INSERT INTO t1 (a,b) VALUES (45,'bob');
SELECT * FROM t1;
a	b
123	bbb
321	ccc
321	ccc
45	bob
DELETE FROM t1 WHERE a=123;
SELECT * FROM t1;
a	b
321	ccc
321	ccc
45	bob
DELETE FROM t1 WHERE b > 'bbb' AND a > 100;
SELECT * FROM t1;
a	b
45	bob
TRUNCATE TABLE t1;
DROP TABLE t1;
CREATE TABLE t1 (a INT, c CHAR(8)) ENGINE=rocksdb;
INSERT INTO t1 VALUES (1,'a'),(5,'z');
ALTER TABLE t1 ADD COLUMN b INT;
SHOW CREATE TABLE t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `a` int(11) DEFAULT NULL,
  `c` char(8) DEFAULT NULL,
  `b` int(11) DEFAULT NULL
) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
SELECT * FROM t1;
a	c	b
1	a	NULL
5	z	NULL
ALTER TABLE t1 DROP COLUMN b;
SHOW CREATE TABLE t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `a` int(11) DEFAULT NULL,
  `c` char(8) DEFAULT NULL
) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
SELECT * FROM t1;
a	c
1	a
5	z
DROP TABLE t1;
CREATE TABLE t1 (a INT, b CHAR(8), pk INT AUTO_INCREMENT PRIMARY KEY) ENGINE=rocksdb;
ALTER TABLE t1 DROP COLUMN pk;
SHOW CREATE TABLE t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `a` int(11) DEFAULT NULL,
  `b` char(8) DEFAULT NULL
) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
SHOW COLUMNS IN t1;
Field	Type	Null	Key	Default	Extra
a	int(11)	YES		NULL	
b	char(8)	YES		NULL	
INSERT INTO t1 (a,b) VALUES (76,'bar');
INSERT INTO t1 (a,b) VALUES (35,'foo');
INSERT INTO t1 (a,b) VALUES (77,'baz');
SELECT * FROM t1 WHERE a = 35;
a	b
35	foo
SELECT * FROM t1 WHERE a = 35 AND b = 'foo';
a	b
35	foo
SELECT * FROM t1 WHERE a = 77 OR b = 'bar';
a	b
76	bar
77	baz
SELECT * FROM t1 WHERE a > 35;
a	b
76	bar
77	baz
SELECT * FROM t1;
a	b
35	foo
76	bar
77	baz
UPDATE t1 SET a=a+100;
SELECT * FROM t1;
a	b
135	foo
176	bar
177	baz
UPDATE t1 SET a=a-100, b='bbb' WHERE a>100;
SELECT * FROM t1;
a	b
35	bbb
76	bbb
77	bbb
UPDATE t1 SET a=300, b='ccc' WHERE a>70;
SELECT * FROM t1;
a	b
300	ccc
300	ccc
35	bbb
UPDATE t1 SET a=123 WHERE a=35;
SELECT * FROM t1;
a	b
123	bbb
300	ccc
300	ccc
UPDATE t1 SET a=321 WHERE b='ccc';
SELECT * FROM t1;
a	b
123	bbb
321	ccc
321	ccc
INSERT INTO t1 (a,b) VALUES (45,'bob');
SELECT * FROM t1;
a	b
123	bbb
321	ccc
321	ccc
45	bob
DELETE FROM t1 WHERE a=123;
SELECT * FROM t1;
a	b
321	ccc
321	ccc
45	bob
DELETE FROM t1 WHERE b > 'bbb' AND a > 100;
SELECT * FROM t1;
a	b
45	bob
TRUNCATE TABLE t1;
DROP TABLE t1;
DROP TABLE IF EXISTS t1,t2;
CREATE TABLE t1 (a INT, b CHAR(8)) ENGINE=rocksdb;
INSERT INTO t1 (a,b) VALUES (1,'a'),(2,'b');
CREATE TABLE t2 (a INT, b CHAR(8)) ENGINE=rocksdb;
CHECK TABLE t1;
Table	Op	Msg_type	Msg_text
test.t1	check	status	OK
INSERT INTO t1 (a,b) VALUES (3,'c');
INSERT INTO t2 (a,b) VALUES (4,'d');
CHECK TABLE t1, t2 FOR UPGRADE;
Table	Op	Msg_type	Msg_text
test.t1	check	status	OK
test.t2	check	status	OK
INSERT INTO t2 (a,b) VALUES (5,'e');
CHECK TABLE t2 QUICK;
Table	Op	Msg_type	Msg_text
test.t2	check	status	OK
INSERT INTO t1 (a,b) VALUES (6,'f');
CHECK TABLE t1 FAST;
Table	Op	Msg_type	Msg_text
test.t1	check	status	OK
INSERT INTO t1 (a,b) VALUES (7,'g');
INSERT INTO t2 (a,b) VALUES (8,'h');
CHECK TABLE t2, t1 MEDIUM;
Table	Op	Msg_type	Msg_text
test.t2	check	status	OK
test.t1	check	status	OK
INSERT INTO t1 (a,b) VALUES (9,'i');
INSERT INTO t2 (a,b) VALUES (10,'j');
CHECK TABLE t1, t2 EXTENDED;
Table	Op	Msg_type	Msg_text
test.t1	check	status	OK
test.t2	check	status	OK
INSERT INTO t1 (a,b) VALUES (11,'k');
CHECK TABLE t1 CHANGED;
Table	Op	Msg_type	Msg_text
test.t1	check	status	OK
DROP TABLE t1, t2;
CREATE TABLE t1 (a INT, b CHAR(8), UNIQUE INDEX(a)) ENGINE=rocksdb;
INSERT INTO t1 (a,b) VALUES (1,'a'),(2,'b');
INSERT INTO t1 (a,b) VALUES (1,'c');
ERROR 23000: Duplicate entry '1' for key 'a'
SELECT * FROM t1;
a	b
1	a
2	b
SELECT * FROM t1 WHERE a = 2;
a	b
2	b
EXPLAIN SELECT * FROM t1 WHERE a = 2;
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
1	SIMPLE	t1	const	a	a	5	const	1	
DROP TABLE t1;
CREATE TABLE t1 (a INT, b CHAR(8)) ENGINE=rocksdb;
SHOW CREATE TABLE t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `a` int(11) DEFAULT NULL,
  `b` char(8) DEFAULT NULL
) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
SHOW COLUMNS IN t1;
Field	Type	Null	Key	Default	Extra
a	int(11)	YES		NULL	
b	char(8)	YES		NULL	
INSERT INTO t1 (a,b) VALUES (35,'foo');
INSERT INTO t1 (a,b) VALUES (35,'foo');
INSERT INTO t1 (a,b) VALUES (36,'foo');
DELETE FROM t1 WHERE a = 35 AND b = 'foo';
SELECT * FROM t1;
a	b
36	foo
DROP TABLE t1;
#
# Issue #834/MDEV-15304 ALTER TABLE table_with_hidden_pk causes Can't
#   write; duplicate key in table error and/or crash
#
CREATE TABLE t1 (a INT, KEY(a)) ENGINE=RocksDB;
INSERT INTO t1 VALUES (1),(1+1);
create table t2 (a int);
insert into t2 values (10),(20),(30);
BEGIN;
select * from t2;
a
10
20
30
alter table t1 force;
select * from t1;
a
insert into t1 values (100);
select * from t1;
a
connection con1;
insert into t1 values (100);
select * from t1;
a
1
2
100
disconnect con1;
connection default;
rollback;
drop table t1,t2;