summaryrefslogtreecommitdiff
path: root/innobase
diff options
context:
space:
mode:
authorunknown <osku@127.(none)>2005-09-26 13:24:01 +0300
committerunknown <osku@127.(none)>2005-09-26 13:24:01 +0300
commit3d23a2344f4c80437953c4f780d1582ed582f1b2 (patch)
tree225f5f548d7e0248979edbb94bb44af5dccd87c2 /innobase
parentddd18a89ad93929b4f57d78af7c8a92892ebfba3 (diff)
downloadmariadb-git-3d23a2344f4c80437953c4f780d1582ed582f1b2.tar.gz
InnoDB: Handle temporary file creation failure more gracefully.
innobase/row/row0ins.c: Don't assert on temp file creation failure.
Diffstat (limited to 'innobase')
-rw-r--r--innobase/row/row0ins.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/innobase/row/row0ins.c b/innobase/row/row0ins.c
index db871a53c42..5e833372299 100644
--- a/innobase/row/row0ins.c
+++ b/innobase/row/row0ins.c
@@ -591,15 +591,17 @@ row_ins_set_detailed(
FILE* tf = os_file_create_tmpfile();
- ut_a(tf);
-
- ut_print_name(tf, trx, foreign->foreign_table_name);
- dict_print_info_on_foreign_key_in_create_format(tf, trx,
- foreign, FALSE);
+ if (tf) {
+ ut_print_name(tf, trx, foreign->foreign_table_name);
+ dict_print_info_on_foreign_key_in_create_format(tf, trx,
+ foreign, FALSE);
- trx_set_detailed_error_from_file(trx, tf);
+ trx_set_detailed_error_from_file(trx, tf);
- fclose(tf);
+ fclose(tf);
+ } else {
+ trx_set_detailed_error(trx, "temp file creation failed");
+ }
}
/*************************************************************************