Below is the list of changes that have just been committed into a local
5.0 repository of gluh. When gluh does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html
ChangeSet
1.1928 05/05/27 18:01:09 gluh@stripped +2 -0
Fix for bug #9992: mysql_next_result hangs on error
set net->no_send_error to 0 before execution of each element of
multiquery statement to provide the sending of error to client
tests/mysql_client_test.c
1.120 05/05/27 18:00:12 gluh@stripped +23 -3
Fix for bug #9992: mysql_next_result hangs on error
test case
sql/sql_parse.cc
1.436 05/05/27 18:00:12 gluh@stripped +1 -0
Fix for bug #9992: mysql_next_result hangs on error
set net->no_send_error to 0 before execution of each element of
multiquery statement to provide the sending of error to client
# This is a BitKeeper patch. What follows are the unified diffs for the
# set of deltas contained in the patch. The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User: gluh
# Host: eagle.intranet.mysql.r18.ru
# Root: /home/gluh/MySQL/Merge/mysql-5.0
--- 1.435/sql/sql_parse.cc Thu May 26 23:00:20 2005
+++ 1.436/sql/sql_parse.cc Fri May 27 18:00:12 2005
@@ -1655,6 +1655,7 @@
while (!thd->killed && thd->lex->found_semicolon &&
!thd->net.report_error)
{
char *packet= thd->lex->found_semicolon;
+ net->no_send_error= 0;
/*
Multiple queries exits, execute them individually
in embedded server - just store them to be executed later
--- 1.119/tests/mysql_client_test.c Wed May 18 12:41:30 2005
+++ 1.120/tests/mysql_client_test.c Fri May 27 18:00:12 2005
@@ -233,7 +233,7 @@
/* Connect to the server */
-static void client_connect()
+static void client_connect(ulong flag)
{
int rc;
myheader_r("client_connect");
@@ -251,7 +251,7 @@
if (!(mysql_real_connect(mysql, opt_host, opt_user,
opt_password, opt_db ? opt_db:"test", opt_port,
- opt_unix_socket, 0)))
+ opt_unix_socket, flag)))
{
opt_silent= 0;
myerror("connection failed");
@@ -13478,6 +13478,22 @@
}
+static void check_mupltiquery_bug9992()
+{
+
+ MYSQL_RES* res ;
+ mysql_query(mysql,"SHOW TABLES;SHOW DATABASE;SELECT 1;");
+
+ fprintf(stdout, "\n\n!!! check_mupltiquery_bug9992 !!!\n");
+ do
+ {
+ if (!(res= mysql_store_result(mysql)))
+ return;
+ mysql_free_result(res);
+ } while (!mysql_next_result(mysql));
+ fprintf(stdout, "\n\n!!! SUCCESS !!!\n");
+ return;
+}
/***************************************************************************
main routine
***************************************************************************/
@@ -13499,7 +13515,7 @@
(char**) embedded_server_groups))
DIE("Can't initialize MySQL server");
- client_connect(); /* connect to server */
+ client_connect(0); /* connect to server */
total_time= 0;
for (iter_count= 1; iter_count <= opt_count; iter_count++)
@@ -13543,6 +13559,10 @@
}
client_disconnect(); /* disconnect from server */
+
+ client_connect(CLIENT_MULTI_STATEMENTS);
+ check_mupltiquery_bug9992();
+ client_disconnect();
free_defaults(defaults_argv);
print_test_output();
| Thread |
|---|
| • bk commit into 5.0 tree (gluh:1.1928) BUG#9992 | gluh | 27 May |