~drizzle-trunk/drizzle/development

1 by brian
clean slate
1
drop table if exists t1,t2,t3;
2
SET SQL_WARNINGS=1;
3
CREATE TABLE t1 (
4
ID CHAR(32) NOT NULL,
5
name CHAR(32) NOT NULL,
6
value CHAR(255),
7
INDEX indexIDname (ID(8),name(8))
8
) ;
9
INSERT INTO t1 VALUES
10
('keyword','indexdir','/export/home/local/www/database/indexes/keyword');
11
INSERT INTO t1 VALUES ('keyword','urlprefix','text/ /text');
12
INSERT INTO t1 VALUES ('keyword','urlmap','/text/ /');
13
INSERT INTO t1 VALUES ('keyword','attr','personal employee company');
14
INSERT INTO t1 VALUES
15
('emailgids','indexdir','/export/home/local/www/database/indexes/emailgids');
16
INSERT INTO t1 VALUES ('emailgids','urlprefix','text/ /text');
17
INSERT INTO t1 VALUES ('emailgids','urlmap','/text/ /');
18
INSERT INTO t1 VALUES ('emailgids','attr','personal employee company');
19
SELECT value FROM t1 WHERE ID='emailgids' AND name='attr';
20
value
21
personal employee company
22
drop table t1;
23
CREATE TABLE t1 (
24
price int(5) DEFAULT '0' NOT NULL,
25
area varchar(40) DEFAULT '' NOT NULL,
26
type varchar(40) DEFAULT '' NOT NULL,
27
transityes enum('Y','N') DEFAULT 'Y' NOT NULL,
28
shopsyes enum('Y','N') DEFAULT 'Y' NOT NULL,
29
schoolsyes enum('Y','N') DEFAULT 'Y' NOT NULL,
30
petsyes enum('Y','N') DEFAULT 'Y' NOT NULL,
31
KEY price (price,area,type,transityes,shopsyes,schoolsyes,petsyes)
32
);
33
INSERT INTO t1 VALUES (900,'Vancouver','Shared/Roomate','N','N','N','N');
34
INSERT INTO t1 VALUES (900,'Vancouver','Shared/Roomate','N','N','N','N');
35
INSERT INTO t1 VALUES (900,'Vancouver','Shared/Roomate','','','','');
36
Warnings:
37
Warning	1265	Data truncated for column 'transityes' at row 1
38
Warning	1265	Data truncated for column 'shopsyes' at row 1
39
Warning	1265	Data truncated for column 'schoolsyes' at row 1
40
Warning	1265	Data truncated for column 'petsyes' at row 1
41
INSERT INTO t1 VALUES (900,'Vancouver','Shared/Roomate','Y','Y','Y','Y');
42
INSERT INTO t1 VALUES (900,'Vancouver','Shared/Roomate','Y','Y','Y','Y');
43
INSERT INTO t1 VALUES (900,'Vancouver','Shared/Roomate','Y','Y','Y','Y');
44
INSERT INTO t1 VALUES (900,'Vancouver','Shared/Roomate','Y','Y','Y','Y');
45
INSERT INTO t1 VALUES (900,'Vancouver','Shared/Roomate','Y','Y','Y','Y');
46
SELECT * FROM t1 WHERE area='Vancouver' and transityes='y' and schoolsyes='y' and ( ((type='1 Bedroom' or type='Studio/Bach') and (price<=500)) or ((type='2 Bedroom') and (price<=550)) or ((type='Shared/Roomate') and (price<=300)) or ((type='Room and Board') and (price<=500)) ) and price <= 400;
47
price	area	type	transityes	shopsyes	schoolsyes	petsyes
48
drop table t1;
49
CREATE TABLE t1 (program enum('signup','unique','sliding') not null,  type enum('basic','sliding','signup'),  sites set('mt'),  PRIMARY KEY (program));
50
ALTER TABLE t1 modify program enum('signup','unique','sliding');
51
drop table t1;
52
CREATE TABLE t1 (
53
name varchar(50) DEFAULT '' NOT NULL,
54
author varchar(50) DEFAULT '' NOT NULL,
55
category decimal(10,0) DEFAULT '0' NOT NULL,
56
email varchar(50),
57
password varchar(50),
58
proxy varchar(50),
59
bitmap varchar(20),
60
msg varchar(255),
61
urlscol varchar(127),
62
urlhttp varchar(127),
63
timeout decimal(10,0),
64
nbcnx decimal(10,0),
65
creation decimal(10,0),
66
livinguntil decimal(10,0),
67
lang decimal(10,0),
68
type decimal(10,0),
69
subcat decimal(10,0),
70
subtype decimal(10,0),
71
reg char(1),
72
scs varchar(255),
73
capacity decimal(10,0),
74
userISP varchar(50),
75
CCident varchar(50) DEFAULT '' NOT NULL,
76
PRIMARY KEY (name,author,category)
77
);
78
INSERT INTO t1 VALUES
79
('patnom','patauteur',0,'p.favre@cryo-networks.fr',NULL,NULL,'#p2sndnq6ae5g1u6t','essai salut','scol://195.242.78.119:patauteur.patnom',NULL,NULL,NULL,950036174,-882087474,NULL,3,0,3,'1','Pub/patnom/futur_divers.scs',NULL,'pat','CC1');
80
INSERT INTO t1 VALUES
81
('LeNomDeMonSite','Marc',0,'m.barilley@cryo-networks.fr',NULL,NULL,NULL,NULL,'scol://195.242.78.119:Marc.LeNomDeMonSite',NULL,NULL,NULL,950560434,-881563214,NULL,3,0,3,'1','Pub/LeNomDeMonSite/domus_hibere.scs',NULL,'Marq','CC1');
82
select * from t1 where name='patnom' and author='patauteur' and category=0;
83
name	author	category	email	password	proxy	bitmap	msg	urlscol	urlhttp	timeout	nbcnx	creation	livinguntil	lang	type	subcat	subtype	reg	scs	capacity	userISP	CCident
84
patnom	patauteur	0	p.favre@cryo-networks.fr	NULL	NULL	#p2sndnq6ae5g1u6t	essai salut	scol://195.242.78.119:patauteur.patnom	NULL	NULL	NULL	950036174	-882087474	NULL	3	0	3	1	Pub/patnom/futur_divers.scs	NULL	pat	CC1
85
drop table t1;
86
create table t1
87
(
88
name_id int not null auto_increment,
89
name blob,
90
INDEX name_idx (name(5)),
91
primary key (name_id)
92
);
93
INSERT t1 VALUES(NULL,'/');
94
INSERT t1 VALUES(NULL,'[T,U]_axpby');
95
SELECT * FROM t1 WHERE name='[T,U]_axpy';
96
name_id	name
97
SELECT * FROM t1 WHERE name='[T,U]_axpby';
98
name_id	name
99
2	[T,U]_axpby
100
create table t2
101
(
102
name_id int not null auto_increment,
103
name char(255) binary,
104
INDEX name_idx (name(5)),
105
primary key (name_id)
106
);
107
INSERT t2 select * from t1;
108
SELECT * FROM t2 WHERE name='[T,U]_axpy';
109
name_id	name
110
SELECT * FROM t2 WHERE name='[T,U]_axpby';
111
name_id	name
112
2	[T,U]_axpby
113
CREATE TABLE t3 SELECT * FROM t2 WHERE name='[T,U]_axpby';
114
SELECT * FROM t2 WHERE name='[T,U]_axpby';
115
name_id	name
116
2	[T,U]_axpby
117
drop table t1,t2,t3;
118
create table t1
119
(
120
SEQNO                         numeric(12 ) not null,
121
MOTYPEID                 numeric(12 ) not null,
122
MOINSTANCEID     numeric(12 ) not null,
123
ATTRID                       numeric(12 ) not null,
124
VALUE                         varchar(120) not null,
125
primary key (SEQNO, MOTYPEID, MOINSTANCEID, ATTRID, VALUE )
126
);
127
INSERT INTO t1 VALUES (1, 1, 1, 1, 'a');
128
INSERT INTO t1 VALUES (1, 1, 1, 1, 'b');
129
INSERT INTO t1 VALUES (1, 1, 1, 1, 'a');
130
ERROR 23000: Duplicate entry '1-1-1-1-a' for key 'PRIMARY'
131
drop table t1;
132
CREATE TABLE t1 (
133
a tinytext NOT NULL,
134
b tinyint(3) unsigned NOT NULL default '0',
135
PRIMARY KEY (a(32),b)
136
) ENGINE=MyISAM;
137
INSERT INTO t1 VALUES ('a',1),('a',2);
138
SELECT * FROM t1 WHERE a='a' AND b=2;
139
a	b
140
a	2
141
SELECT * FROM t1 WHERE a='a' AND b in (2);
142
a	b
143
a	2
144
SELECT * FROM t1 WHERE a='a' AND b in (1,2);
145
a	b
146
a	1
147
a	2
148
drop table t1;
149
create table t1 (a int not null unique, b int unique, c int, d int not null primary key, key(c), e int not null unique);
150
show keys from t1;
151
Table	Non_unique	Key_name	Seq_in_index	Column_name	Collation	Cardinality	Sub_part	Packed	Null	Index_type	Comment	Index_Comment
152
t1	0	PRIMARY	1	d	A	0	NULL	NULL		BTREE		
153
t1	0	a	1	a	A	0	NULL	NULL		BTREE		
154
t1	0	e	1	e	A	0	NULL	NULL		BTREE		
155
t1	0	b	1	b	A	NULL	NULL	NULL	YES	BTREE		
156
t1	1	c	1	c	A	NULL	NULL	NULL	YES	BTREE		
157
drop table t1;
158
CREATE TABLE t1 (c CHAR(10) NOT NULL,i INT NOT NULL AUTO_INCREMENT,
159
UNIQUE (c,i));
160
INSERT INTO t1 (c) VALUES (NULL),(NULL);
161
Warnings:
162
Warning	1048	Column 'c' cannot be null
163
Warning	1048	Column 'c' cannot be null
164
SELECT * FROM t1;
165
c	i
166
	1
167
	2
168
INSERT INTO t1 (c) VALUES ('a'),('a');
169
SELECT * FROM t1;
170
c	i
171
	1
172
	2
173
a	1
174
a	2
175
DROP TABLE IF EXISTS t1;
176
CREATE TABLE t1 (c CHAR(10) NULL, i INT NOT NULL AUTO_INCREMENT,
177
UNIQUE (c,i));
178
INSERT INTO t1 (c) VALUES (NULL),(NULL);
179
SELECT * FROM t1;
180
c	i
181
NULL	1
182
NULL	2
183
INSERT INTO t1 (c) VALUES ('a'),('a');
184
SELECT * FROM t1;
185
c	i
186
NULL	1
187
NULL	2
188
a	1
189
a	2
190
drop table t1;
191
create table t1 (i int, a char(200), b text, unique (a), unique (b(300))) charset utf8;
192
insert t1 values (1, repeat('a',210), repeat('b', 310));
193
Warnings:
194
Warning	1265	Data truncated for column 'a' at row 1
195
insert t1 values (2, repeat(0xD0B1,215), repeat(0xD0B1, 310));
196
Warnings:
197
Warning	1265	Data truncated for column 'a' at row 1
198
select i, length(a), length(b), char_length(a), char_length(b) from t1;
199
i	length(a)	length(b)	char_length(a)	char_length(b)
200
1	200	310	200	310
201
2	400	620	200	310
202
select i from t1 where a=repeat(_utf8 'a',200);
203
i
204
1
205
select i from t1 where a=repeat(_utf8 0xD0B1,200);
206
i
207
2
208
select i from t1 where b=repeat(_utf8 'b',310);
209
i
210
1
211
drop table t1;
212
CREATE TABLE t1 (id int unsigned auto_increment, name char(50), primary key (id)) engine=myisam;
213
insert into t1 (name) values ('a'), ('b'),('c'),('d'),('e'),('f'),('g');
214
explain select 1 from t1 where id =2;
215
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
216
1	SIMPLE	t1	const	PRIMARY	PRIMARY	4	const	1	Using index
217
explain select 1 from t1 where id =2 or id=3;
218
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
219
1	SIMPLE	t1	index	PRIMARY	PRIMARY	4	NULL	7	Using where; Using index
220
explain select name from t1 where id =2;
221
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
222
1	SIMPLE	t1	const	PRIMARY	PRIMARY	4	const	1	
223
ALTER TABLE t1 DROP PRIMARY KEY, ADD INDEX (id);
224
explain select 1 from t1 where id =2;
225
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
226
1	SIMPLE	t1	ref	id	id	4	const	1	Using index
227
drop table t1;
228
CREATE TABLE t1 (numeropost mediumint(8) unsigned NOT NULL default '0', numreponse int(10) unsigned NOT NULL auto_increment, PRIMARY KEY (numeropost,numreponse), UNIQUE KEY numreponse (numreponse));
229
INSERT INTO t1 (numeropost,numreponse) VALUES ('1','1'),('1','2'),('2','3'),('2','4');
230
SELECT numeropost FROM t1 WHERE numreponse='1';
231
numeropost
232
1
233
EXPLAIN SELECT numeropost FROM t1 WHERE numreponse='1';
234
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
235
1	SIMPLE	t1	const	numreponse	numreponse	4	const	1	Using index
236
FLUSH TABLES;
237
SELECT numeropost FROM t1 WHERE numreponse='1';
238
numeropost
239
1
240
drop table t1;
241
create table t1 (c varchar(30) character set utf8, t text character set utf8, unique (c(2)), unique (t(3))) engine=myisam;
242
show create table t1;
243
Table	Create Table
244
t1	CREATE TABLE `t1` (
245
  `c` varchar(30) CHARACTER SET utf8 DEFAULT NULL,
246
  `t` text CHARACTER SET utf8,
247
  UNIQUE KEY `c` (`c`(2)),
248
  UNIQUE KEY `t` (`t`(3))
249
) ENGINE=MyISAM DEFAULT CHARSET=latin1
250
insert t1 values ('cccc', 'tttt'),
251
(0xD0B1212223D0B1D0B1D0B1D0B1D0B1, 0xD0B1D0B1212223D0B1D0B1D0B1D0B1),
252
(0xD0B1222123D0B1D0B1D0B1D0B1D0B1, 0xD0B1D0B1222123D0B1D0B1D0B1D0B1);
253
insert t1 (c) values ('cc22');
254
ERROR 23000: Duplicate entry 'cc' for key 'c'
255
insert t1 (t) values ('ttt22');
256
ERROR 23000: Duplicate entry 'ttt' for key 't'
257
insert t1 (c) values (0xD0B1212322D0B1D0B1D0B1D0B1D0B1);
258
ERROR 23000: Duplicate entry 'б!' for key 'c'
259
insert t1 (t) values (0xD0B1D0B1212322D0B1D0B1D0B1D0B1);
260
ERROR 23000: Duplicate entry 'бб!' for key 't'
261
select c from t1 where c='cccc';
262
c
263
cccc
264
select t from t1 where t='tttt';
265
t
266
tttt
267
select c from t1 where c=0xD0B1212223D0B1D0B1D0B1D0B1D0B1;
268
c
269
?!"#?????
270
select t from t1 where t=0xD0B1D0B1212223D0B1D0B1D0B1D0B1;
271
t
272
??!"#????
273
drop table t1;
274
DROP TABLE IF EXISTS t1;
275
Warnings:
276
Note	1051	Unknown table 't1'
277
CREATE TABLE t1 (
278
c1 int,
279
c2 varbinary(240),
280
UNIQUE KEY (c1),
281
KEY (c2)
282
) ENGINE=MyISAM;
283
INSERT INTO t1 VALUES (1,'\Z\Z\Z\Z');
284
INSERT INTO t1 VALUES (2,'\Z\Z\Z\Z\Z\Z');
285
INSERT INTO t1 VALUES (3,'\Z\Z\Z\Z');
286
select c1 from t1 where c2='\Z\Z\Z\Z';
287
c1
288
1
289
3
290
DELETE FROM t1 WHERE (c1 = 1);
291
check table t1;
292
Table	Op	Msg_type	Msg_text
293
test.t1	check	status	OK
294
select c1 from t1 where c2='\Z\Z\Z\Z';
295
c1
296
3
297
DELETE FROM t1 WHERE (c1 = 3);
298
check table t1;
299
Table	Op	Msg_type	Msg_text
300
test.t1	check	status	OK
301
select c1 from t1 where c2='\Z\Z\Z\Z';
302
c1
303
truncate table t1;
304
insert into t1 values(1,"aaaa"),(2,"aaab"),(3,"aaac"),(4,"aaccc");
305
delete from t1 where c1=3;
306
delete from t1 where c1=1;
307
delete from t1 where c1=4;
308
check table t1;
309
Table	Op	Msg_type	Msg_text
310
test.t1	check	status	OK
311
drop table t1;
312
create table t1 (c char(10), index (c(0)));
313
ERROR HY000: Key part 'c' length cannot be 0
314
create table t1 (c char(10), index (c,c));
315
ERROR 42S21: Duplicate column name 'c'
316
create table t1 (c1 char(10), c2 char(10), index (c1,c2,c1));
317
ERROR 42S21: Duplicate column name 'c1'
318
create table t1 (c1 char(10), c2 char(10), index (c1,c1,c2));
319
ERROR 42S21: Duplicate column name 'c1'
320
create table t1 (c1 char(10), c2 char(10), index (c2,c1,c1));
321
ERROR 42S21: Duplicate column name 'c1'
322
create table t1 (c1 char(10), c2 char(10));
323
alter table t1 add key (c1,c1);
324
ERROR 42S21: Duplicate column name 'c1'
325
alter table t1 add key (c2,c1,c1);
326
ERROR 42S21: Duplicate column name 'c1'
327
alter table t1 add key (c1,c2,c1);
328
ERROR 42S21: Duplicate column name 'c1'
329
alter table t1 add key (c1,c1,c2);
330
ERROR 42S21: Duplicate column name 'c1'
331
drop table t1;
332
create table t1 (
333
i1 INT NOT NULL,
334
i2 INT NOT NULL,
335
UNIQUE i1idx (i1),
336
UNIQUE i2idx (i2));
337
desc t1;
338
Field	Type	Null	Key	Default	Extra
339
i1	int(11)	NO	PRI	NULL	
340
i2	int(11)	NO	UNI	NULL	
341
show create table t1;
342
Table	Create Table
343
t1	CREATE TABLE `t1` (
344
  `i1` int(11) NOT NULL,
345
  `i2` int(11) NOT NULL,
346
  UNIQUE KEY `i1idx` (`i1`),
347
  UNIQUE KEY `i2idx` (`i2`)
348
) ENGINE=MyISAM DEFAULT CHARSET=latin1
349
drop table t1;
350
create table t1 (
351
c1 int,
352
c2 varchar(20) not null,
353
primary key (c1),
354
key (c2(10))
355
) engine=myisam;
356
insert into t1 values (1,'');
357
insert into t1 values (2,' \t\tTest String');
358
insert into t1 values (3,' \n\tTest String');
359
update t1 set c2 = 'New Test String' where c1 = 1;
360
select * from t1;
361
c1	c2
362
1	New Test String
363
2	 		Test String
364
3	 
365
	Test String
366
drop table t1;
367
create table t1 (a varchar(10), b varchar(10), key(a(10),b(10)));
368
show create table t1;
369
Table	Create Table
370
t1	CREATE TABLE `t1` (
371
  `a` varchar(10) DEFAULT NULL,
372
  `b` varchar(10) DEFAULT NULL,
373
  KEY `a` (`a`,`b`)
374
) ENGINE=MyISAM DEFAULT CHARSET=latin1
375
alter table t1 modify b varchar(20);
376
show create table t1;
377
Table	Create Table
378
t1	CREATE TABLE `t1` (
379
  `a` varchar(10) DEFAULT NULL,
380
  `b` varchar(20) DEFAULT NULL,
381
  KEY `a` (`a`,`b`)
382
) ENGINE=MyISAM DEFAULT CHARSET=latin1
383
alter table t1 modify a varchar(20);
384
show create table t1;
385
Table	Create Table
386
t1	CREATE TABLE `t1` (
387
  `a` varchar(20) DEFAULT NULL,
388
  `b` varchar(20) DEFAULT NULL,
389
  KEY `a` (`a`,`b`)
390
) ENGINE=MyISAM DEFAULT CHARSET=latin1
391
drop table t1;
392
create table t1 (a int not null primary key, b varchar(20) not null unique);
393
desc t1;
394
Field	Type	Null	Key	Default	Extra
395
a	int(11)	NO	PRI	NULL	
396
b	varchar(20)	NO	UNI	NULL	
397
drop table t1;
398
create table t1 (a int not null primary key, b int not null unique);
399
desc t1;
400
Field	Type	Null	Key	Default	Extra
401
a	int(11)	NO	PRI	NULL	
402
b	int(11)	NO	UNI	NULL	
403
drop table t1;
404
create table t1 (a int not null primary key, b varchar(20) not null, unique (b(10)));
405
desc t1;
406
Field	Type	Null	Key	Default	Extra
407
a	int(11)	NO	PRI	NULL	
408
b	varchar(20)	NO	UNI	NULL	
409
drop table t1;
410
create table t1 (a int not null primary key, b varchar(20) not null, c varchar(20) not null, unique(b(10),c(10)));
411
desc t1;
412
Field	Type	Null	Key	Default	Extra
413
a	int(11)	NO	PRI	NULL	
414
b	varchar(20)	NO	MUL	NULL	
415
c	varchar(20)	NO		NULL	
416
drop table t1;
417
create table t1 (
418
c1 int,
419
c2 char(12),
420
c3 varchar(123),
421
c4 timestamp,
422
index (c1),
423
index i1 (c1),
424
index i2 (c2),
425
index i3 (c3),
426
unique i4 (c4),
427
index i5 (c1, c2, c3, c4),
428
primary key (c2, c3),
429
index (c2, c4));
430
show create table t1;
431
Table	Create Table
432
t1	CREATE TABLE `t1` (
433
  `c1` int(11) DEFAULT NULL,
434
  `c2` char(12) NOT NULL DEFAULT '',
435
  `c3` varchar(123) NOT NULL DEFAULT '',
436
  `c4` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
437
  PRIMARY KEY (`c2`,`c3`),
438
  UNIQUE KEY `i4` (`c4`),
439
  KEY `c1` (`c1`),
440
  KEY `i1` (`c1`),
441
  KEY `i2` (`c2`),
442
  KEY `i3` (`c3`),
443
  KEY `i5` (`c1`,`c2`,`c3`,`c4`),
444
  KEY `c2` (`c2`,`c4`)
445
) ENGINE=MyISAM DEFAULT CHARSET=latin1
446
alter table t1 drop index c1;
447
alter table t1 add index (c1);
448
alter table t1 add index (c1);
449
alter table t1 drop index i3;
450
alter table t1 add index i3 (c3);
451
alter table t1 drop index i2, drop index i4;
452
alter table t1 add index i2 (c2), add index i4 (c4);
453
alter table t1 drop index i2, drop index i4, add index i6 (c2, c4);
454
alter table t1 add index i2 (c2), add index i4 (c4), drop index i6;
455
alter table t1 drop index i2, drop index i4, add unique i4 (c4);
456
alter table t1 add index i2 (c2), drop index i4, add index i4 (c4);
457
alter table t1 drop index c2, add index (c2(4),c3(7));
458
alter table t1 drop index c2, add index (c2(4),c3(7));
459
alter table t1 add primary key (c1, c2), drop primary key;
460
alter table t1 drop primary key;
461
alter table t1 add primary key (c1, c2), drop primary key;
462
ERROR 42000: Can't DROP 'PRIMARY'; check that column/key exists
463
show create table t1;
464
Table	Create Table
465
t1	CREATE TABLE `t1` (
466
  `c1` int(11) NOT NULL DEFAULT '0',
467
  `c2` char(12) NOT NULL DEFAULT '',
468
  `c3` varchar(123) NOT NULL DEFAULT '',
469
  `c4` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
470
  KEY `i1` (`c1`),
471
  KEY `i5` (`c1`,`c2`,`c3`,`c4`),
472
  KEY `c1` (`c1`),
473
  KEY `c1_2` (`c1`),
474
  KEY `i3` (`c3`),
475
  KEY `i2` (`c2`),
476
  KEY `i4` (`c4`),
477
  KEY `c2` (`c2`(4),`c3`(7))
478
) ENGINE=MyISAM DEFAULT CHARSET=latin1
479
insert into t1 values(1, 'a', 'a', NULL);
480
insert into t1 values(1, 'b', 'b', NULL);
481
alter table t1 drop index i3, drop index i2, drop index i1;
482
alter table t1 add index i3 (c3), add index i2 (c2), add unique index i1 (c1);
483
ERROR 23000: Duplicate entry '1' for key 'i1'
484
drop table t1;
485
CREATE TABLE t1( a TINYINT, KEY(a) ) ENGINE=MyISAM;
486
INSERT INTO t1 VALUES( 1 );
487
ALTER TABLE t1 DISABLE KEYS;
488
EXPLAIN SELECT MAX(a) FROM t1 FORCE INDEX(a);
489
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
490
1	SIMPLE	t1	system	NULL	NULL	NULL	NULL	1	
491
drop table t1;
492
CREATE TABLE t1 (
493
a INTEGER auto_increment PRIMARY KEY,
494
b INTEGER NOT NULL,
495
c INTEGER NOT NULL,
496
d CHAR(64)
497
);
498
CREATE TABLE t2 (
499
a INTEGER auto_increment PRIMARY KEY,
500
b INTEGER NOT NULL,
501
c SMALLINT NOT NULL,
502
d DATETIME NOT NULL,
503
e SMALLINT NOT NULL,
504
f INTEGER NOT NULL,
505
g INTEGER NOT NULL,  
506
h SMALLINT NOT NULL,
507
i INTEGER NOT NULL,
508
j INTEGER NOT NULL,
509
UNIQUE INDEX (b),
510
INDEX (b, d, e, f, g, h, i, j, c),
511
INDEX (c)
512
);
513
INSERT INTO t2 VALUES 
514
(NULL, 1, 254, '1000-01-01 00:00:00', 257, 0, 0, 0, 0, 0),
515
(NULL, 2, 1, '2004-11-30 12:00:00', 1, 0, 0, 0, 0, 0),
516
(NULL, 3, 1, '2004-11-30 12:00:00', 1, 0, 0, 2, -21600, 0),
517
(NULL, 4, 1, '2004-11-30 12:00:00', 1, 0, 0, 2, -10800, 0),
518
(NULL, 5, 1, '2004-11-30 12:00:00', 1, 0, 0, 5, -10800, 0),
519
(NULL, 6, 1, '2004-11-30 12:00:00', 102, 0, 0, 0, 0, 0),
520
(NULL, 7, 1, '2004-11-30 12:00:00', 105, 2, 0, 0, 0, 0),
521
(NULL, 8, 1, '2004-11-30 12:00:00', 105, 10, 0, 0, 0, 0);
522
INSERT INTO t1 (b, c, d) VALUES
523
(3388000, -553000, NULL),
524
(3388000, -553000, NULL);
525
DROP TABLE t1, t2;
526
create table t1(a int not null, key aa(a), 
527
b char(10) not null, unique key bb(b(1)), 
528
c char(4) not null, unique key cc(c));
529
desc t1;
530
Field	Type	Null	Key	Default	Extra
531
a	int(11)	NO	MUL	NULL	
532
b	char(10)	NO	UNI	NULL	
533
c	char(4)	NO	PRI	NULL	
534
show create table t1;
535
Table	Create Table
536
t1	CREATE TABLE `t1` (
537
  `a` int(11) NOT NULL,
538
  `b` char(10) NOT NULL,
539
  `c` char(4) NOT NULL,
540
  UNIQUE KEY `cc` (`c`),
541
  UNIQUE KEY `bb` (`b`(1)),
542
  KEY `aa` (`a`)
543
) ENGINE=MyISAM DEFAULT CHARSET=latin1
544
drop table t1;
545
create table t1(a int not null, key aa(a), 
546
b char(10) not null, unique key bb(b(1)),
547
c char(4) not null);
548
desc t1;
549
Field	Type	Null	Key	Default	Extra
550
a	int(11)	NO	MUL	NULL	
551
b	char(10)	NO	UNI	NULL	
552
c	char(4)	NO		NULL	
553
alter table t1 add unique key cc(c);
554
desc t1;
555
Field	Type	Null	Key	Default	Extra
556
a	int(11)	NO	MUL	NULL	
557
b	char(10)	NO	UNI	NULL	
558
c	char(4)	NO	PRI	NULL	
559
show create table t1;
560
Table	Create Table
561
t1	CREATE TABLE `t1` (
562
  `a` int(11) NOT NULL,
563
  `b` char(10) NOT NULL,
564
  `c` char(4) NOT NULL,
565
  UNIQUE KEY `cc` (`c`),
566
  UNIQUE KEY `bb` (`b`(1)),
567
  KEY `aa` (`a`)
568
) ENGINE=MyISAM DEFAULT CHARSET=latin1
569
drop table t1;
570
End of 5.0 tests
571
DROP TABLE IF EXISTS t1;
572
CREATE TABLE t1 (a INT PRIMARY KEY AUTO_INCREMENT);
573
INSERT INTO t1 VALUES (), (), ();
574
SELECT 1 AS c1
575
FROM t1
576
ORDER BY (
577
SELECT 1 AS c2
578
FROM t1
579
GROUP BY GREATEST(LAST_INSERT_ID(), t1.a) ASC
580
LIMIT 1);
581
c1
582
1
583
1
584
1
585
DROP TABLE t1;
586
CREATE TABLE t1 (a INT, b INT, INDEX (a,b));
587
INSERT INTO t1 (a, b)
588
VALUES
589
(1,1), (1,2), (1,3), (1,4), (1,5),
590
(2,2), (2,3), (2,1), (3,1), (4,1), (4,2), (4,3), (4,4), (4,5), (4,6);
591
EXPLAIN SELECT 1 FROM t1 AS t1_outer WHERE 
592
(SELECT max(b) FROM t1 GROUP BY a HAVING a < 2) > 12;
593
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
594
1	PRIMARY	NULL	NULL	NULL	NULL	NULL	NULL	NULL	Impossible WHERE
595
2	SUBQUERY	t1	range	NULL	a	5	NULL	8	Using index for group-by
596
SELECT 1 as RES FROM t1 AS t1_outer WHERE 
597
(SELECT max(b) FROM t1 GROUP BY a HAVING a < 2) > 12;
598
RES
599
DROP TABLE t1;