Loading mysql-test/r/create.result +19 −0 Original line number Diff line number Diff line Loading @@ -743,3 +743,22 @@ t2 CREATE TABLE `t2` ( `a2` int(11) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 drop table t1, t2; create table t1 (i int) engine=myisam max_rows=100000000000; show create table t1; Table Create Table t1 CREATE TABLE `t1` ( `i` int(11) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 MAX_ROWS=4294967295 alter table t1 max_rows=100; show create table t1; Table Create Table t1 CREATE TABLE `t1` ( `i` int(11) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 MAX_ROWS=100 alter table t1 max_rows=100000000000; show create table t1; Table Create Table t1 CREATE TABLE `t1` ( `i` int(11) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 MAX_ROWS=4294967295 drop table t1; mysql-test/t/create.test +14 −0 Original line number Diff line number Diff line Loading @@ -631,3 +631,17 @@ show create table t2; drop table t1, t2; # End of 4.1 tests # # Bug #14155: Maximum value of MAX_ROWS handled incorrectly on 64-bit # platforms # create table t1 (i int) engine=myisam max_rows=100000000000; show create table t1; alter table t1 max_rows=100; show create table t1; alter table t1 max_rows=100000000000; show create table t1; drop table t1; # End of 5.0 tests sql/table.cc +4 −4 Original line number Diff line number Diff line Loading @@ -1405,10 +1405,10 @@ File create_frm(THD *thd, my_string name, const char *db, #if SIZEOF_OFF_T > 4 /* Fix this when we have new .frm files; Current limit is 4G rows (QQ) */ if (create_info->max_rows > ~(ulong) 0) create_info->max_rows= ~(ulong) 0; if (create_info->min_rows > ~(ulong) 0) create_info->min_rows= ~(ulong) 0; if (create_info->max_rows > UINT_MAX32) create_info->max_rows= UINT_MAX32; if (create_info->min_rows > UINT_MAX32) create_info->min_rows= UINT_MAX32; #endif /* Ensure that raid_chunks can't be larger than 255, as this would cause Loading Loading
mysql-test/r/create.result +19 −0 Original line number Diff line number Diff line Loading @@ -743,3 +743,22 @@ t2 CREATE TABLE `t2` ( `a2` int(11) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 drop table t1, t2; create table t1 (i int) engine=myisam max_rows=100000000000; show create table t1; Table Create Table t1 CREATE TABLE `t1` ( `i` int(11) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 MAX_ROWS=4294967295 alter table t1 max_rows=100; show create table t1; Table Create Table t1 CREATE TABLE `t1` ( `i` int(11) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 MAX_ROWS=100 alter table t1 max_rows=100000000000; show create table t1; Table Create Table t1 CREATE TABLE `t1` ( `i` int(11) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 MAX_ROWS=4294967295 drop table t1;
mysql-test/t/create.test +14 −0 Original line number Diff line number Diff line Loading @@ -631,3 +631,17 @@ show create table t2; drop table t1, t2; # End of 4.1 tests # # Bug #14155: Maximum value of MAX_ROWS handled incorrectly on 64-bit # platforms # create table t1 (i int) engine=myisam max_rows=100000000000; show create table t1; alter table t1 max_rows=100; show create table t1; alter table t1 max_rows=100000000000; show create table t1; drop table t1; # End of 5.0 tests
sql/table.cc +4 −4 Original line number Diff line number Diff line Loading @@ -1405,10 +1405,10 @@ File create_frm(THD *thd, my_string name, const char *db, #if SIZEOF_OFF_T > 4 /* Fix this when we have new .frm files; Current limit is 4G rows (QQ) */ if (create_info->max_rows > ~(ulong) 0) create_info->max_rows= ~(ulong) 0; if (create_info->min_rows > ~(ulong) 0) create_info->min_rows= ~(ulong) 0; if (create_info->max_rows > UINT_MAX32) create_info->max_rows= UINT_MAX32; if (create_info->min_rows > UINT_MAX32) create_info->min_rows= UINT_MAX32; #endif /* Ensure that raid_chunks can't be larger than 255, as this would cause Loading