summaryrefslogtreecommitdiff
path: root/sql/sql_show.cc
diff options
context:
space:
mode:
authorAlexey Botchkov <holyfoot@askmonty.org>2020-08-11 00:01:53 +0400
committerAlexey Botchkov <holyfoot@askmonty.org>2020-08-11 00:01:53 +0400
commit19bdb03e97d6f760699cd718e11f71e01c268f5e (patch)
tree3399b856c7bc246e3faec3cb1aad40badac8764a /sql/sql_show.cc
parent0041dacc1b8e85e1958355d1cfdc36055b05a884 (diff)
downloadmariadb-git-bb-mdev21211-hf.tar.gz
MDEV-21211 LOCK_plugin optimization.bb-mdev21211-hf
Use Apc_target calls to 'notify' threads about changes in plugins.
Diffstat (limited to 'sql/sql_show.cc')
-rw-r--r--sql/sql_show.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/sql/sql_show.cc b/sql/sql_show.cc
index ba895384c1a..dc7cf1b1e24 100644
--- a/sql/sql_show.cc
+++ b/sql/sql_show.cc
@@ -3010,6 +3010,12 @@ void Show_explain_request::call_in_target_thread()
Query_arena backup_arena;
bool printed_anything= FALSE;
+ if (target_thd->lex == NULL || target_thd->lex->explain == NULL ||
+ !target_thd->lex->explain->query_plan_is_ready())
+ {
+ failed_to_produce= TRUE;
+ return;
+ }
/*
Change the arena because JOIN::print_explain and co. are going to allocate
items. Let them allocate them on our arena.