Commit 12d8755b authored by unknown's avatar unknown

Merge bk-internal.mysql.com:/home/bk/mysql-5.1-engines

into  chilla.local:/home/mydev/mysql-5.1-bug24607


mysql-test/r/myisam.result:
  Auto merged
mysql-test/t/myisam.test:
  Auto merged
parents ea042b93 9134c4eb
...@@ -1619,6 +1619,11 @@ a ...@@ -1619,6 +1619,11 @@ a
2 2
3 3
DROP TABLE t1; 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 End of 4.1 tests
create table t1 (c1 int) engine=myisam pack_keys=0; create table t1 (c1 int) engine=myisam pack_keys=0;
create table t2 (c1 int) engine=myisam pack_keys=1; create table t2 (c1 int) engine=myisam pack_keys=1;
......
...@@ -995,6 +995,14 @@ INSERT INTO t1 VALUES(1),(2); ...@@ -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; UPDATE t1,t1 AS t2 SET t1.a=t1.a+2 WHERE t1.a=t2.a-1;
SELECT * FROM t1 ORDER BY a; SELECT * FROM t1 ORDER BY a;
DROP TABLE t1; 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 --echo End of 4.1 tests
# #
......
...@@ -850,18 +850,19 @@ uint mi_get_pointer_length(ulonglong file_length, uint def) ...@@ -850,18 +850,19 @@ uint mi_get_pointer_length(ulonglong file_length, uint def)
if (file_length) /* If not default */ if (file_length) /* If not default */
{ {
#ifdef NOT_YET_READY_FOR_8_BYTE_POINTERS #ifdef NOT_YET_READY_FOR_8_BYTE_POINTERS
if (file_length >= (longlong) 1 << 56) if (file_length >= ULL(1) << 56)
def=8; def=8;
else
#endif #endif
if (file_length >= (longlong) 1 << 48) if (file_length >= ULL(1) << 48)
def=7; def=7;
if (file_length >= (longlong) 1 << 40) else if (file_length >= ULL(1) << 40)
def=6; def=6;
else if (file_length >= (longlong) 1 << 32) else if (file_length >= ULL(1) << 32)
def=5; def=5;
else if (file_length >= (1L << 24)) else if (file_length >= ULL(1) << 24)
def=4; def=4;
else if (file_length >= (1L << 16)) else if (file_length >= ULL(1) << 16)
def=3; def=3;
else else
def=2; def=2;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment