~maria-captains/maria/mysql-6.0-backup

« back to all changes in this revision

Viewing changes to mysql-test/r/myisam_icp.result

  • Committer: Thava Alagu
  • Date: 2010-03-11 19:18:17 UTC
  • mfrom: (3719.14.62 mysql-6.0-codebase)
  • Revision ID: thavamuni.alagu@sun.com-20100311191817-5nigmq884xo9fuut
Merge from mysql-6.0-codebase

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#
 
2
# Bug#36981 - "innodb crash when selecting for update"
 
3
#
 
4
CREATE TABLE t1 (
 
5
c1 CHAR(1),
 
6
c2 CHAR(10),
 
7
KEY (c1)
 
8
);
 
9
INSERT INTO t1 VALUES ('3', null);
 
10
SELECT * FROM t1 WHERE c1='3' FOR UPDATE;
 
11
c1      c2
 
12
3       NULL
 
13
DROP TABLE t1;
 
14
CREATE TABLE t1 (a INT);
 
15
INSERT INTO t1 VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
 
16
CREATE TABLE t2 (a INT);
 
17
INSERT INTO t2 SELECT A.a + 10*(B.a + 10*C.a) FROM t1 A, t1 B, t1 C;
 
18
CREATE TABLE t3 (
 
19
c1 CHAR(10) NOT NULL,
 
20
c2 CHAR(10) NOT NULL,
 
21
c3 CHAR(200) NOT NULL,
 
22
KEY (c1)
 
23
);
 
24
INSERT INTO t3 
 
25
SELECT CONCAT('c-',1000+t2.a,'=w'), CONCAT('c-',1000+ t2.a,'=w'), 'filler'
 
26
  FROM t2;
 
27
INSERT INTO t3 
 
28
SELECT CONCAT('c-',1000+t2.a,'=w'), CONCAT('c-',2000+t2.a,'=w'), 'filler-1'
 
29
  FROM t2;
 
30
INSERT INTO t3
 
31
SELECT CONCAT('c-',1000+t2.a,'=w'), CONCAT('c-',3000+t2.a,'=w'), 'filler-2'
 
32
  FROM t2;
 
33
SELECT c1,c3 FROM t3 WHERE c1 >= 'c-1994=w' and c1 != 'c-1996=w' FOR UPDATE;
 
34
c1      c3
 
35
c-1994=w        filler
 
36
c-1995=w        filler
 
37
c-1997=w        filler
 
38
c-1998=w        filler
 
39
c-1999=w        filler
 
40
c-1994=w        filler-1
 
41
c-1995=w        filler-1
 
42
c-1997=w        filler-1
 
43
c-1998=w        filler-1
 
44
c-1999=w        filler-1
 
45
c-1994=w        filler-2
 
46
c-1995=w        filler-2
 
47
c-1997=w        filler-2
 
48
c-1998=w        filler-2
 
49
c-1999=w        filler-2
 
50
DROP TABLE t1,t2,t3;
 
51
#
 
52
# Bug#43360 - Server crash with a simple multi-table update
 
53
#
 
54
CREATE TABLE t1 (
 
55
a CHAR(2) NOT NULL PRIMARY KEY, 
 
56
b VARCHAR(20) NOT NULL,
 
57
KEY (b)
 
58
);
 
59
CREATE TABLE t2 (
 
60
a CHAR(2) NOT NULL PRIMARY KEY,
 
61
b VARCHAR(30) NOT NULL,
 
62
KEY (b)
 
63
);
 
64
INSERT INTO t1 VALUES 
 
65
('AB','MySQL AB'),
 
66
('JA','Sun Microsystems'),
 
67
('MS','Microsoft'),
 
68
('IB','IBM- Inc.'),
 
69
('GO','Google Inc.');
 
70
INSERT INTO t2 VALUES
 
71
('AB','Sweden'),
 
72
('JA','USA'),
 
73
('MS','United States of America'),
 
74
('IB','North America'),
 
75
('GO','South America');
 
76
UPDATE t1,t2 SET t1.b=UPPER(t1.b) WHERE t1.b LIKE 'United%';
 
77
SELECT * FROM t1 ORDER BY a;
 
78
a       b
 
79
AB      MySQL AB
 
80
GO      Google Inc.
 
81
IB      IBM- Inc.
 
82
JA      Sun Microsystems
 
83
MS      Microsoft
 
84
SELECT * FROM t2 ORDER BY a;
 
85
a       b
 
86
AB      Sweden
 
87
GO      South America
 
88
IB      North America
 
89
JA      USA
 
90
MS      United States of America
 
91
DROP TABLE t1,t2;
 
92
#
 
93
# Bug#40992 - InnoDB: Crash when engine_condition_pushdown is on
 
94
#
 
95
CREATE TABLE t (
 
96
dummy INT PRIMARY KEY, 
 
97
a INT UNIQUE, 
 
98
b INT
 
99
);
 
100
INSERT INTO t VALUES (1,1,1),(3,3,3),(5,5,5);
 
101
SELECT * FROM t WHERE a > 2 FOR UPDATE;
 
102
dummy   a       b
 
103
3       3       3
 
104
5       5       5
 
105
DROP TABLE t;
 
106
#
 
107
# Bug#35080 - Innodb crash at mem_block_get_len line 72
 
108
#
 
109
CREATE TABLE t1 (
 
110
t1_autoinc INT(11) NOT NULL AUTO_INCREMENT,
 
111
uuid VARCHAR(36) DEFAULT NULL,
 
112
PRIMARY KEY (t1_autoinc),
 
113
KEY k (uuid)
 
114
);
 
115
CREATE TABLE t2 (
 
116
t2_autoinc INT(11) NOT NULL AUTO_INCREMENT,
 
117
uuid VARCHAR(36) DEFAULT NULL,
 
118
date DATETIME DEFAULT NULL,
 
119
PRIMARY KEY (t2_autoinc),
 
120
KEY k (uuid)
 
121
);
 
122
CREATE VIEW v1 AS 
 
123
SELECT t1_autoinc, uuid
 
124
FROM t1
 
125
WHERE (ISNULL(uuid) OR (uuid like '%-%'));
 
126
CREATE VIEW v2 AS 
 
127
SELECT t2_autoinc, uuid, date 
 
128
FROM t2
 
129
WHERE (ISNULL(uuid) OR (LENGTH(uuid) = 36));
 
130
CREATE PROCEDURE delete_multi (IN uuid CHAR(36))
 
131
DELETE v1, v2 FROM v1 INNER JOIN v2
 
132
ON v1.uuid = v2.uuid
 
133
WHERE v1.uuid = @uuid;
 
134
SET @uuid = UUID();
 
135
INSERT INTO v1 (uuid) VALUES (@uuid);
 
136
INSERT INTO v2 (uuid, date) VALUES (@uuid, '2009-09-09');
 
137
CALL delete_multi(@uuid);
 
138
DROP procedure delete_multi;
 
139
DROP table t1,t2;
 
140
DROP view v1,v2;
 
141
#
 
142
# Bug#41996 - multi-table delete crashes server (InnoDB table)
 
143
#
 
144
CREATE TABLE t1 (
 
145
b BIGINT,
 
146
i INT, 
 
147
KEY (b)
 
148
);
 
149
INSERT INTO t1 VALUES (2, 2);
 
150
DELETE t1 FROM t1 a, t1 WHERE a.i=t1.b;
 
151
DROP TABLE t1;
 
152
#
 
153
# Bug#43448 - Server crashes on multi table delete with Innodb
 
154
#
 
155
CREATE TABLE t1 (
 
156
id1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY, 
 
157
t CHAR(12)
 
158
);
 
159
CREATE TABLE t2 (
 
160
id2 INT NOT NULL, 
 
161
t CHAR(12)
 
162
);
 
163
CREATE TABLE t3(
 
164
id3 INT NOT NULL, 
 
165
t CHAR(12), 
 
166
INDEX(id3)
 
167
);
 
168
CREATE PROCEDURE insert_data ()
 
169
BEGIN
 
170
DECLARE i1 INT DEFAULT 20;
 
171
DECLARE i2 INT;
 
172
DECLARE i3 INT;
 
173
WHILE (i1 > 0) DO
 
174
INSERT INTO t1(t) VALUES (i1);
 
175
SET i2 = 2;
 
176
WHILE (i2 > 0) DO
 
177
INSERT INTO t2(id2, t) VALUES (i1, i2);
 
178
SET i3 = 2;
 
179
WHILE (i3 > 0) DO
 
180
INSERT INTO t3(id3, t) VALUES (i1, i2);
 
181
SET i3 = i3 -1;
 
182
END WHILE;
 
183
SET i2 = i2 -1;
 
184
END WHILE;
 
185
SET i1 = i1 - 1;
 
186
END WHILE;
 
187
END |
 
188
CALL insert_data();
 
189
SELECT COUNT(*) FROM t1 WHERE id1 > 10;
 
190
COUNT(*)
 
191
10
 
192
SELECT COUNT(*) FROM t2 WHERE id2 > 10;
 
193
COUNT(*)
 
194
20
 
195
SELECT COUNT(*) FROM t3 WHERE id3 > 10;
 
196
COUNT(*)
 
197
40
 
198
DELETE t1, t2, t3 
 
199
FROM t1, t2, t3 
 
200
WHERE t1.id1 = t2.id2 AND t2.id2 = t3.id3 AND t1.id1 > 3;
 
201
SELECT COUNT(*) FROM t1;
 
202
COUNT(*)
 
203
3
 
204
SELECT COUNT(*) FROM t2;
 
205
COUNT(*)
 
206
6
 
207
SELECT COUNT(*) FROM t3;
 
208
COUNT(*)
 
209
12
 
210
DROP PROCEDURE insert_data;
 
211
DROP TABLE t1, t2, t3;
 
212
#
 
213
# Bug#42580 - Innodb's ORDER BY ..LIMIT returns no rows for 
 
214
#             null-safe operator <=> NULL
 
215
#
 
216
CREATE TABLE t1(
 
217
c1 DATE NOT NULL, 
 
218
c2 DATE NULL, 
 
219
c3 DATETIME, 
 
220
c4 TIMESTAMP, 
 
221
PRIMARY KEY(c1), 
 
222
UNIQUE(c2)
 
223
);
 
224
 
 
225
INSERT INTO t1 VALUES('0000-00-00', '0000-00-00', '2008-01-04', '2008-01-05');
 
226
INSERT INTO t1 VALUES('2007-05-25', '2007-05-25', '2007-05-26', '2007-05-26');
 
227
INSERT INTO t1 VALUES('2008-01-01', NULL        , '2008-01-02', '2008-01-03');
 
228
INSERT INTO t1 VALUES('2008-01-17', NULL        , NULL        , '2009-01-29');
 
229
INSERT INTO t1 VALUES('2009-01-29', '2009-01-29', '2009-01-29', '2009-01-29');
 
230
 
 
231
SELECT * FROM t1 WHERE c2 <=> NULL ORDER BY c1,c2;
 
232
c1      c2      c3      c4
 
233
2008-01-01      NULL    2008-01-02 00:00:00     2008-01-03 00:00:00
 
234
2008-01-17      NULL    NULL    2009-01-29 00:00:00
 
235
 
 
236
SELECT * FROM t1 WHERE c2 <=> NULL ORDER BY c1,c2 LIMIT 2;
 
237
c1      c2      c3      c4
 
238
2008-01-01      NULL    2008-01-02 00:00:00     2008-01-03 00:00:00
 
239
2008-01-17      NULL    NULL    2009-01-29 00:00:00
 
240
 
 
241
DROP TABLE t1;
 
242
#
 
243
# Bug#43617 - Innodb returns wrong results with timestamp's range value 
 
244
#             in IN clause
 
245
# (Note: Fixed by patch for BUG#42580)
 
246
#
 
247
CREATE TABLE t1(
 
248
c1 TIMESTAMP NOT NULL, 
 
249
c2 TIMESTAMP NULL, 
 
250
c3 DATE, 
 
251
c4 DATETIME, 
 
252
PRIMARY KEY(c1), 
 
253
UNIQUE INDEX(c2)
 
254
);
 
255
INSERT INTO t1 VALUES
 
256
('0000-00-00 00:00:00','0000-00-00 00:00:00','2008-01-04','2008-01-05 00:00:00'),
 
257
('1971-01-01 00:00:01','1980-01-01 00:00:01','2009-01-01','2009-01-02 00:00:00'),
 
258
('1999-01-01 00:00:00','1999-01-01 00:00:00', NULL,        NULL),
 
259
('2007-05-23 09:15:28','2007-05-23 09:15:28','2007-05-24','2007-05-24 09:15:28'),
 
260
('2007-05-27 00:00:00','2007-05-25 00:00:00','2007-05-26','2007-05-26 00:00:00'),
 
261
('2008-01-01 00:00:00', NULL,                '2008-01-02','2008-01-03 00:00:00'),
 
262
('2009-01-29 11:11:27','2009-01-29 11:11:27','2009-01-29','2009-01-29 11:11:27'),
 
263
('2038-01-09 03:14:07','2038-01-09 03:14:07','2009-01-05','2009-01-06 00:00:00');
 
264
 
 
265
SELECT * 
 
266
FROM t1 
 
267
WHERE c2 IN ('1971-01-01 00:00:01','2038-01-09 03:14:07') 
 
268
ORDER BY c2;
 
269
c1      c2      c3      c4
 
270
2038-01-09 03:14:07     2038-01-09 03:14:07     2009-01-05      2009-01-06 00:00:00
 
271
 
 
272
SELECT * 
 
273
FROM t1 
 
274
WHERE c2 IN ('1971-01-01 00:00:01','2038-01-09 03:14:07') 
 
275
ORDER BY c2 LIMIT 2;
 
276
c1      c2      c3      c4
 
277
2038-01-09 03:14:07     2038-01-09 03:14:07     2009-01-05      2009-01-06 00:00:00
 
278
 
 
279
SELECT * 
 
280
FROM t1 
 
281
WHERE c2 IN ('1971-01-01 00:00:01','2038-01-09 03:14:07') 
 
282
ORDER BY c2 DESC;
 
283
c1      c2      c3      c4
 
284
2038-01-09 03:14:07     2038-01-09 03:14:07     2009-01-05      2009-01-06 00:00:00
 
285
 
 
286
SELECT * 
 
287
FROM t1 
 
288
WHERE c2 IN ('1971-01-01 00:00:01','2038-01-09 03:14:07') 
 
289
ORDER BY c2 DESC LIMIT 2;
 
290
c1      c2      c3      c4
 
291
2038-01-09 03:14:07     2038-01-09 03:14:07     2009-01-05      2009-01-06 00:00:00
 
292
 
 
293
DROP TABLE t1;
 
294
#
 
295
# Bug#43249 - Innodb returns zero time for the time column 
 
296
#             with <=> NULL order by limit 
 
297
# (Note: Fixed by patch for BUG#42580)
 
298
#
 
299
CREATE TABLE t1(
 
300
c1 TIME NOT NULL, 
 
301
c2 TIME NULL,
 
302
c3 DATE, 
 
303
PRIMARY KEY(c1), 
 
304
UNIQUE INDEX(c2)
 
305
);
 
306
INSERT INTO t1 VALUES('8:29:45',NULL,'2009-02-01');
 
307
 
 
308
SELECT * FROM t1 WHERE c2 <=> NULL ORDER BY c2 LIMIT 2;
 
309
c1      c2      c3
 
310
08:29:45        NULL    2009-02-01
 
311
 
 
312
SELECT * FROM t1 WHERE c2 <=> NULL ORDER BY c2 LIMIT 2;
 
313
c1      c2      c3
 
314
08:29:45        NULL    2009-02-01
 
315
DROP TABLE t1;