summaryrefslogtreecommitdiff
path: root/sql/ha_myisam.cc
diff options
context:
space:
mode:
authorunknown <monty@donna.mysql.fi>2001-03-28 04:16:04 +0300
committerunknown <monty@donna.mysql.fi>2001-03-28 04:16:04 +0300
commitc40a424a055a46f36a98691eec051b1966772376 (patch)
tree38b2247ef713d4674800dd1b3bd02090dd25c35f /sql/ha_myisam.cc
parentb2c0b7ce0acf65fbef22d1ef15f158e0f18526e4 (diff)
downloadmariadb-git-c40a424a055a46f36a98691eec051b1966772376.tar.gz
Let ALTER TABLE and LOAD DATA INFILE use sorting to create index
Call init_signals before intializing table handlers. This should fix the signal problem in Innobase on Solaris Docs/manual.texi: Updated changelog include/myisam.h: Let ALTER TABLE and LOAD DATA INFILE use sorting to create index myisam/mi_check.c: Let ALTER TABLE and LOAD DATA INFILE use sorting to create index myisam/myisamchk.c: Let ALTER TABLE and LOAD DATA INFILE use sorting to create index sql/ha_myisam.cc: Let ALTER TABLE and LOAD DATA INFILE use sorting to create index sql/mysqld.cc: Call init_signals before intializing table handlers. This should fix the signal problem in Innobase on Solaris
Diffstat (limited to 'sql/ha_myisam.cc')
-rw-r--r--sql/ha_myisam.cc7
1 files changed, 4 insertions, 3 deletions
diff --git a/sql/ha_myisam.cc b/sql/ha_myisam.cc
index af35c0269c4..1a205e54b9d 100644
--- a/sql/ha_myisam.cc
+++ b/sql/ha_myisam.cc
@@ -544,8 +544,10 @@ int ha_myisam::repair(THD *thd, MI_CHECK &param, bool optimize)
(!param.opt_rep_quick ||
!(share->state.changed & STATE_NOT_OPTIMIZED_KEYS))))
{
- optimize_done=1;
- if (mi_test_if_sort_rep(file,file->state->records,0) &&
+ ulonglong key_map= ((param.testflag & T_CREATE_MISSING_KEYS) ?
+ ((ulonglong) 1L << share->base.keys)-1 :
+ share->state.key_map);
+ if (mi_test_if_sort_rep(file,file->state->records,key_map,0) &&
(param.testflag & T_REP_BY_SORT))
{
uint testflag=param.testflag;
@@ -646,7 +648,6 @@ bool ha_myisam::activate_all_index(THD *thd)
param.sort_buffer_length= myisam_sort_buffer_size;
param.opt_rep_quick++; // Don't copy data file
param.tmpdir=mysql_tmpdir;
-
error=repair(thd,param,0) != HA_ADMIN_OK;
thd->proc_info=save_proc_info;
}