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, ...@@ -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) static int add_init_command(struct st_mysql_options *options, const char *cmd)
{ {
char **ptr, *tmp; char *tmp;
if (!options->init_commands) if (!options->init_commands)
{ {
...@@ -231,7 +231,7 @@ static int add_init_command(struct st_mysql_options *options, const char *cmd) ...@@ -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))) || 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)); my_free(tmp, MYF(MY_ALLOW_ZERO_PTR));
return 1; return 1;
...@@ -516,11 +516,24 @@ mysql_real_connect(MYSQL *mysql,const char *host, const char *user, ...@@ -516,11 +516,24 @@ mysql_real_connect(MYSQL *mysql,const char *host, const char *user,
if (db) if (db)
client_flag|=CLIENT_CONNECT_WITH_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; goto error;
mysql_free_result(mysql_use_result(mysql)); mysql_free_result(res);
}
}
} }
DBUG_PRINT("exit",("Mysql handler: %lx",mysql)); 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