summaryrefslogtreecommitdiff
path: root/sql/sql_class.cc
diff options
context:
space:
mode:
authorVladislav Vaintroub <wlad@mariadb.com>2018-10-04 14:24:14 +0100
committerVladislav Vaintroub <wlad@mariadb.com>2018-10-05 16:48:51 +0100
commit7fefd53f94bdb5aeab352665ae0f208b858e88f8 (patch)
tree89f0bec6c00878e033dc77bc349e4226cafd4434 /sql/sql_class.cc
parent33fadbfefcc040f0b5ae589d385468e5ba26b1cd (diff)
downloadmariadb-git-7fefd53f94bdb5aeab352665ae0f208b858e88f8.tar.gz
MDEV-14581 Server does not clear diagnostics between sessions
Amend previous patch, so it works in all cases (also for "change user" command, and for RESET CONNECTION in 10.3)
Diffstat (limited to 'sql/sql_class.cc')
-rw-r--r--sql/sql_class.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/sql/sql_class.cc b/sql/sql_class.cc
index bd41a3729d6..e581ed0af25 100644
--- a/sql/sql_class.cc
+++ b/sql/sql_class.cc
@@ -1332,6 +1332,11 @@ void THD::change_user(void)
cleanup_done= 0;
reset_killed();
thd_clear_errors(this);
+
+ /* Clear warnings. */
+ if (!get_stmt_da()->is_warning_info_empty())
+ get_stmt_da()->clear_warning_info(0);
+
init();
stmt_map.reset();
my_hash_init(&user_vars, system_charset_info, USER_VARS_HASH_SIZE, 0, 0,