Commit 3454b5cf authored by Oleksandr Byelkin's avatar Oleksandr Byelkin

Merge branch '10.3' into 10.4

parents 4601e6e5 e59c1cef
...@@ -1301,7 +1301,7 @@ select ancestors.name, ancestors.dob from ancestors; ...@@ -1301,7 +1301,7 @@ select ancestors.name, ancestors.dob from ancestors;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY <derived4> ALL NULL NULL NULL NULL 24 1 PRIMARY <derived4> ALL NULL NULL NULL NULL 24
4 DERIVED folks ALL NULL NULL NULL NULL 12 Using where 4 DERIVED folks ALL NULL NULL NULL NULL 12 Using where
6 RECURSIVE UNION <derived3> ALL NULL NULL NULL NULL 12 6 UNION <derived3> ALL NULL NULL NULL NULL 12
5 RECURSIVE UNION <derived4> ALL NULL NULL NULL NULL 24 5 RECURSIVE UNION <derived4> ALL NULL NULL NULL NULL 24
NULL UNION RESULT <union4,6,5> ALL NULL NULL NULL NULL NULL NULL UNION RESULT <union4,6,5> ALL NULL NULL NULL NULL NULL
3 DERIVED folks ALL NULL NULL NULL NULL 12 Using where 3 DERIVED folks ALL NULL NULL NULL NULL 12 Using where
...@@ -4029,7 +4029,7 @@ id select_type table type possible_keys key key_len ref rows Extra ...@@ -4029,7 +4029,7 @@ id select_type table type possible_keys key key_len ref rows Extra
3 RECURSIVE UNION t1 ALL NULL NULL NULL NULL 4 Using where 3 RECURSIVE UNION t1 ALL NULL NULL NULL NULL 4 Using where
3 RECURSIVE UNION <derived2> ref key0 key0 9 test.t1.c 2 3 RECURSIVE UNION <derived2> ref key0 key0 9 test.t1.c 2
NULL UNION RESULT <union2,3> ALL NULL NULL NULL NULL NULL NULL UNION RESULT <union2,3> ALL NULL NULL NULL NULL NULL
4 RECURSIVE UNION <derived2> ALL NULL NULL NULL NULL 4 4 UNION <derived2> ALL NULL NULL NULL NULL 4
with recursive r_cte as with recursive r_cte as
( select * from t1 as s ( select * from t1 as s
union union
......
...@@ -4831,16 +4831,16 @@ void st_select_lex::set_explain_type(bool on_the_fly) ...@@ -4831,16 +4831,16 @@ void st_select_lex::set_explain_type(bool on_the_fly)
/* /*
pos_in_table_list=NULL for e.g. post-join aggregation JOIN_TABs. pos_in_table_list=NULL for e.g. post-join aggregation JOIN_TABs.
*/ */
if (!tab->table); if (!(tab->table && tab->table->pos_in_table_list))
else if (const TABLE_LIST *pos= tab->table->pos_in_table_list) continue;
{ TABLE_LIST *tbl= tab->table->pos_in_table_list;
if (pos->with && pos->with->is_recursive) if (tbl->with && tbl->with->is_recursive &&
tbl->is_with_table_recursive_reference())
{ {
uses_cte= true; uses_cte= true;
break; break;
} }
} }
}
if (uses_cte) if (uses_cte)
type= "RECURSIVE UNION"; type= "RECURSIVE UNION";
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment