A fix for a bug with derived tables within subselect

within derived tables within ......
parent e8c7830e
......@@ -65,3 +65,6 @@ a t
19 19
20 20
drop table if exists t1;
SELECT * FROM (SELECT (SELECT * FROM (SELECT 1 as a)));
(SELECT * FROM (SELECT 1 as a))
1
......@@ -34,3 +34,4 @@ while ($1)
enable_query_log;
SELECT * FROM (SELECT * FROM t1) ORDER BY a ASC LIMIT 0,20;
drop table if exists t1;
SELECT * FROM (SELECT (SELECT * FROM (SELECT 1 as a)));
......@@ -50,7 +50,10 @@ int mysql_derived(THD *thd, LEX *lex, SELECT_LEX_UNIT *unit, TABLE_LIST *t)
if (res)
DBUG_RETURN(-1);
for (TABLE_LIST *cursor= (TABLE_LIST *)tables;
for (SELECT_LEX *ssl= sl; ssl; ssl= ssl->next_select_in_list())
{
TABLE_LIST *t_tables= (TABLE_LIST *)ssl->table_list.first;
for (TABLE_LIST *cursor= (TABLE_LIST *)t_tables;
cursor;
cursor=cursor->next)
{
......@@ -61,6 +64,7 @@ int mysql_derived(THD *thd, LEX *lex, SELECT_LEX_UNIT *unit, TABLE_LIST *t)
if (res) DBUG_RETURN(res);
}
}
}
Item *item;
List_iterator<Item> it(sl->item_list);
......
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