summaryrefslogtreecommitdiff
path: root/heap/hp_write.c
diff options
context:
space:
mode:
authorunknown <serg@serg.mylan>2005-01-14 19:49:45 +0100
committerunknown <serg@serg.mylan>2005-01-14 19:49:45 +0100
commitb7efd8174a9e46ae89337b0364f132a574dc6c2f (patch)
treefc8eed46069b12bdd227706a53e83c9c53c5633c /heap/hp_write.c
parent9edcc56cc8af12b5140fcb2ef973b44cb03d8f4c (diff)
downloadmariadb-git-b7efd8174a9e46ae89337b0364f132a574dc6c2f.tar.gz
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
Diffstat (limited to 'heap/hp_write.c')
-rw-r--r--heap/hp_write.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/heap/hp_write.c b/heap/hp_write.c
index 43cee67b39c..808fe6608b1 100644
--- a/heap/hp_write.c
+++ b/heap/hp_write.c
@@ -143,7 +143,8 @@ static byte *next_free_record_pos(HP_SHARE *info)
}
if (!(block_pos=(info->records % info->block.records_in_block)))
{
- if (info->records > info->max_records && info->max_records)
+ if ((info->records > info->max_records && info->max_records) ||
+ (info->data_length + info->index_length >= info->max_table_size))
{
my_errno=HA_ERR_RECORD_FILE_FULL;
DBUG_RETURN(NULL);