Fixed problem with auto-repair of MyISAM tables

Fixed bug in ISAM and MyISAM when updating from multiple-processes


Docs/manual.texi:
  Updated changelog
client/mysqladmin.c:
  Upgraded version number because the change of llstr() is visible
extra/perror.c:
  Added new error message
include/my_base.h:
  Added HA_ERR_CRASHED_ON_USAGE
isam/rnext.c:
  Fixed bug when updating from multiple-processes
isam/rprev.c:
  Fixed bug when updating from multiple-processes
libmysql/libmysql.c:
  Fixed that mysql->options.client_flag was used properly
myisam/mi_locking.c:
  Fixed bug when updating from multiple-processes
myisam/mi_open.c:
  Fixed bug when updating from multiple-processes
  Added HA_ERR_CRASHED_ON_USAGE
myisam/mi_rnext.c:
  Fixed bug when updating from multiple-processes
myisam/mi_rprev.c:
  Fixed bug when updating from multiple-processes
myisam/myisamchk.c:
  Added HA_ERR_CRASHED_ON_USAGE
sql/sql_base.cc:
  Fixed problem with auto-repair of MyISAM tables
sql/table.cc:
  Fixed problem with auto-repair of MyISAM tables
This commit is contained in:
unknown 2000-11-21 03:43:34 +02:00
commit 7c881e34ef
14 changed files with 60 additions and 38 deletions

View file

@ -182,7 +182,7 @@ MI_INFO *mi_open(const char *name, int mode, uint open_flags)
{
DBUG_PRINT("error",("Table is marked as crashed"));
my_errno=((share->state.changed & STATE_CRASHED_ON_REPAIR) ?
HA_ERR_CRASHED_ON_REPAIR : HA_ERR_CRASHED);
HA_ERR_CRASHED_ON_REPAIR : HA_ERR_CRASHED_ON_USAGE);
goto err;
}
/* Correct max_file_length based on length of sizeof_t */
@ -732,7 +732,8 @@ char *mi_state_info_read(char *ptr, MI_STATE_INFO *state)
state->process= mi_uint4korr(ptr); ptr +=4;
state->unique = mi_uint4korr(ptr); ptr +=4;
state->status = mi_uint4korr(ptr); ptr +=4;
ptr +=4; /* extra */
state->update_count=mi_uint4korr(ptr); ptr +=4;
for (i=0; i < keys; i++)
{
state->key_root[i]= mi_sizekorr(ptr); ptr +=8;