summaryrefslogtreecommitdiff
path: root/isam/extra.c
diff options
context:
space:
mode:
Diffstat (limited to 'isam/extra.c')
-rw-r--r--isam/extra.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/isam/extra.c b/isam/extra.c
index dc9b6ce2d19..1d333fa372f 100644
--- a/isam/extra.c
+++ b/isam/extra.c
@@ -36,6 +36,14 @@ int nisam_extra(N_INFO *info, enum ha_extra_function function)
switch (function) {
case HA_EXTRA_RESET:
+ if (info->opt_flag & (READ_CACHE_USED | WRITE_CACHE_USED))
+ {
+ info->opt_flag&= ~(READ_CACHE_USED | WRITE_CACHE_USED);
+ error=end_io_cache(&info->rec_cache);
+ }
+ info->opt_flag&= ~(KEY_READ_USED | REMEMBER_OLD_POS);
+
+ case HA_EXTRA_RESET_STATE:
info->lastinx= 0; /* Use first index as def */
info->int_pos=info->lastpos= NI_POS_ERROR;
info->page_changed=1;