1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-01 03:47:19 +03:00
This commit is contained in:
bell@sanja.is.com.ua
2002-11-28 20:12:14 +02:00
35 changed files with 199 additions and 37 deletions

View File

@ -1062,6 +1062,31 @@ void st_select_lex_node::exclude()
*/
}
void st_select_lex_unit::exclude_level()
{
SELECT_LEX_UNIT *units= 0, **units_last= &units;
for(SELECT_LEX *sl= first_select(); sl; sl= sl->next_select())
{
if (sl->link_prev && (*sl->link_prev= sl->link_next))
sl->link_next->link_prev= sl->link_prev;
SELECT_LEX_UNIT **last= 0;
for (SELECT_LEX_UNIT *u= sl->first_inner_unit(); u; u= u->next_unit())
last= (SELECT_LEX_UNIT**)&(u->next);
if (last)
{
(*units_last)= sl->first_inner_unit();
units_last= last;
}
}
if (units)
{
(*prev)= units;
(*units_last)= (SELECT_LEX_UNIT*)next;
}
else
(*prev)= next;
}
st_select_lex* st_select_lex_node::select_lex()
{
DBUG_ENTER("st_select_lex_node::select_lex (never should be called)");