summaryrefslogtreecommitdiff
path: root/storage/myisam/mi_check.c
diff options
context:
space:
mode:
authorunknown <ndbdev@dl145b.mysql.com>2005-06-10 07:22:27 +0200
committerunknown <ndbdev@dl145b.mysql.com>2005-06-10 07:22:27 +0200
commit2afc0b1e40eeb5e5426b5e9a04e8f62b99b64d3d (patch)
tree7e3cb94eb84a8311f4fe19dd1bc92a032b8ea4da /storage/myisam/mi_check.c
parent0af7dd0c9a06e57cd53aab936e64ddba48b939b8 (diff)
parent751089491c337c436e398e31e79410f7929f8dd3 (diff)
downloadmariadb-git-2afc0b1e40eeb5e5426b5e9a04e8f62b99b64d3d.tar.gz
Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0
into dl145b.mysql.com:/home/ndbdev/tomas/mysql-5.1 BitKeeper/etc/logging_ok: auto-union configure.in: Auto merged mysql-test/r/ps_6bdb.result: Auto merged mysql-test/r/ps_7ndb.result: Auto merged sql/field.cc: Auto merged sql/field.h: Auto merged sql/log_event.cc: Auto merged sql/mysql_priv.h: Auto merged sql/sql_acl.cc: Auto merged sql/sql_select.cc: Auto merged sql/sql_table.cc: Auto merged sql/sql_yacc.yy: Auto merged storage/myisam/mi_check.c: Auto merged storage/ndb/src/kernel/blocks/ndbfs/Ndbfs.cpp: Auto merged storage/ndb/test/run-test/ndb-autotest.sh: Auto merged
Diffstat (limited to 'storage/myisam/mi_check.c')
-rw-r--r--storage/myisam/mi_check.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/storage/myisam/mi_check.c b/storage/myisam/mi_check.c
index 38f3ebaa20a..9e003a18dac 100644
--- a/storage/myisam/mi_check.c
+++ b/storage/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;