mySQL 5.0.11 sources for tomato
[tomato.git] / release / src / router / mysql / mysql-test / suite / innodb / r / innodb.result
blobfd311de001c5d01f02a7e3047191c12bc0940720
1 drop table if exists t1,t2,t3,t4;
2 drop database if exists mysqltest;
3 create table t1 (id int unsigned not null auto_increment, code tinyint unsigned not null, name char(20) not null, primary key (id), key (code), unique (name)) engine=innodb;
4 insert into t1 (code, name) values (1, 'Tim'), (1, 'Monty'), (2, 'David'), (2, 'Erik'), (3, 'Sasha'), (3, 'Jeremy'), (4, 'Matt');
5 select id, code, name from t1 order by id;
6 id      code    name
7 1       1       Tim
8 2       1       Monty
9 3       2       David
10 4       2       Erik
11 5       3       Sasha
12 6       3       Jeremy
13 7       4       Matt
14 update ignore t1 set id = 8, name = 'Sinisa' where id < 3;
15 select id, code, name from t1 order by id;
16 id      code    name
17 2       1       Monty
18 3       2       David
19 4       2       Erik
20 5       3       Sasha
21 6       3       Jeremy
22 7       4       Matt
23 8       1       Sinisa
24 update ignore t1 set id = id + 10, name = 'Ralph' where id < 4;
25 select id, code, name from t1 order by id;
26 id      code    name
27 3       2       David
28 4       2       Erik
29 5       3       Sasha
30 6       3       Jeremy
31 7       4       Matt
32 8       1       Sinisa
33 12      1       Ralph
34 drop table t1;
35 CREATE TABLE t1 (
36 id int(11) NOT NULL auto_increment,
37 parent_id int(11) DEFAULT '0' NOT NULL,
38 level tinyint(4) DEFAULT '0' NOT NULL,
39 PRIMARY KEY (id),
40 KEY parent_id (parent_id),
41 KEY level (level)
42 ) engine=innodb;
43 INSERT INTO t1 VALUES (1,0,0),(3,1,1),(4,1,1),(8,2,2),(9,2,2),(17,3,2),(22,4,2),(24,4,2),(28,5,2),(29,5,2),(30,5,2),(31,6,2),(32,6,2),(33,6,2),(203,7,2),(202,7,2),(20,3,2),(157,0,0),(193,5,2),(40,7,2),(2,1,1),(15,2,2),(6,1,1),(34,6,2),(35,6,2),(16,3,2),(7,1,1),(36,7,2),(18,3,2),(26,5,2),(27,5,2),(183,4,2),(38,7,2),(25,5,2),(37,7,2),(21,4,2),(19,3,2),(5,1,1),(179,5,2);
44 update t1 set parent_id=parent_id+100;
45 select * from t1 where parent_id=102;
46 id      parent_id       level
47 8       102     2
48 9       102     2
49 15      102     2
50 update t1 set id=id+1000;
51 update t1 set id=1024 where id=1009;
52 Got one of the listed errors
53 select * from t1;
54 id      parent_id       level
55 1001    100     0
56 1002    101     1
57 1003    101     1
58 1004    101     1
59 1005    101     1
60 1006    101     1
61 1007    101     1
62 1008    102     2
63 1009    102     2
64 1015    102     2
65 1016    103     2
66 1017    103     2
67 1018    103     2
68 1019    103     2
69 1020    103     2
70 1021    104     2
71 1022    104     2
72 1024    104     2
73 1025    105     2
74 1026    105     2
75 1027    105     2
76 1028    105     2
77 1029    105     2
78 1030    105     2
79 1031    106     2
80 1032    106     2
81 1033    106     2
82 1034    106     2
83 1035    106     2
84 1036    107     2
85 1037    107     2
86 1038    107     2
87 1040    107     2
88 1157    100     0
89 1179    105     2
90 1183    104     2
91 1193    105     2
92 1202    107     2
93 1203    107     2
94 update ignore t1 set id=id+1;
95 select * from t1;
96 id      parent_id       level
97 1001    100     0
98 1002    101     1
99 1003    101     1
100 1004    101     1
101 1005    101     1
102 1006    101     1
103 1007    101     1
104 1008    102     2
105 1010    102     2
106 1015    102     2
107 1016    103     2
108 1017    103     2
109 1018    103     2
110 1019    103     2
111 1020    103     2
112 1021    104     2
113 1023    104     2
114 1024    104     2
115 1025    105     2
116 1026    105     2
117 1027    105     2
118 1028    105     2
119 1029    105     2
120 1030    105     2
121 1031    106     2
122 1032    106     2
123 1033    106     2
124 1034    106     2
125 1035    106     2
126 1036    107     2
127 1037    107     2
128 1039    107     2
129 1041    107     2
130 1158    100     0
131 1180    105     2
132 1184    104     2
133 1194    105     2
134 1202    107     2
135 1204    107     2
136 update ignore t1 set id=1023 where id=1010;
137 select * from t1 where parent_id=102;
138 id      parent_id       level
139 1008    102     2
140 1010    102     2
141 1015    102     2
142 explain select level from t1 where level=1;
143 id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
144 1       SIMPLE  t1      ref     level   level   1       const   #       Using index
145 explain select level,id from t1 where level=1;
146 id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
147 1       SIMPLE  t1      ref     level   level   1       const   #       Using index
148 explain select level,id,parent_id from t1 where level=1;
149 id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
150 1       SIMPLE  t1      ref     level   level   1       const   #       
151 select level,id from t1 where level=1;
152 level   id
153 1       1002
154 1       1003
155 1       1004
156 1       1005
157 1       1006
158 1       1007
159 select level,id,parent_id from t1 where level=1;
160 level   id      parent_id
161 1       1002    101
162 1       1003    101
163 1       1004    101
164 1       1005    101
165 1       1006    101
166 1       1007    101
167 optimize table t1;
168 Table   Op      Msg_type        Msg_text
169 test.t1 optimize        note    Table does not support optimize, doing recreate + analyze instead
170 test.t1 optimize        status  OK
171 show keys from t1;
172 Table   Non_unique      Key_name        Seq_in_index    Column_name     Collation       Cardinality     Sub_part        Packed  Null    Index_type      Comment
173 t1      0       PRIMARY 1       id      A       #       NULL    NULL            BTREE   
174 t1      1       parent_id       1       parent_id       A       #       NULL    NULL            BTREE   
175 t1      1       level   1       level   A       #       NULL    NULL            BTREE   
176 drop table t1;
177 CREATE TABLE t1 (
178 gesuchnr int(11) DEFAULT '0' NOT NULL,
179 benutzer_id int(11) DEFAULT '0' NOT NULL,
180 PRIMARY KEY (gesuchnr,benutzer_id)
181 ) engine=innodb;
182 replace into t1 (gesuchnr,benutzer_id) values (2,1);
183 replace into t1 (gesuchnr,benutzer_id) values (1,1);
184 replace into t1 (gesuchnr,benutzer_id) values (1,1);
185 select * from t1;
186 gesuchnr        benutzer_id
187 1       1
188 2       1
189 drop table t1;
190 create table t1 (a int) engine=innodb;
191 insert into t1 values (1), (2);
192 optimize table t1;
193 Table   Op      Msg_type        Msg_text
194 test.t1 optimize        note    Table does not support optimize, doing recreate + analyze instead
195 test.t1 optimize        status  OK
196 delete from t1 where a = 1;
197 select * from t1;
200 check table t1;
201 Table   Op      Msg_type        Msg_text
202 test.t1 check   status  OK
203 drop table t1;
204 create table t1 (a int,b varchar(20)) engine=innodb;
205 insert into t1 values (1,""), (2,"testing");
206 delete from t1 where a = 1;
207 select * from t1;
208 a       b
209 2       testing
210 create index skr on t1 (a);
211 insert into t1 values (3,""), (4,"testing");
212 analyze table t1;
213 Table   Op      Msg_type        Msg_text
214 test.t1 analyze status  OK
215 show keys from t1;
216 Table   Non_unique      Key_name        Seq_in_index    Column_name     Collation       Cardinality     Sub_part        Packed  Null    Index_type      Comment
217 t1      1       skr     1       a       A       #       NULL    NULL    YES     BTREE   
218 drop table t1;
219 create table t1 (a int,b varchar(20),key(a)) engine=innodb;
220 insert into t1 values (1,""), (2,"testing");
221 select * from t1 where a = 1;
222 a       b
223 1       
224 drop table t1;
225 create table t1 (n int not null primary key) engine=innodb;
226 set autocommit=0;
227 insert into t1 values (4);
228 rollback;
229 select n, "after rollback" from t1;
230 n       after rollback
231 insert into t1 values (4);
232 commit;
233 select n, "after commit" from t1;
234 n       after commit
235 4       after commit
236 commit;
237 insert into t1 values (5);
238 insert into t1 values (4);
239 ERROR 23000: Duplicate entry '4' for key 'PRIMARY'
240 commit;
241 select n, "after commit" from t1;
242 n       after commit
243 4       after commit
244 5       after commit
245 set autocommit=1;
246 insert into t1 values (6);
247 insert into t1 values (4);
248 ERROR 23000: Duplicate entry '4' for key 'PRIMARY'
249 select n from t1;
254 set autocommit=0;
255 begin;
256 savepoint `my_savepoint`;
257 insert into t1 values (7);
258 savepoint `savept2`;
259 insert into t1 values (3);
260 select n from t1;
267 savepoint savept3;
268 rollback to savepoint savept2;
269 rollback to savepoint savept3;
270 ERROR 42000: SAVEPOINT savept3 does not exist
271 rollback to savepoint savept2;
272 release savepoint `my_savepoint`;
273 select n from t1;
279 rollback to savepoint `my_savepoint`;
280 ERROR 42000: SAVEPOINT my_savepoint does not exist
281 rollback to savepoint savept2;
282 ERROR 42000: SAVEPOINT savept2 does not exist
283 insert into t1 values (8);
284 savepoint sv;
285 commit;
286 savepoint sv;
287 set autocommit=1;
288 rollback;
289 drop table t1;
290 create table t1 (n int not null primary key) engine=innodb;
291 start transaction;
292 insert into t1 values (4);
293 flush tables with read lock;
294 commit;
295 unlock tables;
296 commit;
297 select * from t1;
300 drop table t1;
301 create table t1 ( id int NOT NULL PRIMARY KEY, nom varchar(64)) engine=innodb;
302 begin;
303 insert into t1 values(1,'hamdouni');
304 select id as afterbegin_id,nom as afterbegin_nom from t1;
305 afterbegin_id   afterbegin_nom
306 1       hamdouni
307 rollback;
308 select id as afterrollback_id,nom as afterrollback_nom from t1;
309 afterrollback_id        afterrollback_nom
310 set autocommit=0;
311 insert into t1 values(2,'mysql');
312 select id as afterautocommit0_id,nom as afterautocommit0_nom from t1;
313 afterautocommit0_id     afterautocommit0_nom
314 2       mysql
315 rollback;
316 select id as afterrollback_id,nom as afterrollback_nom from t1;
317 afterrollback_id        afterrollback_nom
318 set autocommit=1;
319 drop table t1;
320 CREATE TABLE t1 (id char(8) not null primary key, val int not null) engine=innodb;
321 insert into t1 values ('pippo', 12);
322 insert into t1 values ('pippo', 12);
323 ERROR 23000: Duplicate entry 'pippo' for key 'PRIMARY'
324 delete from t1;
325 delete from t1 where id = 'pippo';
326 select * from t1;
327 id      val
328 insert into t1 values ('pippo', 12);
329 set autocommit=0;
330 delete from t1;
331 rollback;
332 select * from t1;
333 id      val
334 pippo   12
335 delete from t1;
336 commit;
337 select * from t1;
338 id      val
339 drop table t1;
340 create table t1 (a integer) engine=innodb;
341 start transaction;
342 rename table t1 to t2;
343 create table t1 (b integer) engine=innodb;
344 insert into t1 values (1);
345 rollback;
346 drop table t1;
347 rename table t2 to t1;
348 drop table t1;
349 set autocommit=1;
350 CREATE TABLE t1 (ID INTEGER NOT NULL PRIMARY KEY, NAME VARCHAR(64)) ENGINE=innodb;
351 INSERT INTO t1 VALUES (1, 'Jochen');
352 select * from t1;
353 ID      NAME
354 1       Jochen
355 drop table t1;
356 CREATE TABLE t1 ( _userid VARCHAR(60) NOT NULL PRIMARY KEY) ENGINE=innodb;
357 set autocommit=0;
358 INSERT INTO t1  SET _userid='marc@anyware.co.uk';
359 COMMIT;
360 SELECT * FROM t1;
361 _userid
362 marc@anyware.co.uk
363 SELECT _userid FROM t1 WHERE _userid='marc@anyware.co.uk';
364 _userid
365 marc@anyware.co.uk
366 drop table t1;
367 set autocommit=1;
368 CREATE TABLE t1 (
369 user_id int(10) DEFAULT '0' NOT NULL,
370 name varchar(100),
371 phone varchar(100),
372 ref_email varchar(100) DEFAULT '' NOT NULL,
373 detail varchar(200),
374 PRIMARY KEY (user_id,ref_email)
375 )engine=innodb;
376 INSERT INTO t1 VALUES (10292,'sanjeev','29153373','sansh777@hotmail.com','xxx'),(10292,'shirish','2333604','shirish@yahoo.com','ddsds'),(10292,'sonali','323232','sonali@bolly.com','filmstar');
377 select * from t1 where user_id=10292;
378 user_id name    phone   ref_email       detail
379 10292   sanjeev 29153373        sansh777@hotmail.com    xxx
380 10292   shirish 2333604 shirish@yahoo.com       ddsds
381 10292   sonali  323232  sonali@bolly.com        filmstar
382 INSERT INTO t1 VALUES (10291,'sanjeev','29153373','sansh777@hotmail.com','xxx'),(10293,'shirish','2333604','shirish@yahoo.com','ddsds');
383 select * from t1 where user_id=10292;
384 user_id name    phone   ref_email       detail
385 10292   sanjeev 29153373        sansh777@hotmail.com    xxx
386 10292   shirish 2333604 shirish@yahoo.com       ddsds
387 10292   sonali  323232  sonali@bolly.com        filmstar
388 select * from t1 where user_id>=10292;
389 user_id name    phone   ref_email       detail
390 10292   sanjeev 29153373        sansh777@hotmail.com    xxx
391 10292   shirish 2333604 shirish@yahoo.com       ddsds
392 10292   sonali  323232  sonali@bolly.com        filmstar
393 10293   shirish 2333604 shirish@yahoo.com       ddsds
394 select * from t1 where user_id>10292;
395 user_id name    phone   ref_email       detail
396 10293   shirish 2333604 shirish@yahoo.com       ddsds
397 select * from t1 where user_id<10292;
398 user_id name    phone   ref_email       detail
399 10291   sanjeev 29153373        sansh777@hotmail.com    xxx
400 drop table t1;
401 CREATE TABLE t1 (a int not null, b int not null,c int not null,
402 key(a),primary key(a,b), unique(c),key(a),unique(b));
403 show index from t1;
404 Table   Non_unique      Key_name        Seq_in_index    Column_name     Collation       Cardinality     Sub_part        Packed  Null    Index_type      Comment
405 t1      0       PRIMARY 1       a       A       #       NULL    NULL            BTREE   
406 t1      0       PRIMARY 2       b       A       #       NULL    NULL            BTREE   
407 t1      0       c       1       c       A       #       NULL    NULL            BTREE   
408 t1      0       b       1       b       A       #       NULL    NULL            BTREE   
409 t1      1       a       1       a       A       #       NULL    NULL            BTREE   
410 t1      1       a_2     1       a       A       #       NULL    NULL            BTREE   
411 drop table t1;
412 create table t1 (col1 int not null, col2 char(4) not null, primary key(col1));
413 alter table t1 engine=innodb;
414 insert into t1 values ('1','1'),('5','2'),('2','3'),('3','4'),('4','4');
415 select * from t1;
416 col1    col2
417 1       1
418 2       3
419 3       4
420 4       4
421 5       2
422 update t1 set col2='7' where col1='4';
423 select * from t1;
424 col1    col2
425 1       1
426 2       3
427 3       4
428 4       7
429 5       2
430 alter table t1 add co3 int not null;
431 select * from t1;
432 col1    col2    co3
433 1       1       0
434 2       3       0
435 3       4       0
436 4       7       0
437 5       2       0
438 update t1 set col2='9' where col1='2';
439 select * from t1;
440 col1    col2    co3
441 1       1       0
442 2       9       0
443 3       4       0
444 4       7       0
445 5       2       0
446 drop table t1;
447 create table t1 (a int not null , b int, primary key (a)) engine = innodb;
448 create table t2 (a int not null , b int, primary key (a)) engine = myisam;
449 insert into t1 VALUES (1,3) , (2,3), (3,3);
450 select * from t1;
451 a       b
452 1       3
453 2       3
454 3       3
455 insert into t2 select * from t1;
456 select * from t2;
457 a       b
458 1       3
459 2       3
460 3       3
461 delete from t1 where b = 3;
462 select * from t1;
463 a       b
464 insert into t1 select * from t2;
465 select * from t1;
466 a       b
467 1       3
468 2       3
469 3       3
470 select * from t2;
471 a       b
472 1       3
473 2       3
474 3       3
475 drop table t1,t2;
476 CREATE TABLE t1 (
477 user_name varchar(12),
478 password text,
479 subscribed char(1),
480 user_id int(11) DEFAULT '0' NOT NULL,
481 quota bigint(20),
482 weight double,
483 access_date date,
484 access_time time,
485 approved datetime,
486 dummy_primary_key int(11) NOT NULL auto_increment,
487 PRIMARY KEY (dummy_primary_key)
488 ) ENGINE=innodb;
489 INSERT INTO t1 VALUES ('user_0','somepassword','N',0,0,0,'2000-09-07','23:06:59','2000-09-07 23:06:59',1);
490 INSERT INTO t1 VALUES ('user_1','somepassword','Y',1,1,1,'2000-09-07','23:06:59','2000-09-07 23:06:59',2);
491 INSERT INTO t1 VALUES ('user_2','somepassword','N',2,2,1.4142135623731,'2000-09-07','23:06:59','2000-09-07 23:06:59',3);
492 INSERT INTO t1 VALUES ('user_3','somepassword','Y',3,3,1.7320508075689,'2000-09-07','23:06:59','2000-09-07 23:06:59',4);
493 INSERT INTO t1 VALUES ('user_4','somepassword','N',4,4,2,'2000-09-07','23:06:59','2000-09-07 23:06:59',5);
494 select  user_name, password , subscribed, user_id, quota, weight, access_date, access_time, approved, dummy_primary_key from t1 order by user_name;
495 user_name       password        subscribed      user_id quota   weight  access_date     access_time     approved        dummy_primary_key
496 user_0  somepassword    N       0       0       0       2000-09-07      23:06:59        2000-09-07 23:06:59     1
497 user_1  somepassword    Y       1       1       1       2000-09-07      23:06:59        2000-09-07 23:06:59     2
498 user_2  somepassword    N       2       2       1.4142135623731 2000-09-07      23:06:59        2000-09-07 23:06:59     3
499 user_3  somepassword    Y       3       3       1.7320508075689 2000-09-07      23:06:59        2000-09-07 23:06:59     4
500 user_4  somepassword    N       4       4       2       2000-09-07      23:06:59        2000-09-07 23:06:59     5
501 drop table t1;
502 CREATE TABLE t1 (
503 id int(11) NOT NULL auto_increment,
504 parent_id int(11) DEFAULT '0' NOT NULL,
505 level tinyint(4) DEFAULT '0' NOT NULL,
506 KEY (id),
507 KEY parent_id (parent_id),
508 KEY level (level)
509 ) engine=innodb;
510 INSERT INTO t1 VALUES (1,0,0),(3,1,1),(4,1,1),(8,2,2),(9,2,2),(17,3,2),(22,4,2),(24,4,2),(28,5,2),(29,5,2),(30,5,2),(31,6,2),(32,6,2),(33,6,2),(203,7,2),(202,7,2),(20,3,2),(157,0,0),(193,5,2),(40,7,2),(2,1,1),(15,2,2),(6,1,1),(34,6,2),(35,6,2),(16,3,2),(7,1,1),(36,7,2),(18,3,2),(26,5,2),(27,5,2),(183,4,2),(38,7,2),(25,5,2),(37,7,2),(21,4,2),(19,3,2),(5,1,1);
511 INSERT INTO t1 values (179,5,2);
512 update t1 set parent_id=parent_id+100;
513 select * from t1 where parent_id=102;
514 id      parent_id       level
515 8       102     2
516 9       102     2
517 15      102     2
518 update t1 set id=id+1000;
519 update t1 set id=1024 where id=1009;
520 select * from t1;
521 id      parent_id       level
522 1001    100     0
523 1003    101     1
524 1004    101     1
525 1008    102     2
526 1024    102     2
527 1017    103     2
528 1022    104     2
529 1024    104     2
530 1028    105     2
531 1029    105     2
532 1030    105     2
533 1031    106     2
534 1032    106     2
535 1033    106     2
536 1203    107     2
537 1202    107     2
538 1020    103     2
539 1157    100     0
540 1193    105     2
541 1040    107     2
542 1002    101     1
543 1015    102     2
544 1006    101     1
545 1034    106     2
546 1035    106     2
547 1016    103     2
548 1007    101     1
549 1036    107     2
550 1018    103     2
551 1026    105     2
552 1027    105     2
553 1183    104     2
554 1038    107     2
555 1025    105     2
556 1037    107     2
557 1021    104     2
558 1019    103     2
559 1005    101     1
560 1179    105     2
561 update ignore t1 set id=id+1;
562 select * from t1;
563 id      parent_id       level
564 1002    100     0
565 1004    101     1
566 1005    101     1
567 1009    102     2
568 1025    102     2
569 1018    103     2
570 1023    104     2
571 1025    104     2
572 1029    105     2
573 1030    105     2
574 1031    105     2
575 1032    106     2
576 1033    106     2
577 1034    106     2
578 1204    107     2
579 1203    107     2
580 1021    103     2
581 1158    100     0
582 1194    105     2
583 1041    107     2
584 1003    101     1
585 1016    102     2
586 1007    101     1
587 1035    106     2
588 1036    106     2
589 1017    103     2
590 1008    101     1
591 1037    107     2
592 1019    103     2
593 1027    105     2
594 1028    105     2
595 1184    104     2
596 1039    107     2
597 1026    105     2
598 1038    107     2
599 1022    104     2
600 1020    103     2
601 1006    101     1
602 1180    105     2
603 update ignore t1 set id=1023 where id=1010;
604 select * from t1 where parent_id=102;
605 id      parent_id       level
606 1009    102     2
607 1025    102     2
608 1016    102     2
609 explain select level from t1 where level=1;
610 id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
611 1       SIMPLE  t1      ref     level   level   1       const   #       Using index
612 select level,id from t1 where level=1;
613 level   id
614 1       1004
615 1       1005
616 1       1003
617 1       1007
618 1       1008
619 1       1006
620 select level,id,parent_id from t1 where level=1;
621 level   id      parent_id
622 1       1004    101
623 1       1005    101
624 1       1003    101
625 1       1007    101
626 1       1008    101
627 1       1006    101
628 select level,id from t1 where level=1 order by id;
629 level   id
630 1       1003
631 1       1004
632 1       1005
633 1       1006
634 1       1007
635 1       1008
636 delete from t1 where level=1;
637 select * from t1;
638 id      parent_id       level
639 1002    100     0
640 1009    102     2
641 1025    102     2
642 1018    103     2
643 1023    104     2
644 1025    104     2
645 1029    105     2
646 1030    105     2
647 1031    105     2
648 1032    106     2
649 1033    106     2
650 1034    106     2
651 1204    107     2
652 1203    107     2
653 1021    103     2
654 1158    100     0
655 1194    105     2
656 1041    107     2
657 1016    102     2
658 1035    106     2
659 1036    106     2
660 1017    103     2
661 1037    107     2
662 1019    103     2
663 1027    105     2
664 1028    105     2
665 1184    104     2
666 1039    107     2
667 1026    105     2
668 1038    107     2
669 1022    104     2
670 1020    103     2
671 1180    105     2
672 drop table t1;
673 CREATE TABLE t1 (
674 sca_code char(6) NOT NULL,
675 cat_code char(6) NOT NULL,
676 sca_desc varchar(50),
677 lan_code char(2) NOT NULL,
678 sca_pic varchar(100),
679 sca_sdesc varchar(50),
680 sca_sch_desc varchar(16),
681 PRIMARY KEY (sca_code, cat_code, lan_code),
682 INDEX sca_pic (sca_pic)
683 ) engine = innodb ;
684 INSERT INTO t1 ( sca_code, cat_code, sca_desc, lan_code, sca_pic, sca_sdesc, sca_sch_desc) VALUES ( 'PD', 'J', 'PENDANT', 'EN', NULL, NULL, 'PENDANT'),( 'RI', 'J', 'RING', 'EN', NULL, NULL, 'RING'),( 'QQ', 'N', 'RING', 'EN', 'not null', NULL, 'RING');
685 select count(*) from t1 where sca_code = 'PD';
686 count(*)
688 select count(*) from t1 where sca_code <= 'PD';
689 count(*)
691 select count(*) from t1 where sca_pic is null;
692 count(*)
694 alter table t1 drop index sca_pic, add index sca_pic (cat_code, sca_pic);
695 select count(*) from t1 where sca_code='PD' and sca_pic is null;
696 count(*)
698 select count(*) from t1 where cat_code='E';
699 count(*)
701 alter table t1 drop index sca_pic, add index (sca_pic, cat_code);
702 select count(*) from t1 where sca_code='PD' and sca_pic is null;
703 count(*)
705 select count(*) from t1 where sca_pic >= 'n';
706 count(*)
708 select sca_pic from t1 where sca_pic is null;
709 sca_pic
710 NULL
711 NULL
712 update t1 set sca_pic="test" where sca_pic is null;
713 delete from t1 where sca_code='pd';
714 drop table t1;
715 set @a:=now();
716 CREATE TABLE t1 (a int not null, b timestamp not null, primary key (a)) engine=innodb;
717 insert into t1 (a) values(1),(2),(3);
718 select t1.a from t1 natural join t1 as t2 where t1.b >= @a order by t1.a;
723 select a from t1 natural join t1 as t2 where b >= @a order by a;
728 update t1 set a=5 where a=1;
729 select a from t1;
734 drop table t1;
735 create table t1 (a varchar(100) not null, primary key(a), b int not null) engine=innodb;
736 insert into t1 values("hello",1),("world",2);
737 select * from t1 order by b desc;
738 a       b
739 world   2
740 hello   1
741 optimize table t1;
742 Table   Op      Msg_type        Msg_text
743 test.t1 optimize        note    Table does not support optimize, doing recreate + analyze instead
744 test.t1 optimize        status  OK
745 show keys from t1;
746 Table   Non_unique      Key_name        Seq_in_index    Column_name     Collation       Cardinality     Sub_part        Packed  Null    Index_type      Comment
747 t1      0       PRIMARY 1       a       A       #       NULL    NULL            BTREE   
748 drop table t1;
749 create table t1 (i int, j int ) ENGINE=innodb;
750 insert into t1 values (1,2);
751 select * from t1 where i=1 and j=2;
752 i       j
753 1       2
754 create index ax1 on t1 (i,j);
755 select * from t1 where i=1 and j=2;
756 i       j
757 1       2
758 drop table t1;
759 CREATE TABLE t1 (
760 a int3 unsigned NOT NULL,
761 b int1 unsigned NOT NULL,
762 UNIQUE (a, b)
763 ) ENGINE = innodb;
764 INSERT INTO t1 VALUES (1, 1);
765 SELECT MIN(B),MAX(b) FROM t1 WHERE t1.a = 1;
766 MIN(B)  MAX(b)
767 1       1
768 drop table t1;
769 CREATE TABLE t1 (a int unsigned NOT NULL) engine=innodb;
770 INSERT INTO t1 VALUES (1);
771 SELECT * FROM t1;
774 DROP TABLE t1;
775 create table t1 (a int  primary key,b int, c int, d int, e int, f int, g int, h int, i int, j int, k int, l int, m int, n int, o int, p int, q int, r int, s int, t int, u int, v int, w int, x int, y int, z int, a1 int, a2 int, a3 int, a4 int, a5 int, a6 int, a7 int, a8 int, a9 int, b1 int, b2 int, b3 int, b4 int, b5 int, b6 int) engine = innodb;
776 insert into t1 values (1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1);
777 explain select * from t1 where a > 0 and a < 50;
778 id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
779 1       SIMPLE  t1      range   PRIMARY PRIMARY 4       NULL    #       Using where
780 drop table t1;
781 create table t1 (id int NOT NULL,id2 int NOT NULL,id3 int NOT NULL,dummy1 char(30),primary key (id,id2),index index_id3 (id3)) engine=innodb;
782 insert into t1 values (0,0,0,'ABCDEFGHIJ'),(2,2,2,'BCDEFGHIJK'),(1,1,1,'CDEFGHIJKL');
783 LOCK TABLES t1 WRITE;
784 insert into t1 values (99,1,2,'D'),(1,1,2,'D');
785 ERROR 23000: Duplicate entry '1-1' for key 'PRIMARY'
786 select id from t1;
791 select id from t1;
796 UNLOCK TABLES;
797 DROP TABLE t1;
798 create table t1 (id int NOT NULL,id2 int NOT NULL,id3 int NOT NULL,dummy1 char(30),primary key (id,id2),index index_id3 (id3)) engine=innodb;
799 insert into t1 values (0,0,0,'ABCDEFGHIJ'),(2,2,2,'BCDEFGHIJK'),(1,1,1,'CDEFGHIJKL');
800 LOCK TABLES t1 WRITE;
801 begin;
802 insert into t1 values (99,1,2,'D'),(1,1,2,'D');
803 ERROR 23000: Duplicate entry '1-1' for key 'PRIMARY'
804 select id from t1;
809 insert ignore into t1 values (100,1,2,'D'),(1,1,99,'D');
810 commit;
811 select id,id3 from t1;
812 id      id3
813 0       0
814 1       1
815 2       2
816 100     2
817 UNLOCK TABLES;
818 DROP TABLE t1;
819 create table t1 (a char(20), unique (a(5))) engine=innodb;
820 drop table t1;
821 create table t1 (a char(20), index (a(5))) engine=innodb;
822 show create table t1;
823 Table   Create Table
824 t1      CREATE TABLE `t1` (
825   `a` char(20) DEFAULT NULL,
826   KEY `a` (`a`(5))
827 ) ENGINE=InnoDB DEFAULT CHARSET=latin1
828 drop table t1;
829 create temporary table t1 (a int not null auto_increment, primary key(a)) engine=innodb;
830 insert into t1 values (NULL),(NULL),(NULL);
831 delete from t1 where a=3;
832 insert into t1 values (NULL);
833 select * from t1;
838 alter table t1 add b int;
839 select * from t1;
840 a       b
841 1       NULL
842 2       NULL
843 4       NULL
844 drop table t1;
845 create table t1
847 id int auto_increment primary key,
848 name varchar(32) not null,
849 value text not null,
850 uid int not null,
851 unique key(name,uid)
852 ) engine=innodb;
853 insert into t1 values (1,'one','one value',101),
854 (2,'two','two value',102),(3,'three','three value',103);
855 set insert_id=5;
856 replace into t1 (value,name,uid) values ('other value','two',102);
857 delete from t1 where uid=102;
858 set insert_id=5;
859 replace into t1 (value,name,uid) values ('other value','two',102);
860 set insert_id=6;
861 replace into t1 (value,name,uid) values ('other value','two',102);
862 select * from t1;
863 id      name    value   uid
864 1       one     one value       101
865 3       three   three value     103
866 6       two     other value     102
867 drop table t1;
868 create database mysqltest;
869 create table mysqltest.t1 (a int not null) engine= innodb;
870 insert into mysqltest.t1 values(1);
871 create table mysqltest.t2 (a int not null) engine= myisam;
872 insert into mysqltest.t2 values(1);
873 create table mysqltest.t3 (a int not null) engine= heap;
874 insert into mysqltest.t3 values(1);
875 commit;
876 drop database mysqltest;
877 show tables from mysqltest;
878 ERROR 42000: Unknown database 'mysqltest'
879 set autocommit=0;
880 create table t1 (a int not null) engine= innodb;
881 insert into t1 values(1),(2);
882 truncate table t1;
883 commit;
884 truncate table t1;
885 truncate table t1;
886 select * from t1;
888 insert into t1 values(1),(2);
889 delete from t1;
890 select * from t1;
892 commit;
893 drop table t1;
894 set autocommit=1;
895 create table t1 (a int not null) engine= innodb;
896 insert into t1 values(1),(2);
897 truncate table t1;
898 insert into t1 values(1),(2);
899 select * from t1;
903 truncate table t1;
904 insert into t1 values(1),(2);
905 delete from t1;
906 select * from t1;
908 drop table t1;
909 create table t1 (a int not null, b int not null, c int not null, primary key (a),key(b)) engine=innodb;
910 insert into t1 values (3,3,3),(1,1,1),(2,2,2),(4,4,4);
911 explain select * from t1 order by a;
912 id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
913 1       SIMPLE  t1      index   NULL    PRIMARY 4       NULL    #       
914 explain select * from t1 order by b;
915 id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
916 1       SIMPLE  t1      ALL     NULL    NULL    NULL    NULL    #       Using filesort
917 explain select * from t1 order by c;
918 id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
919 1       SIMPLE  t1      ALL     NULL    NULL    NULL    NULL    #       Using filesort
920 explain select a from t1 order by a;
921 id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
922 1       SIMPLE  t1      index   NULL    PRIMARY 4       NULL    #       Using index
923 explain select b from t1 order by b;
924 id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
925 1       SIMPLE  t1      index   NULL    b       4       NULL    #       Using index
926 explain select a,b from t1 order by b;
927 id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
928 1       SIMPLE  t1      index   NULL    b       4       NULL    #       Using index
929 explain select a,b from t1;
930 id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
931 1       SIMPLE  t1      index   NULL    b       4       NULL    #       Using index
932 explain select a,b,c from t1;
933 id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
934 1       SIMPLE  t1      ALL     NULL    NULL    NULL    NULL    #       
935 drop table t1;
936 create table t1 (t int not null default 1, key (t)) engine=innodb;
937 desc t1;
938 Field   Type    Null    Key     Default Extra
939 t       int(11) NO      MUL     1       
940 drop table t1;
941 CREATE TABLE t1 (
942 number bigint(20) NOT NULL default '0',
943 cname char(15) NOT NULL default '',
944 carrier_id smallint(6) NOT NULL default '0',
945 privacy tinyint(4) NOT NULL default '0',
946 last_mod_date timestamp NOT NULL,
947 last_mod_id smallint(6) NOT NULL default '0',
948 last_app_date timestamp NOT NULL,
949 last_app_id smallint(6) default '-1',
950 version smallint(6) NOT NULL default '0',
951 assigned_scps int(11) default '0',
952 status tinyint(4) default '0'
953 ) ENGINE=InnoDB;
954 INSERT INTO t1 VALUES (4077711111,'SeanWheeler',90,2,20020111112846,500,00000000000000,-1,2,3,1);
955 INSERT INTO t1 VALUES (9197722223,'berry',90,3,20020111112809,500,20020102114532,501,4,10,0);
956 INSERT INTO t1 VALUES (650,'San Francisco',0,0,20011227111336,342,00000000000000,-1,1,24,1);
957 INSERT INTO t1 VALUES (302467,'Sue\'s Subshop',90,3,20020109113241,500,20020102115111,501,7,24,0);
958 INSERT INTO t1 VALUES (6014911113,'SudzCarwash',520,1,20020102115234,500,20020102115259,501,33,32768,0);
959 INSERT INTO t1 VALUES (333,'tubs',99,2,20020109113440,501,20020109113440,500,3,10,0);
960 CREATE TABLE t2 (
961 number bigint(20) NOT NULL default '0',
962 cname char(15) NOT NULL default '',
963 carrier_id smallint(6) NOT NULL default '0',
964 privacy tinyint(4) NOT NULL default '0',
965 last_mod_date timestamp NOT NULL,
966 last_mod_id smallint(6) NOT NULL default '0',
967 last_app_date timestamp NOT NULL,
968 last_app_id smallint(6) default '-1',
969 version smallint(6) NOT NULL default '0',
970 assigned_scps int(11) default '0',
971 status tinyint(4) default '0'
972 ) ENGINE=InnoDB;
973 INSERT INTO t2 VALUES (4077711111,'SeanWheeler',0,2,20020111112853,500,00000000000000,-1,2,3,1);
974 INSERT INTO t2 VALUES (9197722223,'berry',90,3,20020111112818,500,20020102114532,501,4,10,0);
975 INSERT INTO t2 VALUES (650,'San Francisco',90,0,20020109113158,342,00000000000000,-1,1,24,1);
976 INSERT INTO t2 VALUES (333,'tubs',99,2,20020109113453,501,20020109113453,500,3,10,0);
977 select * from t1;
978 number  cname   carrier_id      privacy last_mod_date   last_mod_id     last_app_date   last_app_id     version assigned_scps   status
979 4077711111      SeanWheeler     90      2       2002-01-11 11:28:46     500     0000-00-00 00:00:00     -1      2       3       1
980 9197722223      berry   90      3       2002-01-11 11:28:09     500     2002-01-02 11:45:32     501     4       10      0
981 650     San Francisco   0       0       2001-12-27 11:13:36     342     0000-00-00 00:00:00     -1      1       24      1
982 302467  Sue's Subshop   90      3       2002-01-09 11:32:41     500     2002-01-02 11:51:11     501     7       24      0
983 6014911113      SudzCarwash     520     1       2002-01-02 11:52:34     500     2002-01-02 11:52:59     501     33      32768   0
984 333     tubs    99      2       2002-01-09 11:34:40     501     2002-01-09 11:34:40     500     3       10      0
985 select * from t2;
986 number  cname   carrier_id      privacy last_mod_date   last_mod_id     last_app_date   last_app_id     version assigned_scps   status
987 4077711111      SeanWheeler     0       2       2002-01-11 11:28:53     500     0000-00-00 00:00:00     -1      2       3       1
988 9197722223      berry   90      3       2002-01-11 11:28:18     500     2002-01-02 11:45:32     501     4       10      0
989 650     San Francisco   90      0       2002-01-09 11:31:58     342     0000-00-00 00:00:00     -1      1       24      1
990 333     tubs    99      2       2002-01-09 11:34:53     501     2002-01-09 11:34:53     500     3       10      0
991 delete t1, t2 from t1 left join t2 on t1.number=t2.number where (t1.carrier_id=90 and t1.number=t2.number) or (t2.carrier_id=90 and t1.number=t2.number) or  (t1.carrier_id=90 and t2.number is null);
992 select * from t1;
993 number  cname   carrier_id      privacy last_mod_date   last_mod_id     last_app_date   last_app_id     version assigned_scps   status
994 6014911113      SudzCarwash     520     1       2002-01-02 11:52:34     500     2002-01-02 11:52:59     501     33      32768   0
995 333     tubs    99      2       2002-01-09 11:34:40     501     2002-01-09 11:34:40     500     3       10      0
996 select * from t2;
997 number  cname   carrier_id      privacy last_mod_date   last_mod_id     last_app_date   last_app_id     version assigned_scps   status
998 333     tubs    99      2       2002-01-09 11:34:53     501     2002-01-09 11:34:53     500     3       10      0
999 select * from t2;
1000 number  cname   carrier_id      privacy last_mod_date   last_mod_id     last_app_date   last_app_id     version assigned_scps   status
1001 333     tubs    99      2       2002-01-09 11:34:53     501     2002-01-09 11:34:53     500     3       10      0
1002 drop table t1,t2;
1003 create table t1 (id int unsigned not null auto_increment, code tinyint unsigned not null, name char(20) not null, primary key (id), key (code), unique (name)) engine=innodb;
1004 BEGIN;
1005 SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE;
1006 SELECT @@tx_isolation,@@global.tx_isolation;
1007 @@tx_isolation  @@global.tx_isolation
1008 SERIALIZABLE    REPEATABLE-READ
1009 insert into t1 (code, name) values (1, 'Tim'), (1, 'Monty'), (2, 'David');
1010 select id, code, name from t1 order by id;
1011 id      code    name
1012 1       1       Tim
1013 2       1       Monty
1014 3       2       David
1015 COMMIT;
1016 BEGIN;
1017 SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ;
1018 insert into t1 (code, name) values (2, 'Erik'), (3, 'Sasha');
1019 select id, code, name from t1 order by id;
1020 id      code    name
1021 1       1       Tim
1022 2       1       Monty
1023 3       2       David
1024 4       2       Erik
1025 5       3       Sasha
1026 COMMIT;
1027 SET binlog_format='MIXED';
1028 BEGIN;
1029 SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
1030 insert into t1 (code, name) values (3, 'Jeremy'), (4, 'Matt');
1031 select id, code, name from t1 order by id;
1032 id      code    name
1033 1       1       Tim
1034 2       1       Monty
1035 3       2       David
1036 4       2       Erik
1037 5       3       Sasha
1038 6       3       Jeremy
1039 7       4       Matt
1040 COMMIT;
1041 DROP TABLE t1;
1042 create table t1 (n int(10), d int(10)) engine=innodb;
1043 create table t2 (n int(10), d int(10)) engine=innodb;
1044 insert into t1 values(1,1),(1,2);
1045 insert into t2 values(1,10),(2,20);
1046 UPDATE t1,t2 SET t1.d=t2.d,t2.d=30 WHERE t1.n=t2.n;
1047 select * from t1;
1048 n       d
1049 1       10
1050 1       10
1051 select * from t2;
1052 n       d
1053 1       30
1054 2       20
1055 drop table t1,t2;
1056 drop table if exists t1, t2;
1057 CREATE TABLE t1 (a int, PRIMARY KEY (a));
1058 CREATE TABLE t2 (a int, PRIMARY KEY (a)) ENGINE=InnoDB;
1059 create trigger trg_del_t2 after  delete on t2 for each row
1060 insert into t1 values (1);
1061 insert into t1 values (1);
1062 insert into t2 values (1),(2);
1063 delete t2 from t2;
1064 ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
1065 select count(*) from t2 /* must be 2 as restored after rollback caused by the error */;
1066 count(*)
1068 drop table t1, t2;
1069 drop table if exists t1, t2;
1070 CREATE TABLE t1 (a int, PRIMARY KEY (a));
1071 CREATE TABLE t2 (a int, PRIMARY KEY (a)) ENGINE=InnoDB;
1072 create trigger trg_del_t2 after  delete on t2 for each row
1073 insert into t1 values (1);
1074 insert into t1 values (1);
1075 insert into t2 values (1),(2);
1076 delete t2 from t2;
1077 ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
1078 select count(*) from t2 /* must be 2 as restored after rollback caused by the error */;
1079 count(*)
1081 drop table t1, t2;
1082 create table t1 (a int, b int) engine=innodb;
1083 insert into t1 values(20,null);
1084 select t2.b, ifnull(t2.b,"this is null") from t1 as t2 left join t1 as t3 on
1085 t2.b=t3.a;
1086 b       ifnull(t2.b,"this is null")
1087 NULL    this is null
1088 select t2.b, ifnull(t2.b,"this is null") from t1 as t2 left join t1 as t3 on
1089 t2.b=t3.a order by 1;
1090 b       ifnull(t2.b,"this is null")
1091 NULL    this is null
1092 insert into t1 values(10,null);
1093 select t2.b, ifnull(t2.b,"this is null") from t1 as t2 left join t1 as t3 on
1094 t2.b=t3.a order by 1;
1095 b       ifnull(t2.b,"this is null")
1096 NULL    this is null
1097 NULL    this is null
1098 drop table t1;
1099 create table t1 (a varchar(10) not null) engine=myisam;
1100 create table t2 (b varchar(10) not null unique) engine=innodb;
1101 select t1.a from t1,t2 where t1.a=t2.b;
1103 drop table t1,t2;
1104 create table t1 (a int not null, b int, primary key (a)) engine = innodb;
1105 create table t2 (a int not null, b int, primary key (a)) engine = innodb;
1106 insert into t1 values (10, 20);
1107 insert into t2 values (10, 20);
1108 update t1, t2 set t1.b = 150, t2.b = t1.b where t2.a = t1.a and t1.a = 10;
1109 drop table t1,t2;
1110 CREATE TABLE t1 (id INT NOT NULL, PRIMARY KEY (id)) ENGINE=INNODB;
1111 CREATE TABLE t2 (id INT PRIMARY KEY, t1_id INT, INDEX par_ind (t1_id), FOREIGN KEY (t1_id) REFERENCES t1(id)  ON DELETE CASCADE ) ENGINE=INNODB;
1112 insert into t1 set id=1;
1113 insert into t2 set id=1, t1_id=1;
1114 delete t1,t2 from t1,t2 where t1.id=t2.t1_id;
1115 select * from t1;
1117 select * from t2;
1118 id      t1_id
1119 drop table t2,t1;
1120 CREATE TABLE t1(id INT NOT NULL,  PRIMARY KEY (id)) ENGINE=INNODB;
1121 CREATE TABLE t2(id  INT PRIMARY KEY, t1_id INT, INDEX par_ind (t1_id)  ) ENGINE=INNODB;
1122 INSERT INTO t1 VALUES(1);
1123 INSERT INTO t2 VALUES(1, 1);
1124 SELECT * from t1;
1127 UPDATE t1,t2 SET t1.id=t1.id+1, t2.t1_id=t1.id+1;
1128 SELECT * from t1;
1131 UPDATE t1,t2 SET t1.id=t1.id+1 where t1.id!=t2.id;
1132 SELECT * from t1;
1135 DROP TABLE t1,t2;
1136 set autocommit=0;
1137 CREATE TABLE t1 (id CHAR(15) NOT NULL, value CHAR(40) NOT NULL, PRIMARY KEY(id)) ENGINE=InnoDB;
1138 CREATE TABLE t2 (id CHAR(15) NOT NULL, value CHAR(40) NOT NULL, PRIMARY KEY(id)) ENGINE=InnoDB;
1139 CREATE TABLE t3 (id1 CHAR(15) NOT NULL, id2 CHAR(15) NOT NULL, PRIMARY KEY(id1, id2)) ENGINE=InnoDB;
1140 INSERT INTO t3 VALUES("my-test-1", "my-test-2");
1141 COMMIT;
1142 INSERT INTO t1 VALUES("this-key", "will disappear");
1143 INSERT INTO t2 VALUES("this-key", "will also disappear");
1144 DELETE FROM t3 WHERE id1="my-test-1";
1145 SELECT * FROM t1;
1146 id      value
1147 this-key        will disappear
1148 SELECT * FROM t2;
1149 id      value
1150 this-key        will also disappear
1151 SELECT * FROM t3;
1152 id1     id2
1153 ROLLBACK;
1154 SELECT * FROM t1;
1155 id      value
1156 SELECT * FROM t2;
1157 id      value
1158 SELECT * FROM t3;
1159 id1     id2
1160 my-test-1       my-test-2
1161 SELECT * FROM t3 WHERE id1="my-test-1" LOCK IN SHARE MODE;
1162 id1     id2
1163 my-test-1       my-test-2
1164 COMMIT;
1165 set autocommit=1;
1166 DROP TABLE t1,t2,t3;
1167 CREATE TABLE t1 (a int not null primary key, b int not null, unique (b)) engine=innodb;
1168 INSERT INTO t1 values (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9);
1169 UPDATE t1 set a=a+100 where b between 2 and 3 and a < 1000;
1170 SELECT * from t1;
1171 a       b
1172 1       1
1173 102     2
1174 103     3
1175 4       4
1176 5       5
1177 6       6
1178 7       7
1179 8       8
1180 9       9
1181 drop table t1;
1182 CREATE TABLE t2 (   NEXT_T         BIGINT NOT NULL PRIMARY KEY) ENGINE=MyISAM;
1183 CREATE TABLE t1 (  B_ID           INTEGER NOT NULL PRIMARY KEY) ENGINE=InnoDB;
1184 SET AUTOCOMMIT=0;
1185 INSERT INTO t1 ( B_ID ) VALUES ( 1 );
1186 INSERT INTO t2 ( NEXT_T ) VALUES ( 1 );
1187 ROLLBACK;
1188 Warnings:
1189 Warning 1196    Some non-transactional changed tables couldn't be rolled back
1190 SELECT * FROM t1;
1191 B_ID
1192 drop table  t1,t2;
1193 create table t1  ( pk         int primary key,    parent     int not null,    child      int not null,       index (parent)  ) engine = innodb;
1194 insert into t1 values   (1,0,4),  (2,1,3),  (3,2,1),  (4,1,2);
1195 select distinct  parent,child   from t1   order by parent;
1196 parent  child
1197 0       4
1198 1       2
1199 1       3
1200 2       1
1201 drop table t1;
1202 create table t1 (a int not null auto_increment primary key, b int, c int, key(c)) engine=innodb;
1203 create table t2 (a int not null auto_increment primary key, b int);
1204 insert into t1 (b) values (null),(null),(null),(null),(null),(null),(null);
1205 insert into t2 (a) select b from t1;
1206 insert into t1 (b) select b from t2;
1207 insert into t2 (a) select b from t1;
1208 insert into t1 (a) select b from t2;
1209 insert into t2 (a) select b from t1;
1210 insert into t1 (a) select b from t2;
1211 insert into t2 (a) select b from t1;
1212 insert into t1 (a) select b from t2;
1213 insert into t2 (a) select b from t1;
1214 insert into t1 (a) select b from t2;
1215 select count(*) from t1;
1216 count(*)
1218 explain select * from t1 where c between 1 and 2500;
1219 id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
1220 1       SIMPLE  t1      range   c       c       5       NULL    #       Using where
1221 update t1 set c=a;
1222 explain select * from t1 where c between 1 and 2500;
1223 id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
1224 1       SIMPLE  t1      ALL     c       NULL    NULL    NULL    #       Using where
1225 drop table t1,t2;
1226 create table t1 (id int primary key auto_increment, fk int, index index_fk (fk)) engine=innodb;
1227 insert into t1 (id) values (null),(null),(null),(null),(null);
1228 update t1 set fk=69 where fk is null order by id limit 1;
1229 SELECT * from t1;
1230 id      fk
1231 2       NULL
1232 3       NULL
1233 4       NULL
1234 5       NULL
1235 1       69
1236 drop table t1;
1237 create table t1 (a int not null, b int not null, key (a));
1238 insert into t1 values (1,1),(1,2),(1,3),(3,1),(3,2),(3,3),(3,1),(3,2),(3,3),(2,1),(2,2),(2,3);
1239 SET @tmp=0;
1240 update t1 set b=(@tmp:=@tmp+1) order by a;
1241 update t1 set b=99 where a=1 order by b asc limit 1;
1242 update t1 set b=100 where a=1 order by b desc limit 2;
1243 update t1 set a=a+10+b where a=1 order by b;
1244 select * from t1 order by a,b;
1245 a       b
1246 2       4
1247 2       5
1248 2       6
1249 3       7
1250 3       8
1251 3       9
1252 3       10
1253 3       11
1254 3       12
1255 13      2
1256 111     100
1257 111     100
1258 drop table t1;
1259 create table t1 ( c char(8) not null ) engine=innodb;
1260 insert into t1 values ('0'),('1'),('2'),('3'),('4'),('5'),('6'),('7'),('8'),('9');
1261 insert into t1 values ('A'),('B'),('C'),('D'),('E'),('F');
1262 alter table t1 add b char(8) not null;
1263 alter table t1 add a char(8) not null;
1264 alter table t1 add primary key (a,b,c);
1265 update t1 set a=c, b=c;
1266 create table t2 (c char(8) not null, b char(8) not null, a char(8) not null, primary key(a,b,c)) engine=innodb;
1267 insert into t2 select * from t1;
1268 delete t1,t2 from t2,t1 where t1.a<'B' and t2.b=t1.b;
1269 drop table t1,t2;
1270 SET AUTOCOMMIT=1;
1271 create table t1 (a integer auto_increment primary key) engine=innodb;
1272 insert into t1 (a) values (NULL),(NULL);
1273 truncate table t1;
1274 insert into t1 (a) values (NULL),(NULL);
1275 SELECT * from t1;
1279 drop table t1;
1280 CREATE TABLE t1 (`id 1` INT NOT NULL, PRIMARY KEY (`id 1`)) ENGINE=INNODB;
1281 CREATE TABLE t2 (id INT PRIMARY KEY, t1_id INT, INDEX par_ind (t1_id), FOREIGN KEY (`t1_id`) REFERENCES `t1`(`id 1`)  ON DELETE CASCADE ) ENGINE=INNODB;
1282 drop table t2,t1;
1283 create table `t1` (`id` int( 11 ) not null  ,primary key ( `id` )) engine = innodb;
1284 insert into `t1`values ( 1 ) ;
1285 create table `t2` (`id` int( 11 ) not null default '0',unique key `id` ( `id` ) ,constraint `t1_id_fk` foreign key ( `id` ) references `t1` (`id` )) engine = innodb;
1286 insert into `t2`values ( 1 ) ;
1287 create table `t3` (`id` int( 11 ) not null default '0',key `id` ( `id` ) ,constraint `t2_id_fk` foreign key ( `id` ) references `t2` (`id` )) engine = innodb;
1288 insert into `t3`values ( 1 ) ;
1289 delete t3,t2,t1 from t1,t2,t3 where t1.id =1 and t2.id = t1.id and t3.id = t2.id;
1290 ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t1_id_fk` FOREIGN KEY (`id`) REFERENCES `t1` (`id`))
1291 update t1,t2,t3 set t3.id=5, t2.id=6, t1.id=7  where t1.id =1 and t2.id = t1.id and t3.id = t2.id;
1292 ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t1_id_fk` FOREIGN KEY (`id`) REFERENCES `t1` (`id`))
1293 update t3 set  t3.id=7  where t1.id =1 and t2.id = t1.id and t3.id = t2.id;
1294 ERROR 42S22: Unknown column 't1.id' in 'where clause'
1295 drop table t3,t2,t1;
1296 CREATE TABLE t1 (
1297 c1 VARCHAR(8), c2 VARCHAR(8),
1298 PRIMARY KEY (c1, c2)
1299 ) ENGINE=InnoDB;
1300 CREATE TABLE t2 (
1301 c0 INT PRIMARY KEY,
1302 c1 VARCHAR(8) UNIQUE,
1303 FOREIGN KEY (c1) REFERENCES t1 (c1) ON UPDATE CASCADE
1304 ) ENGINE=InnoDB;
1305 INSERT INTO t1 VALUES ('old', 'somevalu'), ('other', 'anyvalue');
1306 INSERT INTO t2 VALUES (10, 'old'), (20, 'other');
1307 UPDATE t1 SET c1 = 'other' WHERE c1 = 'old';
1308 ERROR 23000: Upholding foreign key constraints for table 't1', entry 'other-somevalu', key 2 would lead to a duplicate entry
1309 DROP TABLE t2,t1;
1310 create table t1(
1311 id int primary key,
1312 pid int,
1313 index(pid),
1314 foreign key(pid) references t1(id) on delete cascade) engine=innodb;
1315 insert into t1 values(0,0),(1,0),(2,1),(3,2),(4,3),(5,4),(6,5),(7,6),
1316 (8,7),(9,8),(10,9),(11,10),(12,11),(13,12),(14,13),(15,14);
1317 delete from t1 where id=0;
1318 ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t1`, CONSTRAINT `t1_ibfk_1` FOREIGN KEY (`pid`) REFERENCES `t1` (`id`) ON DELETE CASCADE)
1319 delete from t1 where id=15;
1320 delete from t1 where id=0;
1321 drop table t1;
1322 CREATE TABLE t1 (col1 int(1))ENGINE=InnoDB;
1323 CREATE TABLE t2 (col1 int(1),stamp TIMESTAMP,INDEX stamp_idx
1324 (stamp))ENGINE=InnoDB;
1325 insert into t1 values (1),(2),(3);
1326 insert into t2 values (1, 20020204130000),(2, 20020204130000),(4,20020204310000 ),(5,20020204230000);
1327 Warnings:
1328 Warning 1265    Data truncated for column 'stamp' at row 3
1329 SELECT col1 FROM t1 UNION SELECT col1 FROM t2 WHERE stamp <
1330 '20020204120000' GROUP BY col1;
1331 col1
1336 drop table t1,t2;
1337 CREATE TABLE t1 (
1338 `id` int(10) unsigned NOT NULL auto_increment,
1339 `id_object` int(10) unsigned default '0',
1340 `id_version` int(10) unsigned NOT NULL default '1',
1341 `label` varchar(100) NOT NULL default '',
1342 `description` text,
1343 PRIMARY KEY  (`id`),
1344 KEY `id_object` (`id_object`),
1345 KEY `id_version` (`id_version`)
1346 ) ENGINE=InnoDB;
1347 INSERT INTO t1 VALUES("6", "3382", "9", "Test", NULL), ("7", "102", "5", "Le Pekin (Test)", NULL),("584", "1794", "4", "Test de resto", NULL),("837", "1822", "6", "Test 3", NULL),("1119", "3524", "1", "Societe Test", NULL),("1122", "3525", "1", "Fournisseur Test", NULL);
1348 CREATE TABLE t2 (
1349 `id` int(10) unsigned NOT NULL auto_increment,
1350 `id_version` int(10) unsigned NOT NULL default '1',
1351 PRIMARY KEY  (`id`),
1352 KEY `id_version` (`id_version`)
1353 ) ENGINE=InnoDB;
1354 INSERT INTO t2 VALUES("3524", "1"),("3525", "1"),("1794", "4"),("102", "5"),("1822", "6"),("3382", "9");
1355 SELECT t2.id, t1.`label` FROM t2 INNER JOIN
1356 (SELECT t1.id_object as id_object FROM t1 WHERE t1.`label` LIKE '%test%') AS lbl 
1357 ON (t2.id = lbl.id_object) INNER JOIN t1 ON (t2.id = t1.id_object);
1358 id      label
1359 3382    Test
1360 102     Le Pekin (Test)
1361 1794    Test de resto
1362 1822    Test 3
1363 3524    Societe Test
1364 3525    Fournisseur Test
1365 drop table t1,t2;
1366 create table t1 (a int, b varchar(200), c text not null) checksum=1 engine=myisam;
1367 create table t2 (a int, b varchar(200), c text not null) checksum=0 engine=innodb;
1368 create table t3 (a int, b varchar(200), c text not null) checksum=1 engine=innodb;
1369 insert t1 values (1, "aaa", "bbb"), (NULL, "", "ccccc"), (0, NULL, "");
1370 insert t2 select * from t1;
1371 insert t3 select * from t1;
1372 checksum table t1, t2, t3, t4 quick;
1373 Table   Checksum
1374 test.t1 2948697075
1375 test.t2 NULL
1376 test.t3 NULL
1377 test.t4 NULL
1378 Warnings:
1379 Error   1146    Table 'test.t4' doesn't exist
1380 checksum table t1, t2, t3, t4;
1381 Table   Checksum
1382 test.t1 2948697075
1383 test.t2 2948697075
1384 test.t3 2948697075
1385 test.t4 NULL
1386 Warnings:
1387 Error   1146    Table 'test.t4' doesn't exist
1388 checksum table t1, t2, t3, t4 extended;
1389 Table   Checksum
1390 test.t1 2948697075
1391 test.t2 2948697075
1392 test.t3 2948697075
1393 test.t4 NULL
1394 Warnings:
1395 Error   1146    Table 'test.t4' doesn't exist
1396 drop table t1,t2,t3;
1397 create table t1 (id int,  name char(10) not null,  name2 char(10) not null) engine=innodb;
1398 insert into t1 values(1,'first','fff'),(2,'second','sss'),(3,'third','ttt');
1399 select trim(name2) from t1  union all  select trim(name) from t1 union all select trim(id) from t1;
1400 trim(name2)
1404 first
1405 second
1406 third
1410 drop table t1;
1411 create table t1 (a int) engine=innodb;
1412 create table t2 like t1;
1413 drop table t1,t2;
1414 create table t1 (id int(11) not null, id2 int(11) not null, unique (id,id2)) engine=innodb;
1415 create table t2 (id int(11) not null, constraint t1_id_fk foreign key ( id ) references t1 (id)) engine = innodb;
1416 show create table t1;
1417 Table   Create Table
1418 t1      CREATE TABLE `t1` (
1419   `id` int(11) NOT NULL,
1420   `id2` int(11) NOT NULL,
1421   UNIQUE KEY `id` (`id`,`id2`)
1422 ) ENGINE=InnoDB DEFAULT CHARSET=latin1
1423 show create table t2;
1424 Table   Create Table
1425 t2      CREATE TABLE `t2` (
1426   `id` int(11) NOT NULL,
1427   KEY `t1_id_fk` (`id`),
1428   CONSTRAINT `t1_id_fk` FOREIGN KEY (`id`) REFERENCES `t1` (`id`)
1429 ) ENGINE=InnoDB DEFAULT CHARSET=latin1
1430 create index id on t2 (id);
1431 show create table t2;
1432 Table   Create Table
1433 t2      CREATE TABLE `t2` (
1434   `id` int(11) NOT NULL,
1435   KEY `id` (`id`),
1436   CONSTRAINT `t1_id_fk` FOREIGN KEY (`id`) REFERENCES `t1` (`id`)
1437 ) ENGINE=InnoDB DEFAULT CHARSET=latin1
1438 create index id2 on t2 (id);
1439 show create table t2;
1440 Table   Create Table
1441 t2      CREATE TABLE `t2` (
1442   `id` int(11) NOT NULL,
1443   KEY `id` (`id`),
1444   KEY `id2` (`id`),
1445   CONSTRAINT `t1_id_fk` FOREIGN KEY (`id`) REFERENCES `t1` (`id`)
1446 ) ENGINE=InnoDB DEFAULT CHARSET=latin1
1447 drop index id2 on t2;
1448 drop index id on t2;
1449 Got one of the listed errors
1450 show create table t2;
1451 Table   Create Table
1452 t2      CREATE TABLE `t2` (
1453   `id` int(11) NOT NULL,
1454   KEY `id` (`id`),
1455   CONSTRAINT `t1_id_fk` FOREIGN KEY (`id`) REFERENCES `t1` (`id`)
1456 ) ENGINE=InnoDB DEFAULT CHARSET=latin1
1457 drop table t2;
1458 create table t2 (id int(11) not null, id2 int(11) not null, constraint t1_id_fk foreign key (id,id2) references t1 (id,id2)) engine = innodb;
1459 show create table t2;
1460 Table   Create Table
1461 t2      CREATE TABLE `t2` (
1462   `id` int(11) NOT NULL,
1463   `id2` int(11) NOT NULL,
1464   KEY `t1_id_fk` (`id`,`id2`),
1465   CONSTRAINT `t1_id_fk` FOREIGN KEY (`id`, `id2`) REFERENCES `t1` (`id`, `id2`)
1466 ) ENGINE=InnoDB DEFAULT CHARSET=latin1
1467 create unique index id on t2 (id,id2);
1468 show create table t2;
1469 Table   Create Table
1470 t2      CREATE TABLE `t2` (
1471   `id` int(11) NOT NULL,
1472   `id2` int(11) NOT NULL,
1473   UNIQUE KEY `id` (`id`,`id2`),
1474   CONSTRAINT `t1_id_fk` FOREIGN KEY (`id`, `id2`) REFERENCES `t1` (`id`, `id2`)
1475 ) ENGINE=InnoDB DEFAULT CHARSET=latin1
1476 drop table t2;
1477 create table t2 (id int(11) not null, id2 int(11) not null, unique (id,id2),constraint t1_id_fk foreign key (id2,id) references t1 (id,id2)) engine = innodb;
1478 show create table t2;
1479 Table   Create Table
1480 t2      CREATE TABLE `t2` (
1481   `id` int(11) NOT NULL,
1482   `id2` int(11) NOT NULL,
1483   UNIQUE KEY `id` (`id`,`id2`),
1484   KEY `t1_id_fk` (`id2`,`id`),
1485   CONSTRAINT `t1_id_fk` FOREIGN KEY (`id2`, `id`) REFERENCES `t1` (`id`, `id2`)
1486 ) ENGINE=InnoDB DEFAULT CHARSET=latin1
1487 drop table t2;
1488 create table t2 (id int(11) not null, id2 int(11) not null, unique (id,id2), constraint t1_id_fk foreign key (id) references t1 (id)) engine = innodb;
1489 show create table t2;
1490 Table   Create Table
1491 t2      CREATE TABLE `t2` (
1492   `id` int(11) NOT NULL,
1493   `id2` int(11) NOT NULL,
1494   UNIQUE KEY `id` (`id`,`id2`),
1495   CONSTRAINT `t1_id_fk` FOREIGN KEY (`id`) REFERENCES `t1` (`id`)
1496 ) ENGINE=InnoDB DEFAULT CHARSET=latin1
1497 drop table t2;
1498 create table t2 (id int(11) not null, id2 int(11) not null, unique (id,id2),constraint t1_id_fk foreign key (id2,id) references t1 (id,id2)) engine = innodb;
1499 show create table t2;
1500 Table   Create Table
1501 t2      CREATE TABLE `t2` (
1502   `id` int(11) NOT NULL,
1503   `id2` int(11) NOT NULL,
1504   UNIQUE KEY `id` (`id`,`id2`),
1505   KEY `t1_id_fk` (`id2`,`id`),
1506   CONSTRAINT `t1_id_fk` FOREIGN KEY (`id2`, `id`) REFERENCES `t1` (`id`, `id2`)
1507 ) ENGINE=InnoDB DEFAULT CHARSET=latin1
1508 drop table t2;
1509 create table t2 (id int(11) not null auto_increment, id2 int(11) not null, constraint t1_id_fk foreign key (id) references t1 (id), primary key (id), index (id,id2)) engine = innodb;
1510 show create table t2;
1511 Table   Create Table
1512 t2      CREATE TABLE `t2` (
1513   `id` int(11) NOT NULL AUTO_INCREMENT,
1514   `id2` int(11) NOT NULL,
1515   PRIMARY KEY (`id`),
1516   KEY `id` (`id`,`id2`),
1517   CONSTRAINT `t1_id_fk` FOREIGN KEY (`id`) REFERENCES `t1` (`id`)
1518 ) ENGINE=InnoDB DEFAULT CHARSET=latin1
1519 drop table t2;
1520 create table t2 (id int(11) not null auto_increment, id2 int(11) not null, constraint t1_id_fk foreign key (id) references t1 (id)) engine= innodb;
1521 show create table t2;
1522 Table   Create Table
1523 t2      CREATE TABLE `t2` (
1524   `id` int(11) NOT NULL AUTO_INCREMENT,
1525   `id2` int(11) NOT NULL,
1526   KEY `t1_id_fk` (`id`),
1527   CONSTRAINT `t1_id_fk` FOREIGN KEY (`id`) REFERENCES `t1` (`id`)
1528 ) ENGINE=InnoDB DEFAULT CHARSET=latin1
1529 alter table t2 add index id_test (id), add index id_test2 (id,id2);
1530 show create table t2;
1531 Table   Create Table
1532 t2      CREATE TABLE `t2` (
1533   `id` int(11) NOT NULL AUTO_INCREMENT,
1534   `id2` int(11) NOT NULL,
1535   KEY `id_test` (`id`),
1536   KEY `id_test2` (`id`,`id2`),
1537   CONSTRAINT `t1_id_fk` FOREIGN KEY (`id`) REFERENCES `t1` (`id`)
1538 ) ENGINE=InnoDB DEFAULT CHARSET=latin1
1539 drop table t2;
1540 create table t2 (id int(11) not null, id2 int(11) not null, constraint t1_id_fk foreign key (id2,id) references t1 (id)) engine = innodb;
1541 ERROR 42000: Incorrect foreign key definition for 't1_id_fk': Key reference and table reference don't match
1542 create table t2 (a int auto_increment primary key, b int, index(b), foreign key (b) references t1(id), unique(b)) engine=innodb;
1543 show create table t2;
1544 Table   Create Table
1545 t2      CREATE TABLE `t2` (
1546   `a` int(11) NOT NULL AUTO_INCREMENT,
1547   `b` int(11) DEFAULT NULL,
1548   PRIMARY KEY (`a`),
1549   UNIQUE KEY `b_2` (`b`),
1550   KEY `b` (`b`),
1551   CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`b`) REFERENCES `t1` (`id`)
1552 ) ENGINE=InnoDB DEFAULT CHARSET=latin1
1553 drop table t2;
1554 create table t2 (a int auto_increment primary key, b int, foreign key (b) references t1(id), foreign key (b) references t1(id), unique(b)) engine=innodb;
1555 show create table t2;
1556 Table   Create Table
1557 t2      CREATE TABLE `t2` (
1558   `a` int(11) NOT NULL AUTO_INCREMENT,
1559   `b` int(11) DEFAULT NULL,
1560   PRIMARY KEY (`a`),
1561   UNIQUE KEY `b` (`b`),
1562   CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`b`) REFERENCES `t1` (`id`),
1563   CONSTRAINT `t2_ibfk_2` FOREIGN KEY (`b`) REFERENCES `t1` (`id`)
1564 ) ENGINE=InnoDB DEFAULT CHARSET=latin1
1565 drop table t2, t1;
1566 create table t1 (c char(10), index (c,c)) engine=innodb;
1567 ERROR 42S21: Duplicate column name 'c'
1568 create table t1 (c1 char(10), c2 char(10), index (c1,c2,c1)) engine=innodb;
1569 ERROR 42S21: Duplicate column name 'c1'
1570 create table t1 (c1 char(10), c2 char(10), index (c1,c1,c2)) engine=innodb;
1571 ERROR 42S21: Duplicate column name 'c1'
1572 create table t1 (c1 char(10), c2 char(10), index (c2,c1,c1)) engine=innodb;
1573 ERROR 42S21: Duplicate column name 'c1'
1574 create table t1 (c1 char(10), c2 char(10)) engine=innodb;
1575 alter table t1 add key (c1,c1);
1576 ERROR 42S21: Duplicate column name 'c1'
1577 alter table t1 add key (c2,c1,c1);
1578 ERROR 42S21: Duplicate column name 'c1'
1579 alter table t1 add key (c1,c2,c1);
1580 ERROR 42S21: Duplicate column name 'c1'
1581 alter table t1 add key (c1,c1,c2);
1582 ERROR 42S21: Duplicate column name 'c1'
1583 drop table t1;
1584 create table t1(a int(1) , b int(1)) engine=innodb;
1585 insert into t1 values ('1111', '3333');
1586 select distinct concat(a, b) from t1;
1587 concat(a, b)
1588 11113333
1589 drop table t1;
1590 CREATE TABLE t1 ( a char(10) ) ENGINE=InnoDB;
1591 SELECT a FROM t1 WHERE MATCH (a) AGAINST ('test' IN BOOLEAN MODE);
1592 ERROR HY000: The used table type doesn't support FULLTEXT indexes
1593 DROP TABLE t1;
1594 CREATE TABLE t1 (a_id tinyint(4) NOT NULL default '0', PRIMARY KEY  (a_id)) ENGINE=InnoDB DEFAULT CHARSET=latin1;
1595 INSERT INTO t1 VALUES (1),(2),(3);
1596 CREATE TABLE t2 (b_id tinyint(4) NOT NULL default '0',b_a tinyint(4) NOT NULL default '0', PRIMARY KEY  (b_id), KEY  (b_a), 
1597 CONSTRAINT fk_b_a FOREIGN KEY (b_a) REFERENCES t1 (a_id) ON DELETE CASCADE ON UPDATE NO ACTION) ENGINE=InnoDB DEFAULT CHARSET=latin1;
1598 INSERT INTO t2 VALUES (1,1),(2,1),(3,1),(4,2),(5,2);
1599 SELECT * FROM (SELECT t1.*,GROUP_CONCAT(t2.b_id SEPARATOR ',') as b_list FROM (t1 LEFT JOIN (t2) on t1.a_id = t2.b_a) GROUP BY t1.a_id ) AS xyz;
1600 a_id    b_list
1601 1       1,2,3
1602 2       4,5
1603 3       NULL
1604 DROP TABLE t2;
1605 DROP TABLE t1;
1606 create temporary table t1 (a int) engine=innodb;
1607 insert into t1 values (4711);
1608 truncate t1;
1609 insert into t1 values (42);
1610 select * from t1;
1613 drop table t1;
1614 create table t1 (a int) engine=innodb;
1615 insert into t1 values (4711);
1616 truncate t1;
1617 insert into t1 values (42);
1618 select * from t1;
1621 drop table t1;
1622 create table t1 (a int not null, b int not null, c blob not null, d int not null, e int, primary key (a,b,c(255),d)) engine=innodb;
1623 insert into t1 values (2,2,"b",2,2),(1,1,"a",1,1),(3,3,"ab",3,3);
1624 select * from t1 order by a,b,c,d;
1625 a       b       c       d       e
1626 1       1       a       1       1
1627 2       2       b       2       2
1628 3       3       ab      3       3
1629 explain select * from t1 order by a,b,c,d;
1630 id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
1631 1       SIMPLE  t1      ALL     NULL    NULL    NULL    NULL    3       Using filesort
1632 drop table t1;
1633 create table t1 (a char(1), b char(1), key(a, b)) engine=innodb;
1634 insert into t1 values ('8', '6'), ('4', '7');
1635 select min(a) from t1;
1636 min(a)
1638 select min(b) from t1 where a='8';
1639 min(b)
1641 drop table t1;
1642 create table t1 (x bigint unsigned not null primary key) engine=innodb;
1643 insert into t1(x) values (0xfffffffffffffff0),(0xfffffffffffffff1);
1644 select * from t1;
1646 18446744073709551600
1647 18446744073709551601
1648 select count(*) from t1 where x>0;
1649 count(*)
1651 select count(*) from t1 where x=0;
1652 count(*)
1654 select count(*) from t1 where x<0;
1655 count(*)
1657 select count(*) from t1 where x < -16;
1658 count(*)
1660 select count(*) from t1 where x = -16;
1661 count(*)
1663 explain select count(*) from t1 where x > -16;
1664 id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
1665 1       SIMPLE  t1      index   PRIMARY PRIMARY 8       NULL    2       Using where; Using index
1666 select count(*) from t1 where x > -16;
1667 count(*)
1669 select * from t1 where x > -16;
1671 18446744073709551600
1672 18446744073709551601
1673 select count(*) from t1 where x = 18446744073709551601;
1674 count(*)
1676 drop table t1;
1677 SELECT variable_value FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_buffer_pool_pages_total';
1678 variable_value
1680 SELECT variable_value FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_page_size';
1681 variable_value
1682 16384
1683 SELECT variable_value - @innodb_rows_deleted_orig FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_rows_deleted';
1684 variable_value - @innodb_rows_deleted_orig
1686 SELECT variable_value - @innodb_rows_inserted_orig FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_rows_inserted';
1687 variable_value - @innodb_rows_inserted_orig
1688 1067
1689 SELECT variable_value - @innodb_rows_updated_orig FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_rows_updated';
1690 variable_value - @innodb_rows_updated_orig
1692 SELECT variable_value - @innodb_row_lock_waits_orig FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_row_lock_waits';
1693 variable_value - @innodb_row_lock_waits_orig
1695 SELECT variable_value - @innodb_row_lock_current_waits_orig FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_row_lock_current_waits';
1696 variable_value - @innodb_row_lock_current_waits_orig
1698 SELECT variable_value - @innodb_row_lock_time_orig FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_row_lock_time';
1699 variable_value - @innodb_row_lock_time_orig
1701 SELECT variable_value - @innodb_row_lock_time_max_orig FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_row_lock_time_max';
1702 variable_value - @innodb_row_lock_time_max_orig
1704 SELECT variable_value - @innodb_row_lock_time_avg_orig FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_row_lock_time_avg';
1705 variable_value - @innodb_row_lock_time_avg_orig
1707 show variables like "innodb_sync_spin_loops";
1708 Variable_name   Value
1709 innodb_sync_spin_loops  20
1710 set global innodb_sync_spin_loops=1000;
1711 show variables like "innodb_sync_spin_loops";
1712 Variable_name   Value
1713 innodb_sync_spin_loops  1000
1714 set global innodb_sync_spin_loops=0;
1715 show variables like "innodb_sync_spin_loops";
1716 Variable_name   Value
1717 innodb_sync_spin_loops  0
1718 set global innodb_sync_spin_loops=20;
1719 show variables like "innodb_sync_spin_loops";
1720 Variable_name   Value
1721 innodb_sync_spin_loops  20
1722 SET @old_innodb_thread_concurrency= @@global.innodb_thread_concurrency;
1723 show variables like "innodb_thread_concurrency";
1724 Variable_name   Value
1725 innodb_thread_concurrency       8
1726 set global innodb_thread_concurrency=1001;
1727 Warnings:
1728 Warning 1292    Truncated incorrect thread_concurrency value: '1001'
1729 show variables like "innodb_thread_concurrency";
1730 Variable_name   Value
1731 innodb_thread_concurrency       1000
1732 set global innodb_thread_concurrency=0;
1733 show variables like "innodb_thread_concurrency";
1734 Variable_name   Value
1735 innodb_thread_concurrency       0
1736 set global innodb_thread_concurrency=16;
1737 show variables like "innodb_thread_concurrency";
1738 Variable_name   Value
1739 innodb_thread_concurrency       16
1740 SET @@global.innodb_thread_concurrency= @old_innodb_thread_concurrency;
1741 show variables like "innodb_concurrency_tickets";
1742 Variable_name   Value
1743 innodb_concurrency_tickets      500
1744 set global innodb_concurrency_tickets=1000;
1745 show variables like "innodb_concurrency_tickets";
1746 Variable_name   Value
1747 innodb_concurrency_tickets      1000
1748 set global innodb_concurrency_tickets=0;
1749 Warnings:
1750 Warning 1292    Truncated incorrect concurrency_tickets value: '0'
1751 show variables like "innodb_concurrency_tickets";
1752 Variable_name   Value
1753 innodb_concurrency_tickets      1
1754 set global innodb_concurrency_tickets=500;
1755 show variables like "innodb_concurrency_tickets";
1756 Variable_name   Value
1757 innodb_concurrency_tickets      500
1758 show variables like "innodb_thread_sleep_delay";
1759 Variable_name   Value
1760 innodb_thread_sleep_delay       10000
1761 set global innodb_thread_sleep_delay=100000;
1762 show variables like "innodb_thread_sleep_delay";
1763 Variable_name   Value
1764 innodb_thread_sleep_delay       100000
1765 set global innodb_thread_sleep_delay=0;
1766 show variables like "innodb_thread_sleep_delay";
1767 Variable_name   Value
1768 innodb_thread_sleep_delay       0
1769 set global innodb_thread_sleep_delay=10000;
1770 show variables like "innodb_thread_sleep_delay";
1771 Variable_name   Value
1772 innodb_thread_sleep_delay       10000
1773 set storage_engine=INNODB;
1774 drop table if exists t1,t2,t3;
1775 --- Testing varchar ---
1776 --- Testing varchar ---
1777 create table t1 (v varchar(10), c char(10), t text);
1778 insert into t1 values('+ ', '+ ', '+ ');
1779 set @a=repeat(' ',20);
1780 insert into t1 values (concat('+',@a),concat('+',@a),concat('+',@a));
1781 Warnings:
1782 Note    1265    Data truncated for column 'v' at row 1
1783 select concat('*',v,'*',c,'*',t,'*') from t1;
1784 concat('*',v,'*',c,'*',t,'*')
1785 *+ *+*+ *
1786 *+         *+*+                    *
1787 show create table t1;
1788 Table   Create Table
1789 t1      CREATE TABLE `t1` (
1790   `v` varchar(10) DEFAULT NULL,
1791   `c` char(10) DEFAULT NULL,
1792   `t` text
1793 ) ENGINE=InnoDB DEFAULT CHARSET=latin1
1794 create table t2 like t1;
1795 show create table t2;
1796 Table   Create Table
1797 t2      CREATE TABLE `t2` (
1798   `v` varchar(10) DEFAULT NULL,
1799   `c` char(10) DEFAULT NULL,
1800   `t` text
1801 ) ENGINE=InnoDB DEFAULT CHARSET=latin1
1802 create table t3 select * from t1;
1803 show create table t3;
1804 Table   Create Table
1805 t3      CREATE TABLE `t3` (
1806   `v` varchar(10) DEFAULT NULL,
1807   `c` char(10) DEFAULT NULL,
1808   `t` text
1809 ) ENGINE=InnoDB DEFAULT CHARSET=latin1
1810 alter table t1 modify c varchar(10);
1811 show create table t1;
1812 Table   Create Table
1813 t1      CREATE TABLE `t1` (
1814   `v` varchar(10) DEFAULT NULL,
1815   `c` varchar(10) DEFAULT NULL,
1816   `t` text
1817 ) ENGINE=InnoDB DEFAULT CHARSET=latin1
1818 alter table t1 modify v char(10);
1819 show create table t1;
1820 Table   Create Table
1821 t1      CREATE TABLE `t1` (
1822   `v` char(10) DEFAULT NULL,
1823   `c` varchar(10) DEFAULT NULL,
1824   `t` text
1825 ) ENGINE=InnoDB DEFAULT CHARSET=latin1
1826 alter table t1 modify t varchar(10);
1827 Warnings:
1828 Note    1265    Data truncated for column 't' at row 2
1829 show create table t1;
1830 Table   Create Table
1831 t1      CREATE TABLE `t1` (
1832   `v` char(10) DEFAULT NULL,
1833   `c` varchar(10) DEFAULT NULL,
1834   `t` varchar(10) DEFAULT NULL
1835 ) ENGINE=InnoDB DEFAULT CHARSET=latin1
1836 select concat('*',v,'*',c,'*',t,'*') from t1;
1837 concat('*',v,'*',c,'*',t,'*')
1838 *+*+*+ *
1839 *+*+*+         *
1840 drop table t1,t2,t3;
1841 create table t1 (v varchar(10), c char(10), t text, key(v), key(c), key(t(10)));
1842 show create table t1;
1843 Table   Create Table
1844 t1      CREATE TABLE `t1` (
1845   `v` varchar(10) DEFAULT NULL,
1846   `c` char(10) DEFAULT NULL,
1847   `t` text,
1848   KEY `v` (`v`),
1849   KEY `c` (`c`),
1850   KEY `t` (`t`(10))
1851 ) ENGINE=InnoDB DEFAULT CHARSET=latin1
1852 select count(*) from t1;
1853 count(*)
1855 insert into t1 values(concat('a',char(1)),concat('a',char(1)),concat('a',char(1)));
1856 select count(*) from t1 where v='a';
1857 count(*)
1859 select count(*) from t1 where c='a';
1860 count(*)
1862 select count(*) from t1 where t='a';
1863 count(*)
1865 select count(*) from t1 where v='a  ';
1866 count(*)
1868 select count(*) from t1 where c='a  ';
1869 count(*)
1871 select count(*) from t1 where t='a  ';
1872 count(*)
1874 select count(*) from t1 where v between 'a' and 'a ';
1875 count(*)
1877 select count(*) from t1 where v between 'a' and 'a ' and v between 'a  ' and 'b\n';
1878 count(*)
1880 select count(*) from t1 where v like 'a%';
1881 count(*)
1883 select count(*) from t1 where c like 'a%';
1884 count(*)
1886 select count(*) from t1 where t like 'a%';
1887 count(*)
1889 select count(*) from t1 where v like 'a %';
1890 count(*)
1892 explain select count(*) from t1 where v='a  ';
1893 id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
1894 1       SIMPLE  t1      ref     v       v       13      const   #       Using where; Using index
1895 explain select count(*) from t1 where c='a  ';
1896 id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
1897 1       SIMPLE  t1      ref     c       c       11      const   #       Using where; Using index
1898 explain select count(*) from t1 where t='a  ';
1899 id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
1900 1       SIMPLE  t1      ref     t       t       13      const   #       Using where
1901 explain select count(*) from t1 where v like 'a%';
1902 id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
1903 1       SIMPLE  t1      range   v       v       13      NULL    #       Using where; Using index
1904 explain select count(*) from t1 where v between 'a' and 'a ';
1905 id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
1906 1       SIMPLE  t1      ref     v       v       13      const   #       Using where; Using index
1907 explain select count(*) from t1 where v between 'a' and 'a ' and v between 'a  ' and 'b\n';
1908 id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
1909 1       SIMPLE  t1      ref     v       v       13      const   #       Using where; Using index
1910 alter table t1 add unique(v);
1911 ERROR 23000: Duplicate entry '{ ' for key 'v_2'
1912 alter table t1 add key(v);
1913 select concat('*',v,'*',c,'*',t,'*') as qq from t1 where v='a';
1915 *a*a*a*
1916 *a *a*a *
1917 *a  *a*a  *
1918 *a   *a*a   *
1919 *a    *a*a    *
1920 *a     *a*a     *
1921 *a      *a*a      *
1922 *a       *a*a       *
1923 *a        *a*a        *
1924 *a         *a*a         *
1925 explain select * from t1 where v='a';
1926 id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
1927 1       SIMPLE  t1      ref     v,v_2   #       13      const   #       Using where
1928 select v,count(*) from t1 group by v limit 10;
1929 v       count(*)
1930 a\x01      1
1931 a       10
1932 b       10
1933 c       10
1934 d       10
1935 e       10
1936 f       10
1937 g       10
1938 h       10
1939 i       10
1940 select v,count(t) from t1 group by v limit 10;
1941 v       count(t)
1942 a\x01      1
1943 a       10
1944 b       10
1945 c       10
1946 d       10
1947 e       10
1948 f       10
1949 g       10
1950 h       10
1951 i       10
1952 select v,count(c) from t1 group by v limit 10;
1953 v       count(c)
1954 a\x01      1
1955 a       10
1956 b       10
1957 c       10
1958 d       10
1959 e       10
1960 f       10
1961 g       10
1962 h       10
1963 i       10
1964 select sql_big_result v,count(t) from t1 group by v limit 10;
1965 v       count(t)
1966 a\x01      1
1967 a       10
1968 b       10
1969 c       10
1970 d       10
1971 e       10
1972 f       10
1973 g       10
1974 h       10
1975 i       10
1976 select sql_big_result v,count(c) from t1 group by v limit 10;
1977 v       count(c)
1978 a\x01      1
1979 a       10
1980 b       10
1981 c       10
1982 d       10
1983 e       10
1984 f       10
1985 g       10
1986 h       10
1987 i       10
1988 select c,count(*) from t1 group by c limit 10;
1989 c       count(*)
1990 a\x01      1
1991 a       10
1992 b       10
1993 c       10
1994 d       10
1995 e       10
1996 f       10
1997 g       10
1998 h       10
1999 i       10
2000 select c,count(t) from t1 group by c limit 10;
2001 c       count(t)
2002 a\x01      1
2003 a       10
2004 b       10
2005 c       10
2006 d       10
2007 e       10
2008 f       10
2009 g       10
2010 h       10
2011 i       10
2012 select sql_big_result c,count(t) from t1 group by c limit 10;
2013 c       count(t)
2014 a\x01      1
2015 a       10
2016 b       10
2017 c       10
2018 d       10
2019 e       10
2020 f       10
2021 g       10
2022 h       10
2023 i       10
2024 select t,count(*) from t1 group by t limit 10;
2025 t       count(*)
2026 a\x01      1
2027 a       10
2028 b       10
2029 c       10
2030 d       10
2031 e       10
2032 f       10
2033 g       10
2034 h       10
2035 i       10
2036 select t,count(t) from t1 group by t limit 10;
2037 t       count(t)
2038 a\x01      1
2039 a       10
2040 b       10
2041 c       10
2042 d       10
2043 e       10
2044 f       10
2045 g       10
2046 h       10
2047 i       10
2048 select sql_big_result t,count(t) from t1 group by t limit 10;
2049 t       count(t)
2050 a\x01      1
2051 a       10
2052 b       10
2053 c       10
2054 d       10
2055 e       10
2056 f       10
2057 g       10
2058 h       10
2059 i       10
2060 alter table t1 modify v varchar(300), drop key v, drop key v_2, add key v (v);
2061 show create table t1;
2062 Table   Create Table
2063 t1      CREATE TABLE `t1` (
2064   `v` varchar(300) DEFAULT NULL,
2065   `c` char(10) DEFAULT NULL,
2066   `t` text,
2067   KEY `c` (`c`),
2068   KEY `t` (`t`(10)),
2069   KEY `v` (`v`)
2070 ) ENGINE=InnoDB DEFAULT CHARSET=latin1
2071 select count(*) from t1 where v='a';
2072 count(*)
2074 select count(*) from t1 where v='a  ';
2075 count(*)
2077 select count(*) from t1 where v between 'a' and 'a ';
2078 count(*)
2080 select count(*) from t1 where v between 'a' and 'a ' and v between 'a  ' and 'b\n';
2081 count(*)
2083 select count(*) from t1 where v like 'a%';
2084 count(*)
2086 select count(*) from t1 where v like 'a %';
2087 count(*)
2089 explain select count(*) from t1 where v='a  ';
2090 id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
2091 1       SIMPLE  t1      ref     v       v       303     const   #       Using where; Using index
2092 explain select count(*) from t1 where v like 'a%';
2093 id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
2094 1       SIMPLE  t1      range   v       v       303     NULL    #       Using where; Using index
2095 explain select count(*) from t1 where v between 'a' and 'a ';
2096 id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
2097 1       SIMPLE  t1      ref     v       v       303     const   #       Using where; Using index
2098 explain select count(*) from t1 where v between 'a' and 'a ' and v between 'a  ' and 'b\n';
2099 id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
2100 1       SIMPLE  t1      ref     v       v       303     const   #       Using where; Using index
2101 explain select * from t1 where v='a';
2102 id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
2103 1       SIMPLE  t1      ref     v       v       303     const   #       Using where
2104 select v,count(*) from t1 group by v limit 10;
2105 v       count(*)
2106 a\x01      1
2107 a       10
2108 b       10
2109 c       10
2110 d       10
2111 e       10
2112 f       10
2113 g       10
2114 h       10
2115 i       10
2116 select v,count(t) from t1 group by v limit 10;
2117 v       count(t)
2118 a\x01      1
2119 a       10
2120 b       10
2121 c       10
2122 d       10
2123 e       10
2124 f       10
2125 g       10
2126 h       10
2127 i       10
2128 select sql_big_result v,count(t) from t1 group by v limit 10;
2129 v       count(t)
2130 a\x01      1
2131 a       10
2132 b       10
2133 c       10
2134 d       10
2135 e       10
2136 f       10
2137 g       10
2138 h       10
2139 i       10
2140 alter table t1 drop key v, add key v (v(30));
2141 show create table t1;
2142 Table   Create Table
2143 t1      CREATE TABLE `t1` (
2144   `v` varchar(300) DEFAULT NULL,
2145   `c` char(10) DEFAULT NULL,
2146   `t` text,
2147   KEY `c` (`c`),
2148   KEY `t` (`t`(10)),
2149   KEY `v` (`v`(30))
2150 ) ENGINE=InnoDB DEFAULT CHARSET=latin1
2151 select count(*) from t1 where v='a';
2152 count(*)
2154 select count(*) from t1 where v='a  ';
2155 count(*)
2157 select count(*) from t1 where v between 'a' and 'a ';
2158 count(*)
2160 select count(*) from t1 where v between 'a' and 'a ' and v between 'a  ' and 'b\n';
2161 count(*)
2163 select count(*) from t1 where v like 'a%';
2164 count(*)
2166 select count(*) from t1 where v like 'a %';
2167 count(*)
2169 explain select count(*) from t1 where v='a  ';
2170 id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
2171 1       SIMPLE  t1      ref     v       v       33      const   #       Using where
2172 explain select count(*) from t1 where v like 'a%';
2173 id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
2174 1       SIMPLE  t1      range   v       v       33      NULL    #       Using where
2175 explain select count(*) from t1 where v between 'a' and 'a ';
2176 id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
2177 1       SIMPLE  t1      ref     v       v       33      const   #       Using where
2178 explain select count(*) from t1 where v between 'a' and 'a ' and v between 'a  ' and 'b\n';
2179 id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
2180 1       SIMPLE  t1      ref     v       v       33      const   #       Using where
2181 explain select * from t1 where v='a';
2182 id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
2183 1       SIMPLE  t1      ref     v       v       33      const   #       Using where
2184 select v,count(*) from t1 group by v limit 10;
2185 v       count(*)
2186 a\x01      1
2187 a       10
2188 b       10
2189 c       10
2190 d       10
2191 e       10
2192 f       10
2193 g       10
2194 h       10
2195 i       10
2196 select v,count(t) from t1 group by v limit 10;
2197 v       count(t)
2198 a\x01      1
2199 a       10
2200 b       10
2201 c       10
2202 d       10
2203 e       10
2204 f       10
2205 g       10
2206 h       10
2207 i       10
2208 select sql_big_result v,count(t) from t1 group by v limit 10;
2209 v       count(t)
2210 a\x01      1
2211 a       10
2212 b       10
2213 c       10
2214 d       10
2215 e       10
2216 f       10
2217 g       10
2218 h       10
2219 i       10
2220 alter table t1 modify v varchar(600), drop key v, add key v (v);
2221 show create table t1;
2222 Table   Create Table
2223 t1      CREATE TABLE `t1` (
2224   `v` varchar(600) DEFAULT NULL,
2225   `c` char(10) DEFAULT NULL,
2226   `t` text,
2227   KEY `c` (`c`),
2228   KEY `t` (`t`(10)),
2229   KEY `v` (`v`)
2230 ) ENGINE=InnoDB DEFAULT CHARSET=latin1
2231 select v,count(*) from t1 group by v limit 10;
2232 v       count(*)
2233 a\x01      1
2234 a       10
2235 b       10
2236 c       10
2237 d       10
2238 e       10
2239 f       10
2240 g       10
2241 h       10
2242 i       10
2243 select v,count(t) from t1 group by v limit 10;
2244 v       count(t)
2245 a\x01      1
2246 a       10
2247 b       10
2248 c       10
2249 d       10
2250 e       10
2251 f       10
2252 g       10
2253 h       10
2254 i       10
2255 select sql_big_result v,count(t) from t1 group by v limit 10;
2256 v       count(t)
2257 a\x01      1
2258 a       10
2259 b       10
2260 c       10
2261 d       10
2262 e       10
2263 f       10
2264 g       10
2265 h       10
2266 i       10
2267 drop table t1;
2268 create table t1 (a char(10), unique (a));
2269 insert into t1 values ('a   ');
2270 insert into t1 values ('a ');
2271 ERROR 23000: Duplicate entry 'a' for key 'a'
2272 alter table t1 modify a varchar(10);
2273 insert into t1 values ('a '),('a  '),('a   '),('a         ');
2274 ERROR 23000: Duplicate entry 'a ' for key 'a'
2275 insert into t1 values ('a     ');
2276 ERROR 23000: Duplicate entry 'a     ' for key 'a'
2277 insert into t1 values ('a          ');
2278 ERROR 23000: Duplicate entry 'a         ' for key 'a'
2279 insert into t1 values ('a ');
2280 ERROR 23000: Duplicate entry 'a ' for key 'a'
2281 update t1 set a='a  ' where a like 'a%';
2282 select concat(a,'.') from t1;
2283 concat(a,'.')
2284 a  .
2285 update t1 set a='abc    ' where a like 'a ';
2286 select concat(a,'.') from t1;
2287 concat(a,'.')
2288 a  .
2289 update t1 set a='a      ' where a like 'a %';
2290 select concat(a,'.') from t1;
2291 concat(a,'.')
2292 a      .
2293 update t1 set a='a  ' where a like 'a      ';
2294 select concat(a,'.') from t1;
2295 concat(a,'.')
2296 a  .
2297 drop table t1;
2298 create table t1 (v varchar(10), c char(10), t text, key(v(5)), key(c(5)), key(t(5)));
2299 show create table t1;
2300 Table   Create Table
2301 t1      CREATE TABLE `t1` (
2302   `v` varchar(10) DEFAULT NULL,
2303   `c` char(10) DEFAULT NULL,
2304   `t` text,
2305   KEY `v` (`v`(5)),
2306   KEY `c` (`c`(5)),
2307   KEY `t` (`t`(5))
2308 ) ENGINE=InnoDB DEFAULT CHARSET=latin1
2309 drop table t1;
2310 create table t1 (v char(10) character set utf8);
2311 show create table t1;
2312 Table   Create Table
2313 t1      CREATE TABLE `t1` (
2314   `v` char(10) CHARACTER SET utf8 DEFAULT NULL
2315 ) ENGINE=InnoDB DEFAULT CHARSET=latin1
2316 drop table t1;
2317 create table t1 (v varchar(10), c char(10)) row_format=fixed;
2318 show create table t1;
2319 Table   Create Table
2320 t1      CREATE TABLE `t1` (
2321   `v` varchar(10) DEFAULT NULL,
2322   `c` char(10) DEFAULT NULL
2323 ) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=FIXED
2324 insert into t1 values('a','a'),('a ','a ');
2325 select concat('*',v,'*',c,'*') from t1;
2326 concat('*',v,'*',c,'*')
2327 *a*a*
2328 *a *a*
2329 drop table t1;
2330 create table t1 (v varchar(65530), key(v(10)));
2331 insert into t1 values(repeat('a',65530));
2332 select length(v) from t1 where v=repeat('a',65530);
2333 length(v)
2334 65530
2335 drop table t1;
2336 create table t1(a int, b varchar(12), key ba(b, a));
2337 insert into t1 values (1, 'A'), (20, NULL);
2338 explain select * from t1 where a=20 and b is null;
2339 id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
2340 1       SIMPLE  t1      ref     ba      ba      20      const,const     1       Using where; Using index
2341 select * from t1 where a=20 and b is null;
2342 a       b
2343 20      NULL
2344 drop table t1;
2345 create table t1 (v varchar(65530), key(v));
2346 Warnings:
2347 Warning 1071    Specified key was too long; max key length is 767 bytes
2348 drop table t1;
2349 create table t1 (v varchar(65536));
2350 Warnings:
2351 Note    1246    Converting column 'v' from VARCHAR to TEXT
2352 show create table t1;
2353 Table   Create Table
2354 t1      CREATE TABLE `t1` (
2355   `v` mediumtext
2356 ) ENGINE=InnoDB DEFAULT CHARSET=latin1
2357 drop table t1;
2358 create table t1 (v varchar(65530) character set utf8);
2359 Warnings:
2360 Note    1246    Converting column 'v' from VARCHAR to TEXT
2361 show create table t1;
2362 Table   Create Table
2363 t1      CREATE TABLE `t1` (
2364   `v` mediumtext CHARACTER SET utf8
2365 ) ENGINE=InnoDB DEFAULT CHARSET=latin1
2366 drop table t1;
2367 set storage_engine=MyISAM;
2368 Variable_name   Value
2369 Handler_read_key        0
2371 Variable_name   Value
2372 Handler_read_key        1