Loading Docs/manual.texi +10 −1 Original line number Diff line number Diff line Loading @@ -50223,6 +50223,7 @@ each individual 4.0.x release. @menu * News-4.0.5:: Changes in release 4.0.5 * News-4.0.4:: Changes in release 4.0.4 * News-4.0.3:: Changes in release 4.0.3 (26 Aug 2002: Beta) * News-4.0.2:: Changes in release 4.0.2 (01 Jul 2002) Loading @@ -50230,7 +50231,15 @@ each individual 4.0.x release. * News-4.0.0:: Changes in release 4.0.0 (Oct 2001: Alpha) @end menu @node News-4.0.4, News-4.0.3, News-4.0.x, News-4.0.x @node News-4.0.5, News-4.0.4, News-4.0.x, News-4.0.x @appendixsubsec Changes in release 4.0.5 @itemize @item Give error if one has more than 2 ^ 32 rows in a MyISAM MERGE file and one has not compiled MySQL with @code{-DBIG_TABLES}. @end itemize @node News-4.0.4, News-4.0.3, News-4.0.5, News-4.0.x @appendixsubsec Changes in release 4.0.4 @itemize @bullet sql/ha_myisammrg.cc +22 −5 Original line number Diff line number Diff line Loading @@ -53,15 +53,23 @@ int ha_myisammrg::open(const char *name, int mode, uint test_if_locked) info(HA_STATUS_NO_LOCK | HA_STATUS_VARIABLE | HA_STATUS_CONST); if (!(test_if_locked & HA_OPEN_WAIT_IF_LOCKED)) myrg_extra(file,HA_EXTRA_WAIT_LOCK,0); if (table->reclength != mean_rec_length && mean_rec_length) { DBUG_PRINT("error",("reclength: %d mean_rec_length: %d", table->reclength, mean_rec_length)); myrg_close(file); file=0; return my_errno=HA_ERR_WRONG_TABLE_DEF; goto err; } #if !defined(BIG_TABLES) || SIZEOF_OFF_T == 4 /* Merge table has more than 2G rows */ if (table->crashed) goto err; #endif return (0); err: myrg_close(file); file=0; return (my_errno= HA_ERR_WRONG_TABLE_DEF); } int ha_myisammrg::close(void) Loading Loading @@ -184,8 +192,17 @@ void ha_myisammrg::info(uint flag) { MYMERGE_INFO info; (void) myrg_status(file,&info,flag); records = info.records; deleted = info.deleted; /* The following fails if one has not compiled MySQL with -DBIG_TABLES and one has more than 2^32 rows in the merge tables. */ records = (ha_rows) info.records; deleted = (ha_rows) info.deleted; #if !defined(BIG_TABLES) || SIZEOF_OFF_T == 4 if ((info.records >= (ulonglong) 1 << 32) || (info.deleted >= (ulonglong) 1 << 32)) table->crashed=1; #endif data_file_length=info.data_file_length; errkey = info.errkey; table->keys_in_use= set_bits(key_map, table->keys); Loading sql/handler.h +2 −2 Original line number Diff line number Diff line Loading @@ -192,8 +192,8 @@ class handler :public Sql_alloc byte *dupp_ref; /* Pointer to dupp row */ uint ref_length; /* Length of ref (1-8) */ uint block_size; /* index block size */ ulonglong records; /* Records i datafilen */ ulonglong deleted; /* Deleted records */ ha_rows records; /* Records i datafilen */ ha_rows deleted; /* Deleted records */ ulonglong data_file_length; /* Length off data file */ ulonglong max_data_file_length; /* Length off data file */ ulonglong index_file_length; Loading Loading
Docs/manual.texi +10 −1 Original line number Diff line number Diff line Loading @@ -50223,6 +50223,7 @@ each individual 4.0.x release. @menu * News-4.0.5:: Changes in release 4.0.5 * News-4.0.4:: Changes in release 4.0.4 * News-4.0.3:: Changes in release 4.0.3 (26 Aug 2002: Beta) * News-4.0.2:: Changes in release 4.0.2 (01 Jul 2002) Loading @@ -50230,7 +50231,15 @@ each individual 4.0.x release. * News-4.0.0:: Changes in release 4.0.0 (Oct 2001: Alpha) @end menu @node News-4.0.4, News-4.0.3, News-4.0.x, News-4.0.x @node News-4.0.5, News-4.0.4, News-4.0.x, News-4.0.x @appendixsubsec Changes in release 4.0.5 @itemize @item Give error if one has more than 2 ^ 32 rows in a MyISAM MERGE file and one has not compiled MySQL with @code{-DBIG_TABLES}. @end itemize @node News-4.0.4, News-4.0.3, News-4.0.5, News-4.0.x @appendixsubsec Changes in release 4.0.4 @itemize @bullet
sql/ha_myisammrg.cc +22 −5 Original line number Diff line number Diff line Loading @@ -53,15 +53,23 @@ int ha_myisammrg::open(const char *name, int mode, uint test_if_locked) info(HA_STATUS_NO_LOCK | HA_STATUS_VARIABLE | HA_STATUS_CONST); if (!(test_if_locked & HA_OPEN_WAIT_IF_LOCKED)) myrg_extra(file,HA_EXTRA_WAIT_LOCK,0); if (table->reclength != mean_rec_length && mean_rec_length) { DBUG_PRINT("error",("reclength: %d mean_rec_length: %d", table->reclength, mean_rec_length)); myrg_close(file); file=0; return my_errno=HA_ERR_WRONG_TABLE_DEF; goto err; } #if !defined(BIG_TABLES) || SIZEOF_OFF_T == 4 /* Merge table has more than 2G rows */ if (table->crashed) goto err; #endif return (0); err: myrg_close(file); file=0; return (my_errno= HA_ERR_WRONG_TABLE_DEF); } int ha_myisammrg::close(void) Loading Loading @@ -184,8 +192,17 @@ void ha_myisammrg::info(uint flag) { MYMERGE_INFO info; (void) myrg_status(file,&info,flag); records = info.records; deleted = info.deleted; /* The following fails if one has not compiled MySQL with -DBIG_TABLES and one has more than 2^32 rows in the merge tables. */ records = (ha_rows) info.records; deleted = (ha_rows) info.deleted; #if !defined(BIG_TABLES) || SIZEOF_OFF_T == 4 if ((info.records >= (ulonglong) 1 << 32) || (info.deleted >= (ulonglong) 1 << 32)) table->crashed=1; #endif data_file_length=info.data_file_length; errkey = info.errkey; table->keys_in_use= set_bits(key_map, table->keys); Loading
sql/handler.h +2 −2 Original line number Diff line number Diff line Loading @@ -192,8 +192,8 @@ class handler :public Sql_alloc byte *dupp_ref; /* Pointer to dupp row */ uint ref_length; /* Length of ref (1-8) */ uint block_size; /* index block size */ ulonglong records; /* Records i datafilen */ ulonglong deleted; /* Deleted records */ ha_rows records; /* Records i datafilen */ ha_rows deleted; /* Deleted records */ ulonglong data_file_length; /* Length off data file */ ulonglong max_data_file_length; /* Length off data file */ ulonglong index_file_length; Loading