Merge gbichot3.local:/home/mysql_src/mysql-5.1-clean

into  gbichot3.local:/home/mysql_src/mysql-maria


BitKeeper/etc/ignore:
  auto-union
BUILD/SETUP.sh:
  Auto merged
Makefile.am:
  Auto merged
configure.in:
  Auto merged
BitKeeper/triggers/post-commit:
  merge
include/Makefile.am:
  merge
include/my_global.h:
  merge
include/my_sys.h:
  merge
libmysql/Makefile.shared:
  merge
libmysqld/Makefile.am:
  merge
mysql-test/mysql-test-run.pl:
  merge
mysys/Makefile.am:
  merge
mysys/mf_keycache.c:
  merge
mysys/mf_keycaches.c:
  merge
mysys/my_handler.c:
  merge
mysys/my_init.c:
  merge
mysys/my_open.c:
  merge
mysys/my_pread.c:
  merge
sql/Makefile.am:
  merge
sql/handler.h:
  merge
sql/item_func.cc:
  merge
sql/item_func.h:
  merge
sql/log.cc:
  merge
sql/mysql_priv.h:
  merge
sql/mysqld.cc:
  merge
sql/set_var.cc:
  merge
sql/sql_class.h:
  merge
sql/sql_parse.cc:
  merge
sql/sql_select.cc:
  merge
sql/sql_test.cc:
  merge
sql/unireg.cc:
  merge
storage/csv/ha_tina.cc:
  merge
storage/myisam/ft_boolean_search.c:
  merge
storage/myisam/ha_myisam.cc:
  merge
storage/myisam/ha_myisam.h:
  merge
storage/myisam/mi_create.c:
  merge
storage/myisam/mi_delete.c:
  merge
storage/myisam/mi_dynrec.c:
  merge
storage/myisam/mi_key.c:
  merge
storage/myisam/mi_open.c:
  merge
storage/myisam/mi_test2.c:
  merge
storage/myisam/mi_unique.c:
  merge
storage/myisam/mi_write.c:
  merge
storage/myisam/myisamchk.c:
  merge
storage/myisam/myisampack.c:
  merge
storage/myisam/sort.c:
  merge
unittest/mytap/tap.c:
  merge
This commit is contained in:
unknown 2006-12-20 00:00:46 +01:00
commit 8b998d1199
207 changed files with 58010 additions and 1212 deletions

View file

@ -148,7 +148,8 @@ static void safe_hash_free(SAFE_HASH *hash)
Return the value stored for a key or default value if no key
*/
static byte *safe_hash_search(SAFE_HASH *hash, const byte *key, uint length)
static byte *safe_hash_search(SAFE_HASH *hash, const byte *key, uint length,
byte *def)
{
byte *result;
DBUG_ENTER("safe_hash_search");
@ -156,7 +157,7 @@ static byte *safe_hash_search(SAFE_HASH *hash, const byte *key, uint length)
result= hash_search(&hash->hash, key, length);
rw_unlock(&hash->mutex);
if (!result)
result= hash->default_value;
result= def;
else
result= ((SAFE_HASH_ENTRY*) result)->data;
DBUG_PRINT("exit",("data: 0x%lx", (long) result));
@ -316,6 +317,7 @@ void multi_keycache_free(void)
multi_key_cache_search()
key key to find (usually table path)
uint length Length of key.
def Default value if no key cache
NOTES
This function is coded in such a way that we will return the
@ -326,11 +328,13 @@ void multi_keycache_free(void)
key cache to use
*/
KEY_CACHE *multi_key_cache_search(byte *key, uint length)
KEY_CACHE *multi_key_cache_search(byte *key, uint length,
KEY_CACHE *def)
{
if (!key_cache_hash.hash.records)
return dflt_key_cache;
return (KEY_CACHE*) safe_hash_search(&key_cache_hash, key, length);
return def;
return (KEY_CACHE*) safe_hash_search(&key_cache_hash, key, length,
(void*) def);
}