summaryrefslogtreecommitdiff
path: root/storage/myisam/mi_locking.c
diff options
context:
space:
mode:
authorIgor Babaev <igor@askmonty.org>2010-02-16 08:41:11 -0800
committerIgor Babaev <igor@askmonty.org>2010-02-16 08:41:11 -0800
commit7e4d89c97379249ace6633bc406ff2ec2418252a (patch)
treedc84b4cc035110c628b938857226612fe3fac18d /storage/myisam/mi_locking.c
parentabb87914ecb4caa1becce4fc4d30c110a6b2c041 (diff)
downloadmariadb-git-7e4d89c97379249ace6633bc406ff2ec2418252a.tar.gz
WL#86: Partitioned key cache for MyISAM.
This is the base patch for the task.
Diffstat (limited to 'storage/myisam/mi_locking.c')
-rw-r--r--storage/myisam/mi_locking.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/storage/myisam/mi_locking.c b/storage/myisam/mi_locking.c
index b935d517c81..a76790c7d7d 100644
--- a/storage/myisam/mi_locking.c
+++ b/storage/myisam/mi_locking.c
@@ -68,7 +68,9 @@ int mi_lock_database(MI_INFO *info, int lock_type)
--share->tot_locks;
if (info->lock_type == F_WRLCK && !share->w_locks &&
!share->delay_key_write && flush_key_blocks(share->key_cache,
- share->kfile,FLUSH_KEEP))
+ share->kfile,
+ &share->dirty_part_map,
+ FLUSH_KEEP))
{
error=my_errno;
mi_print_error(info->s, HA_ERR_CRASHED);
@@ -513,7 +515,8 @@ int _mi_test_if_changed(register MI_INFO *info)
{ /* Keyfile has changed */
DBUG_PRINT("info",("index file changed"));
if (share->state.process != share->this_process)
- VOID(flush_key_blocks(share->key_cache, share->kfile, FLUSH_RELEASE));
+ VOID(flush_key_blocks(share->key_cache, share->kfile,
+ &share->dirty_part_map, FLUSH_RELEASE));
share->last_process=share->state.process;
info->last_unique= share->state.unique;
info->last_loop= share->state.update_count;