From f8158fb5d2a6957d12f356e267ce7bf02162da3c Mon Sep 17 00:00:00 2001 From: Davi Arnaut Date: Mon, 27 Jul 2009 16:03:48 -0300 Subject: 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. --- libmysqld/lib_sql.cc | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'libmysqld') 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)); -- cgit v1.2.1