Commit 44da95e5 authored by Marko Mäkelä's avatar Marko Mäkelä

Merge branch '10.0' into 10.1

parents 8e198336 9f863a15
...@@ -1643,6 +1643,7 @@ struct dict_foreign_remove_partial ...@@ -1643,6 +1643,7 @@ struct dict_foreign_remove_partial
if (table != NULL) { if (table != NULL) {
table->referenced_set.erase(foreign); table->referenced_set.erase(foreign);
} }
dict_foreign_free(foreign);
} }
}; };
...@@ -3593,8 +3594,7 @@ dict_foreign_add_to_cache( ...@@ -3593,8 +3594,7 @@ dict_foreign_add_to_cache(
} }
if (for_in_cache) { if (for_in_cache) {
/* Free the foreign object */ dict_foreign_free(foreign);
mem_heap_free(foreign->heap);
} else { } else {
for_in_cache = foreign; for_in_cache = foreign;
} }
...@@ -3622,7 +3622,7 @@ dict_foreign_add_to_cache( ...@@ -3622,7 +3622,7 @@ dict_foreign_add_to_cache(
" the ones in table."); " the ones in table.");
if (for_in_cache == foreign) { if (for_in_cache == foreign) {
mem_heap_free(foreign->heap); dict_foreign_free(foreign);
} }
return(DB_CANNOT_ADD_CONSTRAINT); return(DB_CANNOT_ADD_CONSTRAINT);
...@@ -3678,7 +3678,7 @@ dict_foreign_add_to_cache( ...@@ -3678,7 +3678,7 @@ dict_foreign_add_to_cache(
be one */ be one */
} }
mem_heap_free(foreign->heap); dict_foreign_free(foreign);
} }
return(DB_CANNOT_ADD_CONSTRAINT); return(DB_CANNOT_ADD_CONSTRAINT);
......
...@@ -490,7 +490,7 @@ dict_process_sys_foreign_rec( ...@@ -490,7 +490,7 @@ dict_process_sys_foreign_rec(
} }
/* This recieves a dict_foreign_t* that points to a stack variable. /* 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 Since the heap used here is freed elsewhere, foreign->heap
is not assigned. */ is not assigned. */
foreign->id = mem_heap_strdupl(heap, (const char*) field, len); foreign->id = mem_heap_strdupl(heap, (const char*) field, len);
......
...@@ -1643,6 +1643,7 @@ struct dict_foreign_remove_partial ...@@ -1643,6 +1643,7 @@ struct dict_foreign_remove_partial
if (table != NULL) { if (table != NULL) {
table->referenced_set.erase(foreign); table->referenced_set.erase(foreign);
} }
dict_foreign_free(foreign);
} }
}; };
...@@ -3597,8 +3598,7 @@ dict_foreign_add_to_cache( ...@@ -3597,8 +3598,7 @@ dict_foreign_add_to_cache(
} }
if (for_in_cache) { if (for_in_cache) {
/* Free the foreign object */ dict_foreign_free(foreign);
mem_heap_free(foreign->heap);
} else { } else {
for_in_cache = foreign; for_in_cache = foreign;
} }
...@@ -3622,7 +3622,7 @@ dict_foreign_add_to_cache( ...@@ -3622,7 +3622,7 @@ dict_foreign_add_to_cache(
" the ones in table."); " the ones in table.");
if (for_in_cache == foreign) { if (for_in_cache == foreign) {
mem_heap_free(foreign->heap); dict_foreign_free(foreign);
} }
return(DB_CANNOT_ADD_CONSTRAINT); return(DB_CANNOT_ADD_CONSTRAINT);
...@@ -3678,7 +3678,7 @@ dict_foreign_add_to_cache( ...@@ -3678,7 +3678,7 @@ dict_foreign_add_to_cache(
be one */ be one */
} }
mem_heap_free(foreign->heap); dict_foreign_free(foreign);
} }
return(DB_CANNOT_ADD_CONSTRAINT); return(DB_CANNOT_ADD_CONSTRAINT);
......
...@@ -492,7 +492,7 @@ dict_process_sys_foreign_rec( ...@@ -492,7 +492,7 @@ dict_process_sys_foreign_rec(
} }
/* This recieves a dict_foreign_t* that points to a stack variable. /* 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 Since the heap used here is freed elsewhere, foreign->heap
is not assigned. */ is not assigned. */
foreign->id = mem_heap_strdupl(heap, (const char*) field, len); foreign->id = mem_heap_strdupl(heap, (const char*) field, len);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment