diff options
author | unknown <osku@127.(none)> | 2005-09-26 13:24:01 +0300 |
---|---|---|
committer | unknown <osku@127.(none)> | 2005-09-26 13:24:01 +0300 |
commit | 3d23a2344f4c80437953c4f780d1582ed582f1b2 (patch) | |
tree | 225f5f548d7e0248979edbb94bb44af5dccd87c2 /innobase | |
parent | ddd18a89ad93929b4f57d78af7c8a92892ebfba3 (diff) | |
download | mariadb-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.c | 16 |
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"); + } } /************************************************************************* |