diff options
author | Sergey Glukhov <Sergey.Glukhov@sun.com> | 2009-07-03 13:22:06 +0500 |
---|---|---|
committer | Sergey Glukhov <Sergey.Glukhov@sun.com> | 2009-07-03 13:22:06 +0500 |
commit | 45d59063cb5c835c01d4744ad3b3b4c141a639a2 (patch) | |
tree | c61beca7f9b0c101c8775660abed41660f9db71e /sql/sql_table.cc | |
parent | 61488d2abbaef189b45fa076a540d37088eceb7a (diff) | |
download | mariadb-git-45d59063cb5c835c01d4744ad3b3b4c141a639a2.tar.gz |
Bug#42364 SHOW ERRORS returns empty resultset after dropping non existent table
enabled message storing into error message list
for 'drop table' command
mysql-test/r/warnings.result:
test result
mysql-test/t/warnings.test:
test case
sql/sql_table.cc:
We should skip error sending then we should return
warnings to client as some functions may send its
own errors, so we should set no_warnings_for_error= 0
only in case of warning.
The fix is to enable message storing into error message
list for 'drop table' command(only for error case).
tests/mysql_client_test.c:
test fix
Diffstat (limited to 'sql/sql_table.cc')
-rw-r--r-- | sql/sql_table.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sql/sql_table.cc b/sql/sql_table.cc index e752421223a..813a0472b76 100644 --- a/sql/sql_table.cc +++ b/sql/sql_table.cc @@ -1995,6 +1995,7 @@ int mysql_rm_table_part2(THD *thd, TABLE_LIST *tables, bool if_exists, pthread_mutex_unlock(&LOCK_open); thd->thread_specific_used|= tmp_table_deleted; error= 0; + thd->no_warnings_for_error= 0; if (wrong_tables.length()) { if (!foreign_key_error) @@ -2056,7 +2057,6 @@ int mysql_rm_table_part2(THD *thd, TABLE_LIST *tables, bool if_exists, err_with_placeholders: unlock_table_names(thd, tables, (TABLE_LIST*) 0); pthread_mutex_unlock(&LOCK_open); - thd->no_warnings_for_error= 0; DBUG_RETURN(error); } |