summaryrefslogtreecommitdiff
path: root/myisam/mi_check.c
diff options
context:
space:
mode:
authorunknown <monty@narttu.mysql.fi>2003-08-25 14:27:32 +0300
committerunknown <monty@narttu.mysql.fi>2003-08-25 14:27:32 +0300
commite8007ae77b20a6c51daaa47da78c65fe0b0fdac8 (patch)
tree938a55a6e041a1bfd4c0e3a6e9df608ef77d093b /myisam/mi_check.c
parent2ad17fa6e0e99ddd5d78a941bee7221808ee773f (diff)
downloadmariadb-git-e8007ae77b20a6c51daaa47da78c65fe0b0fdac8.tar.gz
Update of VC++ project files (to remove link warnings)
Fix unlock error in myisamchk on windows when doing --sort-index Use SetFilePointer instead of SetFilePointerEx VC++Files/client/mysql.dsp: Update of project files VC++Files/client/mysqladmin.dsp: Update of project files VC++Files/client/mysqlclient.dsp: Update of project files VC++Files/client/mysqldump.dsp: Update of project files VC++Files/client/mysqlimport.dsp: Update of project files VC++Files/client/mysqlshow.dsp: Update of project files VC++Files/comp_err/comp_err.dsp: Update of project files VC++Files/innobase/innobase.dsp: Update of project files VC++Files/isamchk/isamchk.dsp: Update of project files VC++Files/libmysql/libmysql.dsp: Update of project files VC++Files/libmysqld/libmysqld.dsp: Update of project files VC++Files/libmysqltest/myTest.dsp: Update of project files VC++Files/my_print_defaults/my_print_defaults.dsp: Update of project files VC++Files/myisamlog/myisamlog.dsp: Update of project files VC++Files/mysql.dsw: Update of project files VC++Files/mysqlbinlog/mysqlbinlog.dsp: Update of project files VC++Files/mysqlcheck/mysqlcheck.dsp: Update of project files VC++Files/mysqldemb/mysqldemb.dsp: Update of project files VC++Files/mysqlmanager/MySqlManager.dsp: Update of project files VC++Files/mysqlserver/mysqlserver.dsp: Update of project files VC++Files/mysqlshutdown/mysqlshutdown.dsp: Update of project files VC++Files/mysys/mysys.dsp: Update of project files VC++Files/pack_isam/pack_isam.dsp: Update of project files VC++Files/perror/perror.dsp: Update of project files VC++Files/replace/replace.dsp: Update of project files VC++Files/sql/mysqld.dsp: Update of project files VC++Files/test1/test1.dsp: Update of project files VC++Files/thr_test/thr_test.dsp: Update of project files VC++Files/vio/vio.dsp: Update of project files VC++Files/zlib/zlib.dsp: Update of project files myisam/mi_check.c: Fix unlock error in myisamchk on windows when doing --sort-index myisam/mi_locking.c: Fix unlock error in myisamchk on windows when doing --sort-index myisam/myisamchk.c: New comment mysys/my_chsize.c: Use SetFilePointer instead of SetFilePointerEx, as the first is more portable sql/handler.cc: Fix compiler warning sql/log_event.cc: Fix compiler warning
Diffstat (limited to 'myisam/mi_check.c')
-rw-r--r--myisam/mi_check.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/myisam/mi_check.c b/myisam/mi_check.c
index 0d7d7fae628..106e65e90d3 100644
--- a/myisam/mi_check.c
+++ b/myisam/mi_check.c
@@ -1513,6 +1513,7 @@ int mi_sort_index(MI_CHECK *param, register MI_INFO *info, my_string name)
File new_file;
my_off_t index_pos[MI_MAX_POSSIBLE_KEY];
uint r_locks,w_locks;
+ int old_lock;
MYISAM_SHARE *share=info->s;
MI_STATE_INFO old_state;
DBUG_ENTER("sort_index");
@@ -1556,8 +1557,11 @@ int mi_sort_index(MI_CHECK *param, register MI_INFO *info, my_string name)
flush_key_blocks(share->kfile, FLUSH_IGNORE_CHANGED);
share->state.version=(ulong) time((time_t*) 0);
- old_state=share->state; /* save state if not stored */
- r_locks=share->r_locks; w_locks=share->w_locks;
+ old_state= share->state; /* save state if not stored */
+ r_locks= share->r_locks;
+ w_locks= share->w_locks;
+ old_lock= info->lock_type;
+
/* Put same locks as old file */
share->r_locks= share->w_locks= share->tot_locks= 0;
(void) _mi_writeinfo(info,WRITEINFO_UPDATE_KEYFILE);
@@ -1568,12 +1572,13 @@ int mi_sort_index(MI_CHECK *param, register MI_INFO *info, my_string name)
MYF(0)) ||
mi_open_keyfile(share))
goto err2;
- info->lock_type=F_UNLCK; /* Force mi_readinfo to lock */
+ info->lock_type= F_UNLCK; /* Force mi_readinfo to lock */
_mi_readinfo(info,F_WRLCK,0); /* Will lock the table */
- info->lock_type=F_WRLCK;
- share->r_locks=r_locks; share->w_locks=w_locks;
+ info->lock_type= old_lock;
+ share->r_locks= r_locks;
+ share->w_locks= w_locks;
share->tot_locks= r_locks+w_locks;
- share->state=old_state; /* Restore old state */
+ share->state= old_state; /* Restore old state */
info->state->key_file_length=param->new_file_pos;
info->update= (short) (HA_STATE_CHANGED | HA_STATE_ROW_CHANGED);