summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <serg@serg.mylan>2003-10-31 15:49:59 +0100
committerunknown <serg@serg.mylan>2003-10-31 15:49:59 +0100
commitc0c369f081d13dde54ba133bcd1c898a6d81b72c (patch)
tree9c288b02042c2720dbc3848a08d175f98e3c351b
parentc926bdc814fd2af3a4e374fc7b3042d8ab868d03 (diff)
downloadmariadb-git-c0c369f081d13dde54ba133bcd1c898a6d81b72c.tar.gz
post-merge fixes
-rw-r--r--myisam/ft_update.c4
-rw-r--r--sql/ha_myisam.cc27
2 files changed, 16 insertions, 15 deletions
diff --git a/myisam/ft_update.c b/myisam/ft_update.c
index 2dc397e864f..a87f239b8f8 100644
--- a/myisam/ft_update.c
+++ b/myisam/ft_update.c
@@ -324,8 +324,8 @@ uint _mi_ft_convert_to_ft2(MI_INFO *info, uint keynr, uchar *key)
mi_putint(info->buff,length+2,0);
memcpy(info->buff+2, key_ptr, length);
info->buff_used=info->page_changed=1; /* info->buff is used */
- if ((root= _mi_new(info,keyinfo)) == HA_OFFSET_ERROR ||
- _mi_write_keypage(info,keyinfo,root,info->buff))
+ if ((root= _mi_new(info,keyinfo,DFLT_INIT_HITS)) == HA_OFFSET_ERROR ||
+ _mi_write_keypage(info,keyinfo,root,DFLT_INIT_HITS,info->buff))
DBUG_RETURN(-1);
/* inserting the rest of key values */
diff --git a/sql/ha_myisam.cc b/sql/ha_myisam.cc
index 6c46fc141f3..52a5398bdd8 100644
--- a/sql/ha_myisam.cc
+++ b/sql/ha_myisam.cc
@@ -705,7 +705,7 @@ int ha_myisam::assign_to_keycache(THD* thd, HA_CHECK_OPT *check_opt)
{
uint len;
KEY_CACHE_VAR *old_key_cache;
- KEY_CACHE_VAR *new_key_cache;
+ KEY_CACHE_VAR *new_key_cache;
const char *errmsg=0;
int error= HA_ADMIN_OK;
ulonglong map= ~(ulonglong) 0;
@@ -714,26 +714,27 @@ int ha_myisam::assign_to_keycache(THD* thd, HA_CHECK_OPT *check_opt)
(const char *) table_list->option :
DEFAULT_KEY_CACHE_NAME;
KEY_CACHE_ASMT *key_cache_asmt= table->key_cache_asmt;
- bool triggered= key_cache_asmt->triggered;
-
+ bool triggered= key_cache_asmt->triggered;
+
DBUG_ENTER("ha_myisam::assign_to_keycache");
VOID(pthread_mutex_lock(&LOCK_assign));
old_key_cache= key_cache_asmt->key_cache;
- /* Check validity of the index references */
+ /* Check validity of the index references */
if (!triggered && table_list->use_index)
{
- key_map kmap= get_key_map_from_key_list(table, table_list->use_index);
- if (kmap == ~(key_map) 0)
+ key_map kmap;
+ get_key_map_from_key_list(&kmap, table, table_list->use_index);
+ if (kmap.is_set_all())
{
errmsg= thd->net.last_error;
error= HA_ADMIN_FAILED;
goto err;
}
- if (kmap)
- map= kmap;
+ if (!kmap.is_clear_all())
+ map= kmap.to_ulonglong();
}
len= strlen(new_key_cache_name);
@@ -743,14 +744,14 @@ int ha_myisam::assign_to_keycache(THD* thd, HA_CHECK_OPT *check_opt)
/* Nothing to do: table is assigned to the same key cache */
goto ok;
}
-
+
if (!new_key_cache ||
- (!new_key_cache->cache && ha_key_cache(new_key_cache)))
+ (!new_key_cache->cache && ha_key_cache(new_key_cache)))
{
if (key_cache_asmt->triggered)
error= HA_ERR_OUT_OF_MEM;
- else
- {
+ else
+ {
char buf[ERRMSGSIZE];
my_snprintf(buf, ERRMSGSIZE,
"Failed to create key cache %s", new_key_cache_name);
@@ -761,7 +762,7 @@ int ha_myisam::assign_to_keycache(THD* thd, HA_CHECK_OPT *check_opt)
}
reassign_key_cache(key_cache_asmt, new_key_cache);
-
+
VOID(pthread_mutex_unlock(&LOCK_assign));
error= mi_assign_to_keycache(file, map, new_key_cache, &LOCK_assign);
VOID(pthread_mutex_lock(&LOCK_assign));