Commit 1378e94a authored by iggy@amd64.(none)'s avatar iggy@amd64.(none)
Browse files

Merge bk-internal.mysql.com:/home/bk/mysql-5.0-maint

into  amd64.(none):/src/bug27029/my50-bug27029
parents 84034458 39416f50
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -138,8 +138,9 @@ int _create_index_by_sort(MI_SORT_PARAM *info,my_bool no_messages,

  while (memavl >= MIN_SORT_MEMORY)
  {
    if ((my_off_t) (records+1)*(sort_length+sizeof(char*)) <=
	(my_off_t) memavl)
    if ((records < UINT_MAX32) && 
       ((my_off_t) (records + 1) * 
        (sort_length + sizeof(char*)) <= (my_off_t) memavl))
      keys= records+1;
    else
      do
+13 −0
Original line number Diff line number Diff line
large_test suite
================

Iggy Galarza 07/20/07
---------------------

This test suite should include any test that requires:
1. Longer than the default timeout to complete.
2. A considerable amount of disk space.

These tests can be completed with the following command:

mysql-test-run.pl --suite=large_tests --big-test --suite-timeout=6360 --testcase-timeout=795
+37 −0
Original line number Diff line number Diff line
drop table if exists t1;
create table `t1` (`c1` tinyint unsigned not null, key `c1` (`c1`)) 
engine=myisam default charset=utf8;
alter table `t1` disable keys;
insert into t1 values (1),(2),(3),(4);
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1 limit 2147483647;
alter table t1 enable keys;
drop table t1;
+47 −0
Original line number Diff line number Diff line
# The test for bug#27029 requires about 8 hours and 20 minutes on my
# fastest machine.  This test requires at least 60 GB of disk space.
--source include/big_test.inc

#
# Bug#27029 alter table ... enable keys crashes mysqld on large table
#
--disable_warnings
drop table if exists t1;
--enable_warnings

create table `t1` (`c1` tinyint unsigned not null, key `c1` (`c1`)) 
engine=myisam default charset=utf8;
alter table `t1` disable keys;
insert into t1 values (1),(2),(3),(4);
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1 limit 2147483647; #Insert 4294967295 rows.
alter table t1 enable keys;
drop table t1;