mirror of
https://github.com/MariaDB/server.git
synced 2025-05-28 13:01:41 +03:00

Some simple optimzations, more comments and indentation changes. Add ` around database in 'use database' in binary log. Moved max_error_count and max_warning_count to variables struct. Removed SHOW_WARNS_COUNT and SHOW_ERRORS_COUNT calls. Changed string functions to use character set of first string argument as default return characterset (Each string function can change the above assumption if needed)
96 lines
3.9 KiB
Plaintext
96 lines
3.9 KiB
Plaintext
#
|
|
# Test bugs in the MyISAM code
|
|
#
|
|
|
|
drop table if exists t1;
|
|
CREATE TABLE t1 (
|
|
STRING_DATA char(255) default NULL,
|
|
KEY string_data (STRING_DATA)
|
|
) TYPE=MyISAM;
|
|
|
|
INSERT INTO t1 VALUES ('AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA');
|
|
INSERT INTO t1 VALUES ('DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD');
|
|
INSERT INTO t1 VALUES ('FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF');
|
|
INSERT INTO t1 VALUES ('FGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG');
|
|
INSERT INTO t1 VALUES ('HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH');
|
|
INSERT INTO t1 VALUES ('WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW');
|
|
CHECK TABLE t1;
|
|
drop table t1;
|
|
|
|
#
|
|
# Test problem with rows that are 65517-65520 bytes long
|
|
#
|
|
|
|
create table t1 (a tinyint not null auto_increment, b blob not null, primary key (a));
|
|
|
|
let $1=100;
|
|
disable_query_log;
|
|
while ($1)
|
|
{
|
|
eval insert into t1 (b) values(repeat(char(65+$1),65550-$1));
|
|
dec $1;
|
|
}
|
|
enable_query_log;
|
|
check table t1;
|
|
repair table t1;
|
|
delete from t1 where (a & 1);
|
|
check table t1;
|
|
repair table t1;
|
|
check table t1;
|
|
drop table t1;
|
|
|
|
#
|
|
# Test bug: Two optimize in a row reset index cardinality
|
|
#
|
|
|
|
create table t1 (a int not null auto_increment, b int not null, primary key (a), index(b));
|
|
insert into t1 (b) values (1),(2),(2),(2),(2);
|
|
optimize table t1;
|
|
show index from t1;
|
|
optimize table t1;
|
|
show index from t1;
|
|
drop table t1;
|
|
|
|
#
|
|
# Test of how ORDER BY works when doing it on the whole table
|
|
#
|
|
|
|
create table t1 (a int not null, b int not null, c int not null, primary key (a),key(b)) type=myisam;
|
|
insert into t1 values (3,3,3),(1,1,1),(2,2,2),(4,4,4);
|
|
explain select * from t1 order by a;
|
|
explain select * from t1 order by b;
|
|
explain select * from t1 order by c;
|
|
explain select a from t1 order by a;
|
|
explain select b from t1 order by b;
|
|
explain select a,b from t1 order by b;
|
|
explain select a,b from t1;
|
|
explain select a,b,c from t1;
|
|
drop table t1;
|
|
|
|
#
|
|
# Test of REPAIR that once failed
|
|
#
|
|
CREATE TABLE `t1` (
|
|
`post_id` mediumint(8) unsigned NOT NULL auto_increment,
|
|
`topic_id` mediumint(8) unsigned NOT NULL default '0',
|
|
`post_time` datetime NOT NULL default '0000-00-00 00:00:00',
|
|
`post_text` text NOT NULL,
|
|
`icon_url` varchar(10) NOT NULL default '',
|
|
`sign` tinyint(1) unsigned NOT NULL default '0',
|
|
`post_edit` varchar(150) NOT NULL default '',
|
|
`poster_login` varchar(35) NOT NULL default '',
|
|
`ip` varchar(15) NOT NULL default '',
|
|
PRIMARY KEY (`post_id`),
|
|
KEY `post_time` (`post_time`),
|
|
KEY `ip` (`ip`),
|
|
KEY `poster_login` (`poster_login`),
|
|
KEY `topic_id` (`topic_id`),
|
|
FULLTEXT KEY `post_text` (`post_text`)
|
|
) TYPE=MyISAM;
|
|
|
|
INSERT INTO t1 (post_text) VALUES ('ceci est un test'),('ceci est un test'),('ceci est un test'),('ceci est un test'),('ceci est un test');
|
|
|
|
REPAIR TABLE t1;
|
|
CHECK TABLE t1;
|
|
drop table t1;
|