257
254
int, i975 int, i976 int, i977 int, i978 int, i979 int, i980 int, i981 int, i982
258
255
int, i983 int, i984 int, i985 int, i986 int, i987 int, i988 int, i989 int, i990
259
256
int, i991 int, i992 int, i993 int, i994 int, i995 int, i996 int, i997 int, i998
260
int, i999 int, i1000 int, b blob) row_format=dynamic;
257
int, i999 int, i1000 int, b blob) engine=myisam row_format=dynamic;
261
258
insert into t1 values (1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
262
259
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,
263
260
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,
309
306
# Test of REPAIR that once failed
311
308
CREATE TABLE `t1` (
312
`post_id` mediumint(8) NOT NULL auto_increment,
313
`topic_id` mediumint(8) NOT NULL default '0',
314
`post_time` datetime NOT NULL default '0000-00-00 00:00:00',
309
`post_id` int NOT NULL auto_increment,
310
`topic_id` int NOT NULL default '0',
311
`post_time` datetime,
315
312
`post_text` text NOT NULL,
316
313
`icon_url` varchar(10) NOT NULL default '',
317
`sign` int(1) NOT NULL default '0',
314
`sign` int NOT NULL default '0',
318
315
`post_edit` varchar(150) NOT NULL default '',
319
316
`poster_login` varchar(35) NOT NULL default '',
320
317
`ip` varchar(15) NOT NULL default '',
340
CREATE TABLE t1 (a varchar(300), b varchar(300), c varchar(300), d varchar(300), e varchar(300), KEY t1 (a, b, c, d, e));
341
CREATE TABLE t1 (a varchar(300), b varchar(300), c varchar(300), d varchar(300), e varchar(300));
340
CREATE TABLE t1 (a varchar(300), b varchar(300), c varchar(300), d varchar(300), e varchar(300), KEY t1 (a, b, c, d, e)) ENGINE=MyISAM;
341
CREATE TABLE t1 (a varchar(300), b varchar(300), c varchar(300), d varchar(300), e varchar(300)) ENGINE=MyISAM;
343
343
ALTER TABLE t1 ADD INDEX t1 (a, b, c, d, e);
347
347
# Test of cardinality of keys with NULL
350
CREATE TABLE t1 (a int not null, b int, c int, key(b), key(c), key(a,b), key(c,a));
350
CREATE TABLE t1 (a int not null, b int, c int, key(b), key(c), key(a,b), key(c,a)) ENGINE=MyISAM;
351
351
INSERT into t1 values (0, null, 0), (0, null, 1), (0, null, 2), (0, null,3), (1,1,4);
352
352
create table t2 (a int not null, b int, c int, key(b), key(c), key(a));
353
353
INSERT into t2 values (1,1,1), (2,2,2);
371
371
create table t1 (a int not null auto_increment primary key, b varchar(255));
372
372
insert into t1 (b) values (repeat('a',100)),(repeat('b',100)),(repeat('c',100));
373
373
update t1 set b=repeat(left(b,1),200) where a=1;
374
delete from t1 where (a & 1)= 0;
375
# @TODO Because there are no notes on what the heck this
376
# is actually testing (which bug?), it's difficult to tell
377
# what the below DELETE statement is doing. Since we don't
378
# support bitwise operators, I am replacing the delete statement
379
# with a version we support.
380
#delete from t1 where (a & 1)= 0;
381
delete from t1 where (a mod 2) = 0;
375
382
update t1 set b=repeat('e',200) where a=1;
488
500
select c1 from t1 order by c1 limit 1;
492
# Bug #14400 Join could miss concurrently inserted row
495
create table t1 (a int not null, primary key(a));
496
create table t2 (a int not null, b int not null, primary key(a,b));
497
insert into t1 values (1),(2),(3),(4),(5),(6);
498
insert into t2 values (1,1),(2,1);
499
lock tables t1 read local, t2 read local;
500
select straight_join * from t1,t2 force index (primary) where t1.a=t2.a;
501
connect (root,localhost,root,,test,$MASTER_MYPORT,$MASTER_MYSOCK);
502
insert into t2 values(2,0);
505
select straight_join * from t1,t2 force index (primary) where t1.a=t2.a;
510
CREATE TABLE t1 (c1 varchar(250) NOT NULL);
511
CREATE TABLE t2 (c1 varchar(250) NOT NULL, PRIMARY KEY (c1));
512
INSERT INTO t1 VALUES ('test000001'), ('test000002'), ('test000003');
513
INSERT INTO t2 VALUES ('test000002'), ('test000003'), ('test000004');
514
LOCK TABLES t1 READ LOCAL, t2 READ LOCAL;
515
SELECT t1.c1 AS t1c1, t2.c1 AS t2c1 FROM t1, t2
516
WHERE t1.c1 = t2.c1 HAVING t1c1 != t2c1;
517
connect (con1,localhost,root,,);
519
INSERT INTO t2 VALUES ('test000001'), ('test000005');
522
SELECT t1.c1 AS t1c1, t2.c1 AS t2c1 FROM t1, t2
523
WHERE t1.c1 = t2.c1 HAVING t1c1 != t2c1;
527
503
# End of 4.0 tests
533
CREATE TABLE t1 (`a` int(11) NOT NULL default '0', `b` int(11) NOT NULL default '0', UNIQUE KEY `a` USING RTREE (`a`,`b`)) ENGINE=MyISAM;
534
# INSERT INTO t1 VALUES (1,1),(1,1);
535
# DELETE FROM rt WHERE a<1;
536
# DROP TABLE IF EXISTS t1;
538
505
create table t1 (a int, b varchar(200), c text not null) checksum=1;
539
506
create table t2 (a int, b varchar(200), c text not null) checksum=0;
540
507
insert t1 values (1, "aaa", "bbb"), (NULL, "", "ccccc"), (0, NULL, "");
545
512
#show table status;
546
513
drop table t1,t2;
548
create table t1 (a int, key (a));
550
alter table t1 disable keys;
552
create table t2 (a int);
554
set @@rand_seed1=31415926,@@rand_seed2=2718281828;
559
insert t2 values (rand()*100000);
562
insert t1 select * from t2;
564
alter table t1 enable keys;
566
alter table t1 engine=heap;
567
alter table t1 disable keys;
515
#@TODO Figure out what the heck the below is testing.
516
# It bombs the test with unknown system variables...
518
#create table t1 (a int, key (a));
520
#alter table t1 disable keys;
522
#create table t2 (a int);
524
#set @@rand_seed1=31415926,@@rand_seed2=2718281828;
529
# insert t2 values (rand()*100000);
532
#insert t1 select * from t2;
534
#alter table t1 enable keys;
536
#alter table t1 engine=heap;
537
#alter table t1 disable keys;
572
542
# index search for NULL in blob. Bug #4816
607
577
# BUG#12232: New myisam_stats_method variable.
610
show variables like 'myisam_stats_method';
612
create table t1 (a int, key(a));
613
insert into t1 values (0),(1),(2),(3),(4);
614
insert into t1 select NULL from t1;
579
# @TODO The following segfaults. Disabling for now - JRP
581
#show variables like 'myisam_stats_method';
583
#create table t1 (a int, key(a));
584
#insert into t1 values (0),(1),(2),(3),(4);
585
#insert into t1 select NULL from t1;
616
587
# default: NULLs considered inequal
619
insert into t1 values (11);
620
delete from t1 where a=11;
590
#insert into t1 values (11);
591
#delete from t1 where a=11;
624
595
# Set nulls to be equal:
625
set myisam_stats_method=nulls_equal;
626
show variables like 'myisam_stats_method';
627
insert into t1 values (11);
628
delete from t1 where a=11;
633
insert into t1 values (11);
634
delete from t1 where a=11;
596
#set myisam_stats_method=nulls_equal;
597
#show variables like 'myisam_stats_method';
598
#insert into t1 values (11);
599
#delete from t1 where a=11;
604
#insert into t1 values (11);
605
#delete from t1 where a=11;
639
610
# Set nulls back to be equal
640
set myisam_stats_method=DEFAULT;
641
show variables like 'myisam_stats_method';
642
insert into t1 values (11);
643
delete from t1 where a=11;
648
insert into t1 values (11);
649
delete from t1 where a=11;
611
#set myisam_stats_method=DEFAULT;
612
#show variables like 'myisam_stats_method';
613
#insert into t1 values (11);
614
#delete from t1 where a=11;
619
#insert into t1 values (11);
620
#delete from t1 where a=11;
656
627
# WL#2609, CSC#XXXX: MyISAM
657
set myisam_stats_method=nulls_ignored;
658
show variables like 'myisam_stats_method';
661
a char(3), b char(4), c char(5), d char(6),
664
insert into t1 values ('bcd','def1', NULL, 'zz');
665
insert into t1 values ('bcd','def2', NULL, 'zz');
666
insert into t1 values ('bce','def1', 'yuu', NULL);
667
insert into t1 values ('bce','def2', NULL, 'quux');
674
set myisam_stats_method=DEFAULT;
628
#set myisam_stats_method=nulls_ignored;
629
#show variables like 'myisam_stats_method';
632
# a char(3), b char(4), c char(5), d char(6),
635
#insert into t1 values ('bcd','def1', NULL, 'zz');
636
#insert into t1 values ('bcd','def2', NULL, 'zz');
637
#insert into t1 values ('bce','def1', 'yuu', NULL);
638
#insert into t1 values ('bce','def2', NULL, 'quux');
645
#set myisam_stats_method=DEFAULT;
677
648
# BUG#13814 - key value packed incorrectly for TINYBLOBs
680
651
cip INT NOT NULL,
682
652
score INT NOT NULL DEFAULT 0,
686
insert into t1 (cip, time) VALUES (1, '00:01'), (2, '00:02'), (3,'00:03');
687
insert into t1 (cip, bob, time) VALUES (4, 'a', '00:04'), (5, 'b', '00:05'),
656
insert into t1 (cip) VALUES (1), (2), (3);
657
insert into t1 (cip, bob) VALUES (4, 'a' ), (5, 'b'),
689
659
select * from t1 where bob is null and cip=1;
690
create index bug on t1 (bob(22), cip, time);
660
create index bug on t1 (bob(22), cip);
691
661
select * from t1 where bob is null and cip=1;
734
704
# Bug#8283 - OPTIMIZE TABLE causes data loss
736
SET @@myisam_repair_threads=2;
706
SET GLOBAL myisam_repair_threads=2;
737
707
SHOW VARIABLES LIKE 'myisam_repair%';
739
709
# Test OPTIMIZE. This creates a new data file.
740
710
CREATE TABLE t1 (
741
`_id` int(11) NOT NULL default '0',
711
`_id` int NOT NULL default '0',
744
714
`description` text,
745
`loverlap` int(11) default NULL,
746
`roverlap` int(11) default NULL,
747
`lneighbor_id` int(11) default NULL,
748
`rneighbor_id` int(11) default NULL,
749
`length_` int(11) default NULL,
750
`sequence` mediumtext,
715
`loverlap` int default NULL,
716
`roverlap` int default NULL,
717
`lneighbor_id` int default NULL,
718
`rneighbor_id` int default NULL,
719
`length_` int default NULL,
752
722
`_obj_class` text NOT NULL,
753
723
PRIMARY KEY (`_id`),
754
724
UNIQUE KEY `sequence_name_index` (`name`(50)),
756
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
758
728
INSERT INTO t1 VALUES
759
729
(1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'sample1',''),
760
730
(2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'sample2',''),
781
751
# Test REPAIR QUICK. This retains the old data file.
782
752
CREATE TABLE t1 (
783
`_id` int(11) NOT NULL default '0',
753
`_id` int NOT NULL default '0',
786
756
`description` text,
787
`loverlap` int(11) default NULL,
788
`roverlap` int(11) default NULL,
789
`lneighbor_id` int(11) default NULL,
790
`rneighbor_id` int(11) default NULL,
791
`length_` int(11) default NULL,
792
`sequence` mediumtext,
757
`loverlap` int default NULL,
758
`roverlap` int default NULL,
759
`lneighbor_id` int default NULL,
760
`rneighbor_id` int default NULL,
761
`length_` int default NULL,
794
764
`_obj_class` text NOT NULL,
795
765
PRIMARY KEY (`_id`),
796
766
UNIQUE KEY `sequence_name_index` (`name`(50)),
798
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
800
770
INSERT INTO t1 VALUES
801
771
(1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'sample1',''),
802
772
(2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'sample2',''),
1008
978
# Some errors/warnings on create
1011
982
create table t1 (v varchar(65530), key(v));
1012
drop table if exists t1;
1013
984
create table t1 (v varchar(65536));
1014
show create table t1;
1016
create table t1 (v varchar(65530) character set utf8);
1017
show create table t1;
986
create table t1 (v varchar(65530));
1020
988
# MyISAM specific varchar tests
1022
990
create table t1 (v varchar(65535));
1024
992
eval set storage_engine=$default;
1027
# Test concurrent insert
1028
# First with static record length
1030
set @save_concurrent_insert=@@concurrent_insert;
1031
set global concurrent_insert=1;
1032
create table t1 (a int);
1033
insert into t1 values (1),(2),(3),(4),(5);
1034
lock table t1 read local;
1035
connect (con1,localhost,root,,);
1037
# Insert in table without hole
1038
insert into t1 values(6),(7);
1041
delete from t1 where a>=3 and a<=4;
1042
lock table t1 read local;
1044
set global concurrent_insert=2;
1045
# Insert in table with hole -> Should insert at end
1046
insert into t1 values (8),(9);
1050
insert into t1 values (10),(11),(12);
1056
# Same test with dynamic record length
1057
create table t1 (a int, b varchar(30) default "hello");
1058
insert into t1 (a) values (1),(2),(3),(4),(5);
1059
lock table t1 read local;
1060
connect (con1,localhost,root,,);
1062
# Insert in table without hole
1063
insert into t1 (a) values(6),(7);
1066
delete from t1 where a>=3 and a<=4;
1067
lock table t1 read local;
1069
set global concurrent_insert=2;
1070
# Insert in table with hole -> Should insert at end
1071
insert into t1 (a) values (8),(9);
1075
insert into t1 (a) values (10),(11),(12);
1080
set global concurrent_insert=@save_concurrent_insert;
1083
995
# BUG#9622 - ANALYZE TABLE and ALTER TABLE .. ENABLE INDEX produce
1084
996
# different statistics on the same table with NULL values.
1178
1090
# Test of key_block_size
1181
create table t1 (a int not null, key `a` (a) key_block_size=1024);
1182
show create table t1;
1185
create table t1 (a int not null, key `a` (a) key_block_size=2048);
1186
show create table t1;
1189
create table t1 (a varchar(2048), key `a` (a));
1190
show create table t1;
1193
create table t1 (a varchar(2048), key `a` (a) key_block_size=1024);
1194
show create table t1;
1197
create table t1 (a int not null, b varchar(2048), key (a), key(b)) key_block_size=1024;
1093
create table t1 (a int not null, key `a` (a) key_block_size=1024) ENGINE=MyISAM;
1094
show create table t1;
1097
create table t1 (a int not null, key `a` (a) key_block_size=2048) ENGINE=MyISAM;
1098
show create table t1;
1101
create table t1 (a varchar(2048), key `a` (a)) ENGINE=MyISAM;
1102
show create table t1;
1105
create table t1 (a varchar(2048), key `a` (a) key_block_size=1024) ENGINE=MyISAM;
1106
show create table t1;
1109
create table t1 (a int not null, b varchar(2048), key (a), key(b)) ENGINE=MyISAM key_block_size=1024;
1198
1110
show create table t1;
1199
1111
alter table t1 key_block_size=2048;
1200
1112
show create table t1;
1205
1117
show create table t1;
1208
create table t1 (a int not null, b varchar(2048), key (a), key(b)) key_block_size=8192;
1209
show create table t1;
1212
create table t1 (a int not null, b varchar(2048), key (a) key_block_size=1024, key(b)) key_block_size=8192;
1213
show create table t1;
1216
create table t1 (a int not null, b int, key (a) key_block_size=1024, key(b) key_block_size=8192) key_block_size=16384;
1120
create table t1 (a int not null, b varchar(2048), key (a), key(b)) ENGINE=MyISAM key_block_size=8192;
1121
show create table t1;
1124
create table t1 (a int not null, b varchar(2048), key (a) key_block_size=1024, key(b)) ENGINE=MyISAM key_block_size=8192;
1125
show create table t1;
1128
create table t1 (a int not null, b int, key (a) key_block_size=1024, key(b) key_block_size=8192) ENGINE=MyISAM key_block_size=16384;
1217
1129
show create table t1;
1221
1133
# Test limits and errors of key_block_size
1223
create table t1 (a int not null, key `a` (a) key_block_size=512);
1224
show create table t1;
1227
create table t1 (a varchar(2048), key `a` (a) key_block_size=1000000000000000000);
1228
show create table t1;
1231
create table t1 (a int not null, key `a` (a) key_block_size=1025);
1232
show create table t1;
1236
create table t1 (a int not null, key key_block_size=1024 (a));
1238
create table t1 (a int not null, key `a` key_block_size=1024 (a));
1135
create table t1 (a int not null, key `a` (a) key_block_size=512) ENGINE=MyISAM;
1136
show create table t1;
1139
create table t1 (a varchar(2048), key `a` (a) key_block_size=1000000000000000000) ENGINE=MyISAM;
1140
show create table t1;
1143
create table t1 (a int not null, key `a` (a) key_block_size=1025) ENGINE=MyISAM;
1144
show create table t1;
1148
create table t1 (a int not null, key key_block_size=1024 (a)) ENGINE=MyISAM;
1150
create table t1 (a int not null, key `a` key_block_size=1024 (a)) ENGINE=MyISAM;
1241
1153
# Bug#22119 - Changing MI_KEY_BLOCK_LENGTH makes a wrong myisamchk