summaryrefslogtreecommitdiff
path: root/myisam
diff options
context:
space:
mode:
authorunknown <acurtis@xiphis.org>2005-06-09 17:15:06 +0100
committerunknown <acurtis@xiphis.org>2005-06-09 17:15:06 +0100
commitfec1c6ac67c1c1ed4cdbde97d066032f29650916 (patch)
treed9346272a66df32b694fc91151af4459d92c8e47 /myisam
parentbaae624cdbdec0cc1342f02a205d32b07f096011 (diff)
parentc995109b699a56e94bbc82754b17622f271ebb39 (diff)
downloadmariadb-git-fec1c6ac67c1c1ed4cdbde97d066032f29650916.tar.gz
Merge
BitKeeper/etc/logging_ok: auto-union myisam/mi_check.c: Auto merged mysql-test/r/create.result: Auto merged mysql-test/r/innodb_handler.result: Auto merged mysql-test/r/ps_7ndb.result: Auto merged mysql-test/t/create.test: Auto merged sql/set_var.cc: Auto merged mysql-test/r/sql_mode.result: SCCS merged mysql-test/t/sql_mode.test: SCCS merged sql/sql_acl.cc: SCCS merged sql/sql_handler.cc: SCCS merged sql/sql_table.cc: SCCS merged
Diffstat (limited to 'myisam')
-rw-r--r--myisam/mi_check.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/myisam/mi_check.c b/myisam/mi_check.c
index 38f3ebaa20a..9e003a18dac 100644
--- a/myisam/mi_check.c
+++ b/myisam/mi_check.c
@@ -3871,6 +3871,14 @@ int update_state_info(MI_CHECK *param, MI_INFO *info,uint update)
if (!share->state.create_time)
share->state.create_time=share->state.check_time;
}
+ /*
+ When tables are locked we haven't synched the share state and the
+ real state for a while so we better do it here before synching
+ the share state to disk. Only when table is write locked is it
+ necessary to perform this synch.
+ */
+ if (info->lock_type == F_WRLCK)
+ share->state.state= *info->state;
if (mi_state_info_write(share->kfile,&share->state,1+2))
goto err;
share->changed=0;