diff options
author | Davi Arnaut <Davi.Arnaut@Sun.COM> | 2009-07-27 16:03:48 -0300 |
---|---|---|
committer | Davi Arnaut <Davi.Arnaut@Sun.COM> | 2009-07-27 16:03:48 -0300 |
commit | f8158fb5d2a6957d12f356e267ce7bf02162da3c (patch) | |
tree | 8db4348d69fb83b1adb0677a4b34deeecdff2f9c /libmysqld | |
parent | c721cef54fcaaeb2a26aeede0deaeeb177a0f063 (diff) | |
download | mariadb-git-f8158fb5d2a6957d12f356e267ce7bf02162da3c.tar.gz |
Post-merge fix for Bug#43587: Handle failures to execute a statement
during bootstrap on a embedded server.
libmysqld/lib_sql.cc:
Handle a failure during bootstrap.
Diffstat (limited to 'libmysqld')
-rw-r--r-- | libmysqld/lib_sql.cc | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/libmysqld/lib_sql.cc b/libmysqld/lib_sql.cc index d644c45a66a..ec108bf372e 100644 --- a/libmysqld/lib_sql.cc +++ b/libmysqld/lib_sql.cc @@ -1078,9 +1078,19 @@ net_send_eof(THD *thd, uint server_status, uint total_warn_count) void net_send_error_packet(THD *thd, uint sql_errno, const char *err) { - MYSQL_DATA *data= thd->cur_data ? thd->cur_data : thd->alloc_new_dataset(); - struct embedded_query_result *ei= data->embedded_info; + MYSQL_DATA *data= thd->cur_data; + struct embedded_query_result *ei; + + if (!thd->mysql) // bootstrap file handling + { + fprintf(stderr, "ERROR: %d %s\n", sql_errno, err); + return; + } + + if (!data) + data= thd->alloc_new_dataset(); + ei= data->embedded_info; ei->last_errno= sql_errno; strmake(ei->info, err, sizeof(ei->info)-1); strmov(ei->sqlstate, mysql_errno_to_sqlstate(sql_errno)); |