mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Merge branch '10.4' into 10.5
This commit is contained in:
@ -1211,6 +1211,15 @@ JOIN::prepare(TABLE_LIST *tables_init, COND *conds_init, uint og_num,
|
||||
// simple check that we got usable conds
|
||||
dbug_print_item(conds);
|
||||
|
||||
/*
|
||||
It is hack which force creating EXPLAIN object always on runt-time arena
|
||||
(because very top JOIN::prepare executes always with runtime arena, but
|
||||
constant subquery like (SELECT 'x') can be called with statement arena
|
||||
during prepare phase of top SELECT).
|
||||
*/
|
||||
if (!(thd->lex->context_analysis_only & CONTEXT_ANALYSIS_ONLY_PREPARE))
|
||||
create_explain_query_if_not_exists(thd->lex, thd->mem_root);
|
||||
|
||||
if (select_lex->handle_derived(thd->lex, DT_PREPARE))
|
||||
DBUG_RETURN(-1);
|
||||
|
||||
@ -1661,7 +1670,6 @@ bool JOIN::build_explain()
|
||||
int JOIN::optimize()
|
||||
{
|
||||
int res= 0;
|
||||
create_explain_query_if_not_exists(thd->lex, thd->mem_root);
|
||||
join_optimization_state init_state= optimization_state;
|
||||
if (select_lex->pushdown_select)
|
||||
{
|
||||
|
Reference in New Issue
Block a user