summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authormonty@donna.mysql.com <>2000-10-05 02:22:28 +0300
committermonty@donna.mysql.com <>2000-10-05 02:22:28 +0300
commita434c8d2444a81e9b28708e5a735fcdc9484260d (patch)
tree2f863a0b4ba8303d7f559f5c41caebc050e0a679 /sql
parenta8a15e837c92fdb8ada66277013b5ad35b93739f (diff)
downloadmariadb-git-a434c8d2444a81e9b28708e5a735fcdc9484260d.tar.gz
Fixed bug in how FAST and CHANGED worked
Diffstat (limited to 'sql')
-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 1c5356e0c32..698a4f64d14 100644
--- a/sql/ha_myisam.cc
+++ b/sql/ha_myisam.cc
@@ -250,10 +250,11 @@ int ha_myisam::check(THD* thd, HA_CHECK_OPT* check_opt)
if (!mi_is_crashed(file) &&
(((param.testflag & T_CHECK_ONLY_CHANGED) &&
- (share->state.changed & (STATE_CHANGED | STATE_CRASHED |
- STATE_CRASHED_ON_REPAIR)) &&
+ !(share->state.changed & (STATE_CHANGED | STATE_CRASHED |
+ STATE_CRASHED_ON_REPAIR)) &&
share->state.open_count == 0) ||
- ((param.testflag & T_FAST) && share->state.open_count == 0)))
+ ((param.testflag & T_FAST) && (share->state.open_count ==
+ (share->global_changed ? 1 : 0)))))
return HA_ADMIN_ALREADY_DONE;
error = chk_size(&param, file);