diff options
author | monty@donna.mysql.com <> | 2000-08-17 01:20:21 +0300 |
---|---|---|
committer | monty@donna.mysql.com <> | 2000-08-17 01:20:21 +0300 |
commit | 29456f6e1c9c3fa0abf58022cfe6045509b9f7c3 (patch) | |
tree | 19c14783fd50a8c44254ce4a6529d9f226add65b /myisam | |
parent | 3eaa2494efe181bb28f1a1089b07020f06395950 (diff) | |
parent | c5842d42f6f9881750ec8559781fa1bac8945bda (diff) | |
download | mariadb-git-29456f6e1c9c3fa0abf58022cfe6045509b9f7c3.tar.gz |
Merge
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); |