summaryrefslogtreecommitdiff
path: root/myisam/mi_extra.c
diff options
context:
space:
mode:
authorunknown <igor@rurik.mysql.com>2003-08-02 02:43:18 -0700
committerunknown <igor@rurik.mysql.com>2003-08-02 02:43:18 -0700
commitb6d27e20e19e1998b745a438dbde635261ebc5d4 (patch)
treeadd5cbee3049a38799b03ee640b5ae06fbc34ef1 /myisam/mi_extra.c
parent4f6f7f7ded18764b8aa382c3a84261657fea66f8 (diff)
downloadmariadb-git-b6d27e20e19e1998b745a438dbde635261ebc5d4.tar.gz
Many files:
Added key cache assignment mi_locking.c: Added key cache assignment: correction my_sys.h: Added key cache variable structure include/my_sys.h: Added key cache variable structure include/my_base.h: Added key cache assignment include/myisam.h: Added key cache assignment include/my_global.h: Added key cache assignment isam/_page.c: Added key cache assignment isam/close.c: Added key cache assignment isam/isamchk.c: Added key cache assignment isam/isamlog.c: Added key cache assignment isam/panic.c: Added key cache assignment isam/_locking.c: Added key cache assignment isam/test2.c: Added key cache assignment isam/test3.c: Added key cache assignment myisam/myisamdef.h: Added key cache assignment myisam/mi_check.c: Added key cache assignment myisam/mi_close.c: Added key cache assignment myisam/mi_extra.c: Added key cache assignment myisam/mi_page.c: Added key cache assignment myisam/mi_panic.c: Added key cache assignment myisam/mi_preload.c: Added key cache assignment myisam/mi_test1.c: Added key cache assignment myisam/mi_test2.c: Added key cache assignment myisam/mi_test3.c: Added key cache assignment myisam/myisamchk.c: Added key cache assignment myisam/myisamlog.c: Added key cache assignment myisam/mi_delete_all.c: Added key cache assignment myisam/mi_locking.c: Added key cache assignment: correction myisam/mi_keycache.c: Added key cache assignment sql/handler.h: Added key cache assignment sql/mysql_priv.h: Added key cache assignment sql/set_var.h: Added key cache assignment sql/table.h: Added key cache assignment sql/ha_myisam.cc: Added key cache assignment sql/ha_myisammrg.cc: Added key cache assignment sql/handler.cc: Added key cache assignment sql/mysqld.cc: Added key cache assignment sql/set_var.cc: Added key cache assignment sql/sql_base.cc: Added key cache assignment sql/sql_table.cc: Added key cache assignment sql/sql_test.cc: Added key cache assignment sql/sql_yacc.yy: Added key cache assignment mysys/mf_keycache.c: Added key cache assignment mysql-test/t/key_cache.test: Added key cache assignment mysql-test/r/key_cache.result: Added key cache assignment
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 f0d8966c9e3..40bfd0edd30 100644
--- a/myisam/mi_extra.c
+++ b/myisam/mi_extra.c
@@ -279,7 +279,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(dflt_keycache, share->kfile,
+ if (flush_key_blocks(*share->keycache, share->kfile,
(function == HA_EXTRA_FORCE_REOPEN ?
FLUSH_RELEASE : FLUSH_IGNORE_CHANGED)))
{
@@ -325,7 +325,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(dflt_keycache,share->kfile,FLUSH_KEEP);
+ flush_key_blocks(*share->keycache,share->kfile,FLUSH_KEEP);
#ifdef HAVE_PWRITE
_mi_decrement_open_count(info);
#endif
@@ -370,6 +370,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: