diff options
author | igor@rurik.mysql.com <> | 2003-10-01 20:16:36 -0700 |
---|---|---|
committer | igor@rurik.mysql.com <> | 2003-10-01 20:16:36 -0700 |
commit | 17aecac32c44846209e0e77b9f18470862b8aed4 (patch) | |
tree | e1116ef7faa18e25e4ea484099e4c14d6fbbf7f1 /isam/isamchk.c | |
parent | 3bee8b429d82b9c5aa25b6585e249678f0c1b400 (diff) | |
parent | 8e5c62190f378ff6d57e44bd77536de868481af7 (diff) | |
download | mariadb-git-17aecac32c44846209e0e77b9f18470862b8aed4.tar.gz |
Manual merge after improving concurrency for key cache reassignment
Diffstat (limited to 'isam/isamchk.c')
-rw-r--r-- | isam/isamchk.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/isam/isamchk.c b/isam/isamchk.c index 939a4be732f..e59da07e85b 100644 --- a/isam/isamchk.c +++ b/isam/isamchk.c @@ -516,7 +516,8 @@ static int nisamchk(my_string filename) if (!rep_quick) { if (testflag & T_EXTEND) - VOID(init_key_cache(use_buffers)); + VOID(init_key_cache(dflt_keycache,KEY_CACHE_BLOCK_SIZE, + use_buffers,&dflt_key_cache_var)); VOID(init_io_cache(&read_cache,datafile,(uint) read_buffer_length, READ_CACHE,share->pack.header_length,1, MYF(MY_WME))); @@ -1459,7 +1460,8 @@ my_string name; printf("Data records: %lu\n",(ulong) share->state.records); } - VOID(init_key_cache(use_buffers)); + VOID(init_key_cache(dflt_keycache,KEY_CACHE_BLOCK_SIZE,use_buffers, + &dflt_key_cache_var)); if (init_io_cache(&read_cache,info->dfile,(uint) read_buffer_length, READ_CACHE,share->pack.header_length,1,MYF(MY_WME))) goto err; @@ -1887,12 +1889,12 @@ static void lock_memory(void) static int flush_blocks(file) File file; { - if (flush_key_blocks(file,FLUSH_RELEASE)) + if (flush_key_blocks(dflt_keycache,file,FLUSH_RELEASE)) { print_error("%d when trying to write bufferts",my_errno); return(1); } - end_key_cache(); + end_key_cache(dflt_keycache,1); return 0; } /* flush_blocks */ @@ -1936,7 +1938,8 @@ int write_info; if (share->state.key_root[sort_key] == NI_POS_ERROR) DBUG_RETURN(0); /* Nothing to do */ - init_key_cache(use_buffers); + init_key_cache(dflt_keycache,KEY_CACHE_BLOCK_SIZE,use_buffers, + &dflt_key_cache_var); if (init_io_cache(&info->rec_cache,-1,(uint) write_buffer_length, WRITE_CACHE,share->pack.header_length,1, MYF(MY_WME | MY_WAIT_IF_FULL))) |