limit HEAP table size with max_heap_table_size, better estimation for mem_per_row

heap/hp_create.c:
  limit HEAP table size with max_heap_table_size
heap/hp_write.c:
  limit HEAP table size with max_heap_table_size
include/heap.h:
  limit HEAP table size with max_heap_table_size
sql/ha_heap.cc:
  limit HEAP table size with max_heap_table_size
  better estimation for mem_per_row
This commit is contained in:
unknown 2005-01-14 19:49:45 +01:00
commit b7efd8174a
4 changed files with 28 additions and 13 deletions

View file

@ -123,15 +123,15 @@ int heap_create(const char *name, uint keys, HP_KEYDEF *keydef,
keyseg->flag= 0;
keyseg->null_bit= 0;
keyseg++;
init_tree(&keyinfo->rb_tree, 0, 0, sizeof(byte*),
init_tree(&keyinfo->rb_tree, 0, 0, sizeof(byte*),
(qsort_cmp2)keys_compare, 1, NULL, NULL);
keyinfo->delete_key= hp_rb_delete_key;
keyinfo->write_key= hp_rb_write_key;
}
else
{
init_block(&keyinfo->block, sizeof(HASH_INFO), min_records,
init_block(&keyinfo->block, sizeof(HASH_INFO), min_records,
max_records);
keyinfo->delete_key= hp_delete_key;
keyinfo->write_key= hp_write_key;
@ -140,6 +140,7 @@ int heap_create(const char *name, uint keys, HP_KEYDEF *keydef,
}
share->min_records= min_records;
share->max_records= max_records;
share->max_table_size= create_info->max_table_size;
share->data_length= share->index_length= 0;
share->reclength= reclength;
share->blength= 1;