mirror of
https://github.com/MariaDB/server.git
synced 2026-01-06 05:22:24 +03:00
MDEV-3798: [SHOW] EXPLAIN UPDATE/DELETE, Memory leak in binlog.binlog_base64_flag:
- It turns out, there are statements that will call lex_start(thd->lex) after parsing has been finished. lex_start() will set lex->explain=NULL, which will lose the pointer to already allocated Explain_plan object. - To get rid of this, switch to lazy creation of lex->explain. Now, it is created only when we get a part ot query plan.
This commit is contained in:
@@ -622,6 +622,7 @@ class Explain_query;
|
||||
|
||||
void delete_explain_query(LEX *lex);
|
||||
void create_explain_query(LEX *lex, MEM_ROOT *mem_root);
|
||||
void create_explain_query_if_not_exists(LEX *lex, MEM_ROOT *mem_root);
|
||||
bool print_explain_query(LEX *lex, THD *thd, String *str);
|
||||
|
||||
class st_select_lex_unit: public st_select_lex_node {
|
||||
|
||||
Reference in New Issue
Block a user