diff options
author | Igor Babaev <igor@askmonty.org> | 2010-02-16 08:41:11 -0800 |
---|---|---|
committer | Igor Babaev <igor@askmonty.org> | 2010-02-16 08:41:11 -0800 |
commit | 7e4d89c97379249ace6633bc406ff2ec2418252a (patch) | |
tree | dc84b4cc035110c628b938857226612fe3fac18d /storage/myisam/mi_locking.c | |
parent | abb87914ecb4caa1becce4fc4d30c110a6b2c041 (diff) | |
download | mariadb-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.c | 7 |
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; |