diff options
author | unknown <bell@desktop.sanja.is.com.ua> | 2007-04-16 13:19:43 +0300 |
---|---|---|
committer | unknown <bell@desktop.sanja.is.com.ua> | 2007-04-16 13:19:43 +0300 |
commit | e10fe77b0ac9a43ad795555c65391318ff7cc968 (patch) | |
tree | e2ed09433088190ae567be9a0e523defae042456 /storage/maria/ma_preload.c | |
parent | 1bf0ed775431a5142e846e23330228468dcf140b (diff) | |
parent | 39d64a1d2565b09307d11b2a665f3f2c6bc8106e (diff) | |
download | mariadb-git-e10fe77b0ac9a43ad795555c65391318ff7cc968.tar.gz |
Merge desktop.sanja.is.com.ua:/home/bell/mysql/bk/work-maria.bak
into desktop.sanja.is.com.ua:/home/bell/mysql/bk/work-test
include/maria.h:
Auto merged
mysys/Makefile.am:
Auto merged
mysys/mf_keycaches.c:
Auto merged
sql/handler.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/set_var.h:
Auto merged
storage/maria/Makefile.am:
Auto merged
storage/maria/ha_maria.cc:
Auto merged
storage/maria/ma_bitmap.c:
Auto merged
storage/maria/ma_check.c:
Auto merged
storage/maria/ma_close.c:
Auto merged
storage/maria/ma_dynrec.c:
Auto merged
storage/maria/ma_extra.c:
Auto merged
storage/maria/ma_info.c:
Auto merged
storage/maria/ma_keycache.c:
Auto merged
storage/maria/ma_locking.c:
Auto merged
storage/maria/ma_loghandler.c:
Auto merged
storage/maria/ma_open.c:
Auto merged
storage/maria/ma_packrec.c:
Auto merged
storage/maria/ma_page.c:
Auto merged
storage/maria/ma_pagecache.c:
Auto merged
storage/maria/ma_panic.c:
Auto merged
storage/maria/ma_preload.c:
Auto merged
storage/maria/ma_static.c:
Auto merged
storage/maria/ma_test1.c:
Auto merged
storage/maria/ma_test2.c:
Auto merged
storage/maria/ma_test3.c:
Auto merged
storage/maria/ma_write.c:
Auto merged
storage/maria/maria_chk.c:
Auto merged
storage/maria/maria_def.h:
Auto merged
storage/maria/maria_ftdump.c:
Auto merged
storage/maria/maria_pack.c:
Auto merged
sql/handler.cc:
merge
storage/maria/ma_blockrec.c:
merge
storage/maria/ma_delete_all.c:
merge
Diffstat (limited to 'storage/maria/ma_preload.c')
-rw-r--r-- | storage/maria/ma_preload.c | 28 |
1 files changed, 20 insertions, 8 deletions
diff --git a/storage/maria/ma_preload.c b/storage/maria/ma_preload.c index 4b2df2bbf17..fc818b5b277 100644 --- a/storage/maria/ma_preload.c +++ b/storage/maria/ma_preload.c @@ -68,7 +68,7 @@ int maria_preload(MARIA_HA *info, ulonglong key_map, my_bool ignore_leaves) if (!(buff= (uchar *) my_malloc(length, MYF(MY_WME)))) DBUG_RETURN(my_errno= HA_ERR_OUT_OF_MEM); - if (flush_key_blocks(share->key_cache,share->kfile, FLUSH_RELEASE)) + if (flush_pagecache_blocks(share->pagecache, &share->kfile, FLUSH_RELEASE)) goto err; do @@ -76,7 +76,8 @@ int maria_preload(MARIA_HA *info, ulonglong key_map, my_bool ignore_leaves) /* Read the next block of index file into the preload buffer */ if ((my_off_t) length > (key_file_length-pos)) length= (ulong) (key_file_length-pos); - if (my_pread(share->kfile, (byte*) buff, length, pos, MYF(MY_FAE|MY_FNABP))) + if (my_pread(share->kfile.file, (byte*) buff, length, pos, + MYF(MY_FAE|MY_FNABP))) goto err; if (ignore_leaves) @@ -86,9 +87,15 @@ int maria_preload(MARIA_HA *info, ulonglong key_map, my_bool ignore_leaves) { if (_ma_test_if_nod(buff)) { - if (key_cache_insert(share->key_cache, - share->kfile, pos, DFLT_INIT_HITS, - (byte*) buff, block_length)) + DBUG_ASSERT(share->pagecache->block_size == block_length); + if (pagecache_write(share->pagecache, + &share->kfile, pos / block_length, + DFLT_INIT_HITS, + (byte*) buff, + PAGECACHE_PLAIN_PAGE, + PAGECACHE_LOCK_LEFT_UNLOCKED, + PAGECACHE_PIN_LEFT_PINNED, + PAGECACHE_WRITE_DONE, 0)) goto err; } pos+= block_length; @@ -98,9 +105,14 @@ int maria_preload(MARIA_HA *info, ulonglong key_map, my_bool ignore_leaves) } else { - if (key_cache_insert(share->key_cache, - share->kfile, pos, DFLT_INIT_HITS, - (byte*) buff, length)) + if (pagecache_write(share->pagecache, + &share->kfile, pos / block_length, + DFLT_INIT_HITS, + (byte*) buff, + PAGECACHE_PLAIN_PAGE, + PAGECACHE_LOCK_LEFT_UNLOCKED, + PAGECACHE_PIN_LEFT_PINNED, + PAGECACHE_WRITE_DONE, 0)) goto err; pos+= length; } |