summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--myisam/mi_check.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/myisam/mi_check.c b/myisam/mi_check.c
index a4ae7b25dbb..466defe8fbc 100644
--- a/myisam/mi_check.c
+++ b/myisam/mi_check.c
@@ -1153,6 +1153,9 @@ int mi_repair(MI_CHECK *param, register MI_INFO *info,
}
param->testflag|=T_REP; /* for easy checking */
+ if (info->s->options & (HA_OPTION_CHECKSUM | HA_OPTION_COMPRESS_RECORD))
+ param->testflag|=T_CALC_CHECKSUM;
+
if (!param->using_global_keycache)
VOID(init_key_cache(param->use_buffers));
@@ -1820,6 +1823,9 @@ int mi_repair_by_sort(MI_CHECK *param, register MI_INFO *info,
}
param->testflag|=T_REP; /* for easy checking */
+ if (info->s->options & (HA_OPTION_CHECKSUM | HA_OPTION_COMPRESS_RECORD))
+ param->testflag|=T_CALC_CHECKSUM;
+
bzero((char*)&sort_info,sizeof(sort_info));
bzero((char *)&sort_param, sizeof(sort_param));
if (!(sort_info.key_block=
@@ -2189,6 +2195,9 @@ int mi_repair_parallel(MI_CHECK *param, register MI_INFO *info,
}
param->testflag|=T_REP; /* for easy checking */
+ if (info->s->options & (HA_OPTION_CHECKSUM | HA_OPTION_COMPRESS_RECORD))
+ param->testflag|=T_CALC_CHECKSUM;
+
bzero((char*)&sort_info,sizeof(sort_info));
if (!(sort_info.key_block=
alloc_key_blocks(param,