Loading myisam/mi_create.c +7 −6 Original line number Diff line number Diff line Loading @@ -815,18 +815,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; Loading mysql-test/r/myisam.result +5 −0 Original line number Diff line number Diff line Loading @@ -1637,3 +1637,8 @@ 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; mysql-test/t/myisam.test +8 −0 Original line number Diff line number Diff line Loading @@ -1023,4 +1023,12 @@ 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; # End of 4.1 tests Loading
myisam/mi_create.c +7 −6 Original line number Diff line number Diff line Loading @@ -815,18 +815,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; Loading
mysql-test/r/myisam.result +5 −0 Original line number Diff line number Diff line Loading @@ -1637,3 +1637,8 @@ 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;
mysql-test/t/myisam.test +8 −0 Original line number Diff line number Diff line Loading @@ -1023,4 +1023,12 @@ 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; # End of 4.1 tests