summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--storage/innobase/dict/dict0dict.cc8
-rw-r--r--storage/innobase/dict/dict0load.cc2
-rw-r--r--storage/xtradb/dict/dict0dict.cc8
-rw-r--r--storage/xtradb/dict/dict0load.cc2
4 files changed, 10 insertions, 10 deletions
diff --git a/storage/innobase/dict/dict0dict.cc b/storage/innobase/dict/dict0dict.cc
index 4685ba3085d..94d285b64e7 100644
--- a/storage/innobase/dict/dict0dict.cc
+++ b/storage/innobase/dict/dict0dict.cc
@@ -1643,6 +1643,7 @@ struct dict_foreign_remove_partial
if (table != NULL) {
table->referenced_set.erase(foreign);
}
+ dict_foreign_free(foreign);
}
};
@@ -3593,8 +3594,7 @@ dict_foreign_add_to_cache(
}
if (for_in_cache) {
- /* Free the foreign object */
- mem_heap_free(foreign->heap);
+ dict_foreign_free(foreign);
} else {
for_in_cache = foreign;
}
@@ -3622,7 +3622,7 @@ dict_foreign_add_to_cache(
" the ones in table.");
if (for_in_cache == foreign) {
- mem_heap_free(foreign->heap);
+ dict_foreign_free(foreign);
}
return(DB_CANNOT_ADD_CONSTRAINT);
@@ -3678,7 +3678,7 @@ dict_foreign_add_to_cache(
be one */
}
- mem_heap_free(foreign->heap);
+ dict_foreign_free(foreign);
}
return(DB_CANNOT_ADD_CONSTRAINT);
diff --git a/storage/innobase/dict/dict0load.cc b/storage/innobase/dict/dict0load.cc
index 8baab7ad536..0ab25ee1eac 100644
--- a/storage/innobase/dict/dict0load.cc
+++ b/storage/innobase/dict/dict0load.cc
@@ -490,7 +490,7 @@ err_len:
}
/* This recieves a dict_foreign_t* that points to a stack variable.
- So mem_heap_free(foreign->heap) is not used as elsewhere.
+ So dict_foreign_free(foreign) is not used as elsewhere.
Since the heap used here is freed elsewhere, foreign->heap
is not assigned. */
foreign->id = mem_heap_strdupl(heap, (const char*) field, len);
diff --git a/storage/xtradb/dict/dict0dict.cc b/storage/xtradb/dict/dict0dict.cc
index ae928306db2..dc75996ac7b 100644
--- a/storage/xtradb/dict/dict0dict.cc
+++ b/storage/xtradb/dict/dict0dict.cc
@@ -1643,6 +1643,7 @@ struct dict_foreign_remove_partial
if (table != NULL) {
table->referenced_set.erase(foreign);
}
+ dict_foreign_free(foreign);
}
};
@@ -3597,8 +3598,7 @@ dict_foreign_add_to_cache(
}
if (for_in_cache) {
- /* Free the foreign object */
- mem_heap_free(foreign->heap);
+ dict_foreign_free(foreign);
} else {
for_in_cache = foreign;
}
@@ -3622,7 +3622,7 @@ dict_foreign_add_to_cache(
" the ones in table.");
if (for_in_cache == foreign) {
- mem_heap_free(foreign->heap);
+ dict_foreign_free(foreign);
}
return(DB_CANNOT_ADD_CONSTRAINT);
@@ -3678,7 +3678,7 @@ dict_foreign_add_to_cache(
be one */
}
- mem_heap_free(foreign->heap);
+ dict_foreign_free(foreign);
}
return(DB_CANNOT_ADD_CONSTRAINT);
diff --git a/storage/xtradb/dict/dict0load.cc b/storage/xtradb/dict/dict0load.cc
index a21a5d5cddc..f10156610b8 100644
--- a/storage/xtradb/dict/dict0load.cc
+++ b/storage/xtradb/dict/dict0load.cc
@@ -492,7 +492,7 @@ err_len:
}
/* This recieves a dict_foreign_t* that points to a stack variable.
- So mem_heap_free(foreign->heap) is not used as elsewhere.
+ So dict_foreign_free(foreign) is not used as elsewhere.
Since the heap used here is freed elsewhere, foreign->heap
is not assigned. */
foreign->id = mem_heap_strdupl(heap, (const char*) field, len);