summaryrefslogtreecommitdiff
path: root/myisam
diff options
context:
space:
mode:
authorunknown <monty@donna.mysql.com>2000-08-17 01:20:21 +0300
committerunknown <monty@donna.mysql.com>2000-08-17 01:20:21 +0300
commitc4543517a39e376ce12a86b2d68baf98fde4880e (patch)
tree19c14783fd50a8c44254ce4a6529d9f226add65b /myisam
parentdd38ab7583fb0f850a4be59c1f45261bc1ecf318 (diff)
parent7496ec3173ed1ad87f07ff87058a40e1748ae64c (diff)
downloadmariadb-git-c4543517a39e376ce12a86b2d68baf98fde4880e.tar.gz
Merge
sql-bench/server-cfg.sh: Auto merged Docs/manual.texi: Merged of manual
Diffstat (limited to 'myisam')
-rw-r--r--myisam/mi_check.c14
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);