diff options
-rw-r--r-- | mysql-test/r/errors.result | 14 | ||||
-rw-r--r-- | mysql-test/t/errors.test | 19 | ||||
-rw-r--r-- | sql/sql_help.cc | 3 |
3 files changed, 36 insertions, 0 deletions
diff --git a/mysql-test/r/errors.result b/mysql-test/r/errors.result index e1d494d3324..044fb3ebfa6 100644 --- a/mysql-test/r/errors.result +++ b/mysql-test/r/errors.result @@ -172,3 +172,17 @@ set max_session_mem_used = 50000; select * from seq_1_to_1000; set max_session_mem_used = 8192; select * from seq_1_to_1000; +# +# 10.1 Test +# +# MDEV-22422: Assertion `! is_set()' failed in +# Diagnostics_area::set_eof_status +# +SET @saved_max_session_mem_used = @@max_session_mem_used; +SET max_session_mem_used = 50000; +help 'it is going to crash'; +ERROR HY000: The MariaDB server is running with the --max-thread-mem-used=50000 option so it cannot execute this statement +SET @@max_session_mem_used=@saved_max_session_mem_used; +# +# End of 10.1 Test +# diff --git a/mysql-test/t/errors.test b/mysql-test/t/errors.test index 55461002fd4..e2b10559299 100644 --- a/mysql-test/t/errors.test +++ b/mysql-test/t/errors.test @@ -213,3 +213,22 @@ select * from seq_1_to_1000; --enable_result_log # We may not be able to execute any more queries with this connection # because of too little memory# + +--echo # +--echo # 10.1 Test +--echo # +--echo # MDEV-22422: Assertion `! is_set()' failed in +--echo # Diagnostics_area::set_eof_status +--echo # + +SET @saved_max_session_mem_used = @@max_session_mem_used; + +SET max_session_mem_used = 50000; +--error ER_OPTION_PREVENTS_STATEMENT +help 'it is going to crash'; + +SET @@max_session_mem_used=@saved_max_session_mem_used; + +--echo # +--echo # End of 10.1 Test +--echo # diff --git a/sql/sql_help.cc b/sql/sql_help.cc index cd9da566e51..654a3915b29 100644 --- a/sql/sql_help.cc +++ b/sql/sql_help.cc @@ -736,6 +736,9 @@ static bool mysqld_help_internal(THD *thd, const char *mask) &name, &description, &example); delete select; + if (thd->is_error()) + goto error; + if (count_topics == 0) { int UNINIT_VAR(key_id); |