Loading myisam/sort.c +3 −2 Original line number Diff line number Diff line Loading @@ -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 Loading mysql-test/r/kill.result +1 −1 Original line number Diff line number Diff line Loading @@ -22,7 +22,7 @@ create table t2 (id int unsigned not null); insert into t2 select id from t1; create table t3 (kill_id int); insert into t3 values(connection_id()); select id from t1 where id in (select distinct id from t2); select id from t1 where id in (select distinct a.id from t2 a, t2 b, t2 c, t2 d group by a.id, b.id, c.id, d.id having a.id between 10 and 20); select ((@id := kill_id) - kill_id) from t3; ((@id := kill_id) - kill_id) 0 Loading mysql-test/suite/large_tests/README.TXT 0 → 100644 +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 mysql-test/suite/large_tests/r/alter_table.result 0 → 100644 +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; mysql-test/suite/large_tests/t/alter_table.test 0 → 100644 +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; Loading
myisam/sort.c +3 −2 Original line number Diff line number Diff line Loading @@ -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 Loading
mysql-test/r/kill.result +1 −1 Original line number Diff line number Diff line Loading @@ -22,7 +22,7 @@ create table t2 (id int unsigned not null); insert into t2 select id from t1; create table t3 (kill_id int); insert into t3 values(connection_id()); select id from t1 where id in (select distinct id from t2); select id from t1 where id in (select distinct a.id from t2 a, t2 b, t2 c, t2 d group by a.id, b.id, c.id, d.id having a.id between 10 and 20); select ((@id := kill_id) - kill_id) from t3; ((@id := kill_id) - kill_id) 0 Loading
mysql-test/suite/large_tests/README.TXT 0 → 100644 +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
mysql-test/suite/large_tests/r/alter_table.result 0 → 100644 +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;
mysql-test/suite/large_tests/t/alter_table.test 0 → 100644 +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;