diff options
author | Oleksandr Byelkin <sanja@mariadb.com> | 2017-12-22 14:00:10 +0100 |
---|---|---|
committer | Oleksandr Byelkin <sanja@mariadb.com> | 2017-12-22 14:00:10 +0100 |
commit | 980a5c318803d6aa7355e019869597976dcf19bf (patch) | |
tree | f19ff667283da2220bfa67e583768768cb3f7e50 /sql/sql_parse.cc | |
parent | 042f763268c0f209e7c12e0a6a72bb5d204dfe29 (diff) | |
download | mariadb-git-10.0-bb-MDEV-14572.tar.gz |
MDEV-14572: Assertion `! is_set()' failed in Diagnostics_area::set_eof_status upon EXPLAIN UPDATE in PS10.0-bb-MDEV-14572
Restore EXPAIN flag in SELECT_LEX before execution multi-update by flag in LEX
(the same but in other way made before INSERT/DELETE/SELECT)
Diffstat (limited to 'sql/sql_parse.cc')
-rw-r--r-- | sql/sql_parse.cc | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc index fa95c852f53..f4dd6df2c65 100644 --- a/sql/sql_parse.cc +++ b/sql/sql_parse.cc @@ -3327,6 +3327,16 @@ end_with_restore_list: else res= 0; + /* + We can not use mysql_explain_union() because of parameters of + mysql_select in mysql_multi_update so just set the option if needed + */ + if (thd->lex->describe) + { + select_lex->set_explain_type(FALSE); + select_lex->options|= SELECT_DESCRIBE; + } + res= mysql_multi_update_prepare(thd); #ifdef HAVE_REPLICATION |