Merge with MySQL 5.1.49

Fixed Bug#52005 'JOIN_TAB->dependent' may be incorrectly propageted for multilevel outer joins' in a better way (patch from Sergey Petrunya)
This commit is contained in:
Michael Widenius 2010-08-02 12:01:24 +03:00
commit e0a6b02c5d
610 changed files with 27019 additions and 15561 deletions

View file

@ -2467,6 +2467,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;
@ -2478,18 +2483,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
#ifndef TO_BE_DELETED
if (mysql->options.rpl_probe && mysql_rpl_probe(mysql))