Bug #15302 LOAD DATA FROM MASTER -> Packets out of order (Found: 2, expected 1)

 - Change "mysql_create_db" to not call "send_ok" if in silent mode i.e. called from "load_master_data"
 - Change mysqltest to detect when there aren't as many warnings available as was reported.
parent 1155bf20
......@@ -2966,7 +2966,7 @@ static int run_query_normal(MYSQL* mysql, struct st_query* q, int flags)
warn_res= mysql_store_result(mysql);
}
if (!warn_res)
verbose_msg("Warning count is %u but didn't get any warnings\n",
die("Warning count is %u but didn't get any warnings\n",
count);
else
{
......@@ -3446,7 +3446,7 @@ static void run_query_stmt_handle_warnings(MYSQL *mysql, DYNAMIC_STRING *ds)
{
MYSQL_RES *warn_res= mysql_store_result(mysql);
if (!warn_res)
verbose_msg("Warning count is %u but didn't get any warnings\n",
die("Warning count is %u but didn't get any warnings\n",
count);
else
{
......
......@@ -388,6 +388,12 @@ bool load_db_opt(THD *thd, const char *path, HA_CREATE_INFO *create)
silent Used by replication when internally creating a database.
In this case the entry should not be logged.
SIDE-EFFECTS
1. Report back to client that command succeeded (send_ok)
2. Report errors to client
3. Log event to binary log
(The 'silent' flags turns off 1 and 3.)
RETURN VALUES
0 ok
-1 Error
......@@ -429,8 +435,9 @@ int mysql_create_db(THD *thd, char *db, HA_CREATE_INFO *create_info,
}
push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_NOTE,
ER_DB_CREATE_EXISTS, ER(ER_DB_CREATE_EXISTS), db);
error= 0;
if (!silent)
send_ok(thd);
error= 0;
goto exit;
}
else
......
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