diff options
author | unknown <igor@rurik.mysql.com> | 2006-04-19 18:08:15 -0700 |
---|---|---|
committer | unknown <igor@rurik.mysql.com> | 2006-04-19 18:08:15 -0700 |
commit | 8e27c3744fb06e4969142a9f13af2ad219b91cb3 (patch) | |
tree | 3475fbd06f0fb2c8376c6279c435592f58d6324f /mysys/mf_keycache.c | |
parent | bf8f30b532ef217dac2a168124706d28e19a320f (diff) | |
parent | e4d653abb8a2b25ca932c75e61e75a97f49bd34c (diff) | |
download | mariadb-git-8e27c3744fb06e4969142a9f13af2ad219b91cb3.tar.gz |
Merge rurik.mysql.com:/home/igor/dev/mysql-4.1-2
into rurik.mysql.com:/home/igor/dev/mysql-5.0-0
mysys/mf_keycache.c:
Auto merged
ndb/src/kernel/SimBlockList.cpp:
Auto merged
ndb/src/kernel/blocks/ndbcntr/NdbcntrInit.cpp:
Auto merged
mysql-test/r/func_gconcat.result:
Manual merge
mysql-test/r/key_cache.result:
Manual merge
mysql-test/t/func_gconcat.test:
Manual merge
mysql-test/t/key_cache.test:
Manual merge
sql/item_func.cc:
Manual merge
sql/item_sum.h:
Manual merge
sql/lock.cc:
Manual merge
sql/sql_select.cc:
Manual merge
sql/unireg.h:
Manual merge
Diffstat (limited to 'mysys/mf_keycache.c')
-rw-r--r-- | mysys/mf_keycache.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/mysys/mf_keycache.c b/mysys/mf_keycache.c index 3b5e277b56d..11e27bb19ad 100644 --- a/mysys/mf_keycache.c +++ b/mysys/mf_keycache.c @@ -1805,6 +1805,7 @@ byte *key_cache_read(KEY_CACHE *keycache, uint status; int page_st; + offset= (uint) (filepos & (keycache->key_cache_block_size-1)); /* Read data in key_cache_block_size increments */ do { @@ -1814,7 +1815,6 @@ byte *key_cache_read(KEY_CACHE *keycache, keycache_pthread_mutex_unlock(&keycache->cache_lock); goto no_key_cache; } - offset= (uint) (filepos & (keycache->key_cache_block_size-1)); filepos-= offset; read_length= length; set_if_smaller(read_length, keycache->key_cache_block_size-offset); @@ -1890,6 +1890,7 @@ byte *key_cache_read(KEY_CACHE *keycache, #endif buff+= read_length; filepos+= read_length+offset; + offset= 0; } while ((length-= read_length)); DBUG_RETURN(start); @@ -1941,17 +1942,17 @@ int key_cache_insert(KEY_CACHE *keycache, uint read_length; int page_st; int error; + uint offset; + offset= (uint) (filepos & (keycache->key_cache_block_size-1)); do { - uint offset; keycache_pthread_mutex_lock(&keycache->cache_lock); if (!keycache->can_be_used) { keycache_pthread_mutex_unlock(&keycache->cache_lock); DBUG_RETURN(0); } - offset= (uint) (filepos & (keycache->key_cache_block_size-1)); /* Read data into key cache from buff in key_cache_block_size incr. */ filepos-= offset; read_length= length; @@ -2009,6 +2010,7 @@ int key_cache_insert(KEY_CACHE *keycache, buff+= read_length; filepos+= read_length+offset; + offset= 0; } while ((length-= read_length)); } @@ -2075,17 +2077,17 @@ int key_cache_write(KEY_CACHE *keycache, /* Key cache is used */ uint read_length; int page_st; + uint offset; + offset= (uint) (filepos & (keycache->key_cache_block_size-1)); do { - uint offset; keycache_pthread_mutex_lock(&keycache->cache_lock); if (!keycache->can_be_used) { keycache_pthread_mutex_unlock(&keycache->cache_lock); goto no_key_cache; } - offset= (uint) (filepos & (keycache->key_cache_block_size-1)); /* Write data in key_cache_block_size increments */ filepos-= offset; read_length= length; |