summaryrefslogtreecommitdiff
path: root/sql/ha_myisam.cc
diff options
context:
space:
mode:
authorunknown <monty@donna.mysql.com>2000-09-20 04:59:34 +0300
committerunknown <monty@donna.mysql.com>2000-09-20 04:59:34 +0300
commit5993b4947b23e4aca2dfc7b7f92b30f14e56c04f (patch)
tree47e17b2858b02fa9f69cb087e6add8a937bbd62f /sql/ha_myisam.cc
parent96b2e908528a5532eb89468569a6db302182d37c (diff)
parent5a2419eb89d2f617e94ebef64ffbef72417ec94c (diff)
downloadmariadb-git-5993b4947b23e4aca2dfc7b7f92b30f14e56c04f.tar.gz
merge
mysys/mf_format.c: Auto merged sql/ha_myisam.cc: Auto merged sql/mysql_priv.h: Auto merged sql/sql_table.cc: Auto merged
Diffstat (limited to 'sql/ha_myisam.cc')
-rw-r--r--sql/ha_myisam.cc11
1 files changed, 7 insertions, 4 deletions
diff --git a/sql/ha_myisam.cc b/sql/ha_myisam.cc
index aac53c5667d..77e9ac6b1dc 100644
--- a/sql/ha_myisam.cc
+++ b/sql/ha_myisam.cc
@@ -417,7 +417,8 @@ int ha_myisam::optimize(THD* thd, HA_CHECK_OPT *check_opt)
param.op_name = (char*) "optimize";
param.testflag = (check_opt->flags | T_SILENT | T_FORCE_CREATE |
T_REP_BY_SORT | T_STATISTICS | T_SORT_INDEX);
- param.opt_rep_quick++;
+ if (check_opt->quick)
+ param.opt_rep_quick++;
param.sort_buffer_length= check_opt->sort_buffer_size;
return repair(thd,param,1);
}
@@ -440,8 +441,10 @@ int ha_myisam::repair(THD *thd, MI_CHECK &param, bool optimize)
VOID(fn_format(fixed_name,file->filename,"",MI_NAME_IEXT,
4+ (param.opt_follow_links ? 16 : 0)));
- if (!optimize || file->state->del ||
- share->state.split != file->state->records)
+ if (!optimize ||
+ ((file->state->del || share->state.split != file->state->records) &&
+ (!param.opt_rep_quick ||
+ !(share->state.changed & STATE_NOT_OPTIMIZED_KEYS))))
{
optimize_done=1;
if (mi_test_if_sort_rep(file,file->state->records))
@@ -548,7 +551,7 @@ bool ha_myisam::activate_all_index(THD *thd)
myisamchk_init(&param);
param.op_name = (char*) "recreating_index";
param.testflag = (T_SILENT | T_REP_BY_SORT |
- T_STATISTICS | T_CREATE_MISSING_KEYS | T_TRUST_HEADER);
+ T_CREATE_MISSING_KEYS | T_TRUST_HEADER);
param.myf_rw&= ~MY_WAIT_IF_FULL;
param.sort_buffer_length= myisam_sort_buffer_size;
param.opt_rep_quick++;