summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOleksandr Byelkin <sanja@mariadb.com>2019-03-07 16:18:31 +0100
committerOleksandr Byelkin <sanja@mariadb.com>2019-03-07 16:18:31 +0100
commit5451240f57bf17851d3f486b0c1c895748f479b7 (patch)
tree10ca833e9afcae6a80bf771bb799a9d03db3cc25
parentacc8c7068fa3d866305763cf6f62175ad1525650 (diff)
downloadmariadb-git-10.4-serg.tar.gz
ANALYZE SELECT with PS fix10.4-serg
-rw-r--r--sql/sql_prepare.cc8
1 files changed, 6 insertions, 2 deletions
diff --git a/sql/sql_prepare.cc b/sql/sql_prepare.cc
index 94f87a88155..cb06dee0cd5 100644
--- a/sql/sql_prepare.cc
+++ b/sql/sql_prepare.cc
@@ -2548,8 +2548,12 @@ static bool check_prepared_statement(Prepared_statement *stmt)
{
if (lex->describe || lex->analyze_stmt)
{
- if (!lex->result &&
- !(lex->result= new (stmt->mem_root) select_send(thd)))
+ /*
+ With EXPAIN (describe) and ANALYZE STATEMENT we ignore original
+ result sending class and always send special result set to the
+ client
+ */
+ if (!(lex->result= new (stmt->mem_root) select_send(thd)))
DBUG_RETURN(TRUE);
List<Item> field_list;
res= thd->prepare_explain_fields(lex->result, &field_list,