summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorgluh@eagle.intranet.mysql.r18.ru <>2005-05-27 18:01:09 +0500
committergluh@eagle.intranet.mysql.r18.ru <>2005-05-27 18:01:09 +0500
commit26e9e13c2618aad057a369c32bbb622fe3b6726d (patch)
treece0baab10ac2a24c91334ad4ee0e9b23d713a691 /tests
parenteaa7f6ab88c9dcef870d381a9741feeeb72fdbcc (diff)
downloadmariadb-git-26e9e13c2618aad057a369c32bbb622fe3b6726d.tar.gz
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
Diffstat (limited to 'tests')
-rw-r--r--tests/mysql_client_test.c26
1 files changed, 23 insertions, 3 deletions
diff --git a/tests/mysql_client_test.c b/tests/mysql_client_test.c
index 95db383bbb6..9a8ee44c54c 100644
--- a/tests/mysql_client_test.c
+++ b/tests/mysql_client_test.c
@@ -233,7 +233,7 @@ mysql_simple_prepare(MYSQL *mysql, const char *query)
/* Connect to the server */
-static void client_connect()
+static void client_connect(ulong flag)
{
int rc;
myheader_r("client_connect");
@@ -251,7 +251,7 @@ static void client_connect()
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 print_test_output()
}
+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 @@ int main(int argc, char **argv)
(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 @@ int main(int argc, char **argv)
}
client_disconnect(); /* disconnect from server */
+
+ client_connect(CLIENT_MULTI_STATEMENTS);
+ check_mupltiquery_bug9992();
+ client_disconnect();
free_defaults(defaults_argv);
print_test_output();