Commit 5f9a8075 authored by unknown's avatar unknown
Browse files

Merge bk-internal.mysql.com:/home/bk/mysql-4.1

into  bodhi.local:/opt/local/work/mysql-4.1-runtime

parents 611299bb fcbe66a3
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -76,7 +76,7 @@ int hp_get_new_block(HP_BLOCK *block, ulong *alloc_length)
    and my_default_record_cache_size we get about 1/128 unused memory.
   */
  *alloc_length=sizeof(HP_PTRS)*i+block->records_in_block* block->recbuffer;
  if (!(root=(HP_PTRS*) my_malloc(*alloc_length,MYF(0))))
  if (!(root=(HP_PTRS*) my_malloc(*alloc_length,MYF(MY_WME))))
    return 1;

  if (i == 0)
+9 −3
Original line number Diff line number Diff line
@@ -68,11 +68,17 @@ int heap_write(HP_INFO *info, const byte *record)
  DBUG_RETURN(0);

err:
  if (my_errno == HA_ERR_FOUND_DUPP_KEY)
    DBUG_PRINT("info",("Duplicate key: %d", keydef - share->keydef));
  info->errkey= keydef - share->keydef;
  if (keydef->algorithm == HA_KEY_ALG_BTREE)
  /*
    We don't need to delete non-inserted key from rb-tree.  Also, if
    we got ENOMEM, the key wasn't inserted, so don't try to delete it
    either.  Otherwise for HASH index on HA_ERR_FOUND_DUPP_KEY the key
    was inserted and we have to delete it.
  */
  if (keydef->algorithm == HA_KEY_ALG_BTREE || my_errno == ENOMEM)
  {
    /* we don't need to delete non-inserted key from rb-tree */
    keydef--;
  }
  while (keydef >= share->keydef)
+3 −2
Original line number Diff line number Diff line
@@ -2473,8 +2473,9 @@ bool Item_func_set_user_var::update_hash(void *ptr, uint length,
	char *pos= (char*) entry+ ALIGN_SIZE(sizeof(user_var_entry));
	if (entry->value == pos)
	  entry->value=0;
	if (!(entry->value=(char*) my_realloc(entry->value, length,
					      MYF(MY_ALLOW_ZERO_PTR))))
        entry->value= (char*) my_realloc(entry->value, length,
                                         MYF(MY_ALLOW_ZERO_PTR | MY_WME));
        if (!entry->value)
	  goto err;
      }
    }