1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-07 00:04:31 +03:00

Fix broken embedded build (broken by the patch for Bug#12713, first part).

client/mysqltest.c:
  Remove a call to my_message() (server call) in case of a client error.
  It asserts in the embedded build now, since is called after send_ok().
libmysqld/emb_qcache.cc:
  Use net_send_eof (embedded implementation) in embedded query cache/
  send result to client, since send_eof currently does not
  send anything.
libmysqld/emb_qcache.h:
  Declare net_send_eof.
libmysqld/lib_sql.cc:
  Fix the main loop of the embedded server to use the new Diagnostics_area
  API.
sql/log.cc:
  Silence errors of open_performance_schema_table. This function
  is called for general logging, and it happens after the error
  has been sent to the client, and thus triggers an assert.
storage/myisam/ha_myisam.cc:
  Remove an old hack that broke repair.test in embedded build:
  unless we clear an error here, the server attempts to send OK after
  ERROR. This currently asserts.
This commit is contained in:
unknown
2007-12-13 23:58:55 +03:00
parent a3a0d4359f
commit 37a2c4590a
6 changed files with 40 additions and 29 deletions

View File

@@ -87,6 +87,7 @@ emb_advanced_command(MYSQL *mysql, enum enum_server_command command,
/* Clear result variables */
thd->clear_error();
thd->main_da.reset_diagnostics_area();
mysql->affected_rows= ~(my_ulonglong) 0;
mysql->field_count= 0;
net_clear_error(net);
@@ -625,6 +626,7 @@ int check_embedded_connection(MYSQL *mysql, const char *db)
strmake(sctx->priv_host, (char*) my_localhost, MAX_HOSTNAME-1);
sctx->priv_user= sctx->user= my_strdup(mysql->user, MYF(0));
result= check_user(thd, COM_CONNECT, NULL, 0, db, true);
net_end_statement(thd);
emb_read_query_result(mysql);
return result;
}