summaryrefslogtreecommitdiff
path: root/storage/heap
diff options
context:
space:
mode:
authorMichael Widenius <monty@askmonty.org>2011-03-31 16:26:51 +0300
committerMichael Widenius <monty@askmonty.org>2011-03-31 16:26:51 +0300
commit1ee94dc2f7f3deb81eadd52b546b827ca76c24a9 (patch)
treecc459fb7b44b5da8de526b91e9718fdb5ec40946 /storage/heap
parent309e016eec1e0eaed144c3f43fff8470663e1a13 (diff)
downloadmariadb-git-1ee94dc2f7f3deb81eadd52b546b827ca76c24a9.tar.gz
Fixed all BUILD scripts to use g++ instead of gcc for linking
Fixed memory leak from HEAP tables that was not deleted properly BUILD/compile-alpha-ccc: Use g++ instead of gcc for linking BUILD/compile-alpha-debug: Use g++ instead of gcc for linking BUILD/compile-pentium-pgcc: Use g++ instead of gcc for linking BUILD/compile-solaris-sparc: Use g++ instead of gcc for linking BUILD/compile-solaris-sparc-debug: Use g++ instead of gcc for linking BUILD/compile-solaris-sparc-purify: Use g++ instead of gcc for linking sql/item.cc: Safety fixes for expr_cache Call Item_result:field::cleanup() in Item_cache_wrapper::cleanup() More DBUG_PRINT sql/sql_base.cc: Simple optimization for setup_wild More DBUG_PRINT sql/sql_expression_cache.cc: Added header Removed not needed initialization sql/sql_lex.cc: More DBUG_PRINT sql/sql_select.cc: More DBUG_PRINT Fixed memory leak from HEAP tables that was not deleted properly storage/heap/hp_create.c: More DBUG_PRINT
Diffstat (limited to 'storage/heap')
-rw-r--r--storage/heap/hp_create.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/storage/heap/hp_create.c b/storage/heap/hp_create.c
index 2036bd7166f..f9d0a48324d 100644
--- a/storage/heap/hp_create.c
+++ b/storage/heap/hp_create.c
@@ -39,6 +39,10 @@ int heap_create(const char *name, uint keys, HP_KEYDEF *keydef,
share= 0;
}
}
+ else
+ {
+ DBUG_PRINT("info", ("Creating internal (no named) temporary table"));
+ }
if (!share)
{
@@ -255,10 +259,15 @@ static void init_block(HP_BLOCK *block, uint reclength, ulong min_records,
static inline void heap_try_free(HP_SHARE *share)
{
+ DBUG_ENTER("heap_try_free");
if (share->open_count == 0)
hp_free(share);
else
+ {
+ DBUG_PRINT("info", ("Table is still in use. Will be freed on close"));
share->delete_on_close= 1;
+ }
+ DBUG_VOID_RETURN;
}
@@ -277,6 +286,7 @@ int heap_delete_table(const char *name)
else
{
result= my_errno=ENOENT;
+ DBUG_PRINT("error", ("Could not find table '%s'", name));
}
pthread_mutex_unlock(&THR_LOCK_heap);
DBUG_RETURN(result);