Commit 74ec1c76 authored by unknown's avatar unknown

several init commands fix

parent d0598c88
......@@ -221,7 +221,7 @@ static TYPELIB option_types={array_elements(default_options)-1,
static int add_init_command(struct st_mysql_options *options, const char *cmd)
{
char **ptr, *tmp;
char *tmp;
if (!options->init_commands)
{
......@@ -231,7 +231,7 @@ static int add_init_command(struct st_mysql_options *options, const char *cmd)
}
if (!(tmp= my_strdup(cmd,MYF(MY_WME))) ||
insert_dynamic(options->init_commands, &tmp))
insert_dynamic(options->init_commands, (gptr)&tmp))
{
my_free(tmp, MYF(MY_ALLOW_ZERO_PTR));
return 1;
......@@ -516,11 +516,24 @@ mysql_real_connect(MYSQL *mysql,const char *host, const char *user,
if (db)
client_flag|=CLIENT_CONNECT_WITH_DB;
if (mysql->options.init_command)
if (mysql->options.init_commands)
{
DYNAMIC_ARRAY *init_commands= mysql->options.init_commands;
char **ptr= (char**)init_commands->buffer;
char **end= ptr + init_commands->elements;
for (; ptr<end; ptr++)
{
MYSQL_RES *res;
if (mysql_query(mysql,*ptr))
goto error;
if (mysql->fields)
{
if (mysql_query(mysql,mysql->options.init_command))
if (!(res= mysql_use_result(mysql)))
goto error;
mysql_free_result(mysql_use_result(mysql));
mysql_free_result(res);
}
}
}
DBUG_PRINT("exit",("Mysql handler: %lx",mysql));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment