diff options
author | istruewing@chilla.local <> | 2007-01-23 11:09:58 +0100 |
---|---|---|
committer | istruewing@chilla.local <> | 2007-01-23 11:09:58 +0100 |
commit | 786063e30c4822f1347bf6602c1952c2fa12c41d (patch) | |
tree | 0d272b03be00ba5c876916ef58608b3dc28033cc | |
parent | 6c86a309f5224f50a39ac93d174c29136fecf8c3 (diff) | |
parent | 2a0ca5df8c690c5c897013e4e1f8abae9b455245 (diff) | |
download | mariadb-git-786063e30c4822f1347bf6602c1952c2fa12c41d.tar.gz |
Merge bk-internal.mysql.com:/home/bk/mysql-5.1-engines
into chilla.local:/home/mydev/mysql-5.1-bug24607
-rw-r--r-- | mysql-test/r/myisam.result | 5 | ||||
-rw-r--r-- | mysql-test/t/myisam.test | 8 | ||||
-rw-r--r-- | storage/myisam/mi_create.c | 13 |
3 files changed, 20 insertions, 6 deletions
diff --git a/mysql-test/r/myisam.result b/mysql-test/r/myisam.result index b4123a08556..2e14442c3c9 100644 --- a/mysql-test/r/myisam.result +++ b/mysql-test/r/myisam.result @@ -1619,6 +1619,11 @@ a 2 3 DROP TABLE t1; +CREATE TABLE t1 (c1 TEXT) AVG_ROW_LENGTH=70100 MAX_ROWS=5100100100; +SHOW TABLE STATUS LIKE 't1'; +Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment +t1 MyISAM 10 Dynamic X X X 72057594037927935 X X X X X X latin1_swedish_ci X max_rows=4294967295 avg_row_length=70100 +DROP TABLE t1; End of 4.1 tests create table t1 (c1 int) engine=myisam pack_keys=0; create table t2 (c1 int) engine=myisam pack_keys=1; diff --git a/mysql-test/t/myisam.test b/mysql-test/t/myisam.test index c2a949a7138..45a61d1928f 100644 --- a/mysql-test/t/myisam.test +++ b/mysql-test/t/myisam.test @@ -995,6 +995,14 @@ INSERT INTO t1 VALUES(1),(2); UPDATE t1,t1 AS t2 SET t1.a=t1.a+2 WHERE t1.a=t2.a-1; SELECT * FROM t1 ORDER BY a; DROP TABLE t1; + +# +# Bug#24607 - MyISAM pointer size determined incorrectly +# +CREATE TABLE t1 (c1 TEXT) AVG_ROW_LENGTH=70100 MAX_ROWS=5100100100; +--replace_column 5 X 6 X 7 X 9 X 10 X 11 X 12 X 13 X 14 X 16 X +SHOW TABLE STATUS LIKE 't1'; +DROP TABLE t1; --echo End of 4.1 tests # diff --git a/storage/myisam/mi_create.c b/storage/myisam/mi_create.c index 83f899dbbda..2b8cbcc7da5 100644 --- a/storage/myisam/mi_create.c +++ b/storage/myisam/mi_create.c @@ -850,18 +850,19 @@ uint mi_get_pointer_length(ulonglong file_length, uint def) if (file_length) /* If not default */ { #ifdef NOT_YET_READY_FOR_8_BYTE_POINTERS - if (file_length >= (longlong) 1 << 56) + if (file_length >= ULL(1) << 56) def=8; + else #endif - if (file_length >= (longlong) 1 << 48) + if (file_length >= ULL(1) << 48) def=7; - if (file_length >= (longlong) 1 << 40) + else if (file_length >= ULL(1) << 40) def=6; - else if (file_length >= (longlong) 1 << 32) + else if (file_length >= ULL(1) << 32) def=5; - else if (file_length >= (1L << 24)) + else if (file_length >= ULL(1) << 24) def=4; - else if (file_length >= (1L << 16)) + else if (file_length >= ULL(1) << 16) def=3; else def=2; |