diff options
author | unknown <serg@infomag.ape.relarn.ru> | 2000-08-17 19:43:38 +0400 |
---|---|---|
committer | unknown <serg@infomag.ape.relarn.ru> | 2000-08-17 19:43:38 +0400 |
commit | 340794dd2991246daf964e95067309c3183aa86a (patch) | |
tree | 61fefc80eb0d424581f37b4ef5afc273ddae58af /myisam | |
parent | f02d7772d9a18c312fba536784511f6858f0706f (diff) | |
parent | f70441c7c37b323dab2d93cfaaa43c9b0be39ef3 (diff) | |
download | mariadb-git-340794dd2991246daf964e95067309c3183aa86a.tar.gz |
Merge
sql/handler.h:
Auto merged
BitKeeper/etc/logging_ok:
Auto merged
Diffstat (limited to 'myisam')
-rw-r--r-- | myisam/mi_check.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/myisam/mi_check.c b/myisam/mi_check.c index 82524334886..50225cd71cb 100644 --- a/myisam/mi_check.c +++ b/myisam/mi_check.c @@ -339,7 +339,14 @@ int chk_key(MI_CHECK *param, register MI_INFO *info) { param->key_crc[key]=0; if (!(((ulonglong) 1 << key) & share->state.key_map)) + { + /* Remember old statistics for key */ + memcpy((char*) rec_per_key_part, + (char*) share->state.rec_per_key_part+ + (uint) (rec_per_key_part - param->rec_per_key_part), + keyinfo->keysegs*sizeof(*rec_per_key_part)); continue; + } found_keys++; param->record_checksum=init_checksum; @@ -1730,7 +1737,14 @@ int mi_repair_by_sort(MI_CHECK *param, register MI_INFO *info, { sort_info->keyinfo=share->keyinfo+sort_info->key; if (!(((ulonglong) 1 << sort_info->key) & key_map)) + { + /* Remember old statistics for key */ + memcpy((char*) rec_per_key_part, + (char*) share->state.rec_per_key_part+ + (uint) (rec_per_key_part - param->rec_per_key_part), + sort_info->keyinfo->keysegs*sizeof(*rec_per_key_part)); continue; + } if ((!(param->testflag & T_SILENT))) printf ("- Fixing index %d\n",sort_info->key+1); |