1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-29 05:21:33 +03:00

Manual merge from mysql-5.1-bugteam to mysql-trunk-merge.

Conflicts:

Text conflict in tests/mysql_client_test.c
This commit is contained in:
Alexey Kopytov
2010-05-11 12:27:53 +04:00
6 changed files with 301 additions and 69 deletions

View File

@ -2884,6 +2884,11 @@ CLI_MYSQL_REAL_CONNECT(MYSQL *mysql,const char *host, const char *user,
goto error;
}
/*
Using init_commands is not supported when connecting from within the
server.
*/
#ifndef MYSQL_SERVER
if (mysql->options.init_commands)
{
DYNAMIC_ARRAY *init_commands= mysql->options.init_commands;
@ -2895,18 +2900,26 @@ CLI_MYSQL_REAL_CONNECT(MYSQL *mysql,const char *host, const char *user,
for (; ptr < end_command; ptr++)
{
MYSQL_RES *res;
int status;
if (mysql_real_query(mysql,*ptr, (ulong) strlen(*ptr)))
goto error;
if (mysql->fields)
{
if (!(res= cli_use_result(mysql)))
goto error;
mysql_free_result(res);
}
do {
if (mysql->fields)
{
MYSQL_RES *res;
if (!(res= cli_use_result(mysql)))
goto error;
mysql_free_result(res);
}
if ((status= mysql_next_result(mysql)) > 0)
goto error;
} while (status == 0);
}
mysql->reconnect=reconnect;
}
#endif
DBUG_PRINT("exit", ("Mysql handler: 0x%lx", (long) mysql));
reset_sigpipe(mysql);