summaryrefslogtreecommitdiff
path: root/myisam/mi_extra.c
diff options
context:
space:
mode:
authorigor@rurik.mysql.com <>2003-08-26 00:13:22 -0700
committerigor@rurik.mysql.com <>2003-08-26 00:13:22 -0700
commit40193a7fa5c302129669d3071200b117c998d36a (patch)
tree8f6c56f59666be1b54701f57e779e904575b1a4a /myisam/mi_extra.c
parent5b28d4a9a49a2d1c3225044b2cc82aa9e840687f (diff)
parent994a1ea3379566fdd4ae085d23a809727a70ce60 (diff)
downloadmariadb-git-40193a7fa5c302129669d3071200b117c998d36a.tar.gz
Manual merge
Diffstat (limited to 'myisam/mi_extra.c')
-rw-r--r--myisam/mi_extra.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/myisam/mi_extra.c b/myisam/mi_extra.c
index c86ca1c2e7b..1d57e0c0e18 100644
--- a/myisam/mi_extra.c
+++ b/myisam/mi_extra.c
@@ -283,7 +283,7 @@ int mi_extra(MI_INFO *info, enum ha_extra_function function, void *extra_arg)
#ifdef __WIN__
/* Close the isam and data files as Win32 can't drop an open table */
pthread_mutex_lock(&share->intern_lock);
- if (flush_key_blocks(share->kfile,
+ if (flush_key_blocks(*share->keycache, share->kfile,
(function == HA_EXTRA_FORCE_REOPEN ?
FLUSH_RELEASE : FLUSH_IGNORE_CHANGED)))
{
@@ -329,7 +329,7 @@ int mi_extra(MI_INFO *info, enum ha_extra_function function, void *extra_arg)
break;
case HA_EXTRA_FLUSH:
if (!share->temporary)
- flush_key_blocks(share->kfile,FLUSH_KEEP);
+ flush_key_blocks(*share->keycache,share->kfile,FLUSH_KEEP);
#ifdef HAVE_PWRITE
_mi_decrement_open_count(info);
#endif
@@ -374,6 +374,9 @@ int mi_extra(MI_INFO *info, enum ha_extra_function function, void *extra_arg)
case HA_EXTRA_PRELOAD_BUFFER_SIZE:
info->preload_buff_size= *((ulong *) extra_arg);
break;
+ case HA_EXTRA_SET_KEY_CACHE:
+ share->reg_keycache= share->keycache= (KEY_CACHE_HANDLE *) extra_arg;
+ break;
case HA_EXTRA_KEY_CACHE:
case HA_EXTRA_NO_KEY_CACHE:
default: