Commit 27f82edc authored by unknown's avatar unknown

Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.0

into linux.site:/home/marty/MySQL/mysql-5.0


sql/mysql_priv.h:
  Auto merged
parents 2a0b2e93 380b5819
...@@ -821,7 +821,7 @@ MYSQL_ERROR *push_warning(THD *thd, MYSQL_ERROR::enum_warning_level level, uint ...@@ -821,7 +821,7 @@ MYSQL_ERROR *push_warning(THD *thd, MYSQL_ERROR::enum_warning_level level, uint
const char *msg); const char *msg);
void push_warning_printf(THD *thd, MYSQL_ERROR::enum_warning_level level, void push_warning_printf(THD *thd, MYSQL_ERROR::enum_warning_level level,
uint code, const char *format, ...); uint code, const char *format, ...);
void mysql_reset_errors(THD *thd); void mysql_reset_errors(THD *thd, bool force= false);
bool mysqld_show_warnings(THD *thd, ulong levels_to_show); bool mysqld_show_warnings(THD *thd, ulong levels_to_show);
/* sql_handler.cc */ /* sql_handler.cc */
......
...@@ -1606,6 +1606,7 @@ static int open_unireg_entry(THD *thd, TABLE *entry, const char *db, ...@@ -1606,6 +1606,7 @@ static int open_unireg_entry(THD *thd, TABLE *entry, const char *db,
if (ha_create_table_from_engine(thd, db, name, TRUE) != 0) if (ha_create_table_from_engine(thd, db, name, TRUE) != 0)
goto err; goto err;
mysql_reset_errors(thd, true); // Clear warnings
thd->clear_error(); // Clear error message thd->clear_error(); // Clear error message
continue; continue;
} }
......
...@@ -64,6 +64,7 @@ void MYSQL_ERROR::set_msg(THD *thd, const char *msg_arg) ...@@ -64,6 +64,7 @@ void MYSQL_ERROR::set_msg(THD *thd, const char *msg_arg)
SYNOPSIS SYNOPSIS
mysql_reset_errors() mysql_reset_errors()
thd Thread handle thd Thread handle
force Reset warnings even if it has been done before
IMPLEMENTATION IMPLEMENTATION
Don't reset warnings if this has already been called for this query. Don't reset warnings if this has already been called for this query.
...@@ -71,14 +72,15 @@ void MYSQL_ERROR::set_msg(THD *thd, const char *msg_arg) ...@@ -71,14 +72,15 @@ void MYSQL_ERROR::set_msg(THD *thd, const char *msg_arg)
in which case push_warnings() has already called this function. in which case push_warnings() has already called this function.
*/ */
void mysql_reset_errors(THD *thd) void mysql_reset_errors(THD *thd, bool force)
{ {
DBUG_ENTER("mysql_reset_errors"); DBUG_ENTER("mysql_reset_errors");
if (thd->query_id != thd->warn_id) if (thd->query_id != thd->warn_id || force)
{ {
thd->warn_id= thd->query_id; thd->warn_id= thd->query_id;
free_root(&thd->warn_root,MYF(0)); free_root(&thd->warn_root,MYF(0));
bzero((char*) thd->warn_count, sizeof(thd->warn_count)); bzero((char*) thd->warn_count, sizeof(thd->warn_count));
if (force) thd->total_warn_count= 0;
thd->warn_list.empty(); thd->warn_list.empty();
thd->row_count= 1; // by default point to row 1 thd->row_count= 1; // by default point to row 1
} }
......
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