diff options
author | monty@tik.mysql.com <> | 2000-10-15 18:45:53 +0300 |
---|---|---|
committer | monty@tik.mysql.com <> | 2000-10-15 18:45:53 +0300 |
commit | 9323e733ff9bfbbc7555de94cb9b603f47502905 (patch) | |
tree | 51edb97a7ba1e486acf5bdba590984b73c775b29 /isam | |
parent | 00625e0f8fe6f748763100a3a46787691835d83e (diff) | |
download | mariadb-git-9323e733ff9bfbbc7555de94cb9b603f47502905.tar.gz |
Changed meaning of HA_EXTRA_RESET and start of hidden primary keys for BDB tables
Diffstat (limited to 'isam')
-rw-r--r-- | isam/extra.c | 8 | ||||
-rw-r--r-- | isam/pack_isam.c | 4 |
2 files changed, 10 insertions, 2 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; diff --git a/isam/pack_isam.c b/isam/pack_isam.c index 1040096fa4a..cadec5bcef5 100644 --- a/isam/pack_isam.c +++ b/isam/pack_isam.c @@ -2012,8 +2012,8 @@ static int mrg_rrnd(MRG_INFO *info,byte *buf) { isam_info= *(info->current=info->file); info->end=info->current+info->count; - nisam_extra(isam_info,HA_EXTRA_CACHE); nisam_extra(isam_info,HA_EXTRA_RESET); + nisam_extra(isam_info,HA_EXTRA_CACHE); filepos=isam_info->s->pack.header_length; } else @@ -2035,8 +2035,8 @@ static int mrg_rrnd(MRG_INFO *info,byte *buf) info->current++; isam_info= *info->current; filepos=isam_info->s->pack.header_length; - nisam_extra(isam_info,HA_EXTRA_CACHE); nisam_extra(isam_info,HA_EXTRA_RESET); + nisam_extra(isam_info,HA_EXTRA_CACHE); } } |