mariadb/mysql-test/t/myisam.test
unknown 8f232cb75f Portability fixes.
Improve mysql-test to be more robust.
Fix that GRANT doesn't delete SSL options
Change innobase_flush_log_at_trx_commit to uint.
Don't rotate logs if we read a rotate log entry from the master.


Docs/manual.texi:
  Changelog
client/mysqlbinlog.cc:
  Handle empty binlogfiles gracefully
client/mysqltest.c:
  Do a sleep after 'sync_with_master'
  Cleaned up sleep() handling.
  Free all memory on exit
configure.in:
  Fix for Mac OS 10.2
include/my_sys.h:
  Added my_strdup_with_length()
innobase/btr/btr0cur.c:
  Fixed wrong printf()
libmysql/libmysql.c:
  Added DBUG_PRINT statements.
  Assume that mysql_...send() functions has correct query length.
mysql-test/mysql-test-run.sh:
  Properly remove log files before starting new tests.
mysql-test/r/grant.result:
  Update for new test results
mysql-test/r/innodb.result:
  Update for new test results
mysql-test/r/myisam.result:
  Update for new test results
mysql-test/r/rpl_log.result:
  Update for new test results
mysql-test/r/rpl_rotate_logs.result:
  Update for new test results
mysql-test/r/variables.result:
  Update for new test results
mysql-test/t/grant.test:
  Test that GRANT doesn't delete SSL options
mysql-test/t/myisam.test:
  Test long key usage
mysql-test/t/rpl_log.test:
  Disable 'show new master'
mysql-test/t/rpl_mystery22.test:
  Longer sleep for more safety.
mysql-test/t/rpl_rotate_logs.test:
  More comments
mysys/my_malloc.c:
  Added my_strdup_with_length()
mysys/safemalloc.c:
  Added my_strdup_with_length()
mysys/thr_alarm.c:
  Fix of alarms for windows.
sql/ha_innodb.cc:
  Change innobase_flush_log_at_trx_commit to uint
mysql-test/r/rpl_redirect.result:
  Updated test results
mysql-test/t/rpl_redirect.test:
  Added more tests to improve code coverage.
sql/ha_innodb.h:
  Change innobase_flush_log_at_trx_commit to uint
sql/item_func.cc:
  Return GLOBAL and SESSION as part of column names
sql/log.cc:
  Only write STOP events when server goes down.
sql/log_event.cc:
  Don't rotate logs if we read a rotate log entry from the master.
sql/log_event.h:
  Change ident_len to uint (more efficient)
sql/mysqld.cc:
  Change innobase_flush_log_at_trx_commit to uint
sql/net_serv.cc:
  More debug output
sql/repl_failsafe.cc:
  More DEBUG
  Search until we find next position in binary log (and not only =)
sql/slave.cc:
  More DBUG & comments
  Don't rotate the binary log on master flush logs
sql/slave.h:
  indentation change
sql/sql_acl.cc:
  Test that GRANT doesn't delete SSL options
sql/sql_parse.cc:
  Disable show_new_master.
sql/sql_repl.cc:
  Chamger show_binlog_events() to use my_error()
sql/sql_table.cc:
  Fixed check for too long keys in MyISAM
sql/sql_udf.cc:
  Fix udf handling
2002-09-11 06:40:08 +03:00

116 lines
4.4 KiB
Text

#
# 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;
#
# Test of OPTIMIZE of locked and modified tables
#
CREATE TABLE t1 (a INT);
INSERT INTO t1 VALUES (1), (2), (3);
LOCK TABLES t1 WRITE;
INSERT INTO t1 VALUES (1), (2), (3);
OPTIMIZE TABLE t1;
DROP TABLE t1;
#
# Test of creating table with too long key
#
--error 1071
CREATE TABLE t1 (a varchar(255), b varchar(255), c varchar(255), KEY t1 (a, b, c));
CREATE TABLE t1 (a varchar(255), b varchar(255), c varchar(255));
--error 1071
ALTER TABLE t1 ADD INDEX t1 (a, b, c);
DROP TABLE t1;