summaryrefslogtreecommitdiff
path: root/libmysqld
diff options
context:
space:
mode:
authorDavi Arnaut <Davi.Arnaut@Sun.COM>2009-07-27 16:03:48 -0300
committerDavi Arnaut <Davi.Arnaut@Sun.COM>2009-07-27 16:03:48 -0300
commitf8158fb5d2a6957d12f356e267ce7bf02162da3c (patch)
tree8db4348d69fb83b1adb0677a4b34deeecdff2f9c /libmysqld
parentc721cef54fcaaeb2a26aeede0deaeeb177a0f063 (diff)
downloadmariadb-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.cc14
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));