1.2048 05/10/20 10:31:16 ingo@mysql.com +1 -0

Bug#12166 - Unable to index very large tables
Moved clearing of errors behind the second repair attempt,
but will clear only if no error happened.

No test case. The error can be repeated with little free
space on tmpdir only. I do not know of a way to create this
in a portable way with our test suite.

I did however attach a shell script to the bug report which
can easily be adapted to the situation on the test machine.


myisam/mi_check.c:
  Bug#12166 - Unable to index very large tables
  Changed comments.
  Removed unnecessary use of param->keys_in_use.
sql/ha_myisam.cc:
  Bug#12166 - Unable to index very large tables
  Moved clearing of errors behind the second repair attempt,
  but will clear only if no error happened.
This commit is contained in:
unknown 2005-10-26 14:01:54 +02:00
commit 88a58fba88
2 changed files with 20 additions and 10 deletions

View file

@ -985,11 +985,16 @@ int ha_myisam::enable_indexes(uint mode)
{
sql_print_warning("Warning: Enabling keys got errno %d, retrying",
my_errno);
thd->clear_error();
/* Repairing by sort failed. Now try standard repair method. */
param.testflag&= ~(T_REP_BY_SORT | T_QUICK);
error= (repair(thd,param,0) != HA_ADMIN_OK);
if (!error && thd->net.report_error)
error= HA_ERR_CRASHED;
/*
If the standard repair succeeded, clear all error messages which
might have been set by the first repair. They can still be seen
with SHOW WARNINGS then.
*/
if (! error)
thd->clear_error();
}
info(HA_STATUS_CONST);
thd->proc_info=save_proc_info;