diff options
author | unknown <bell@sanja.is.com.ua> | 2002-11-28 20:12:14 +0200 |
---|---|---|
committer | unknown <bell@sanja.is.com.ua> | 2002-11-28 20:12:14 +0200 |
commit | 5fe662e290c536f294aae61fb9f7cfc7897b5a1d (patch) | |
tree | ff655e477b0570f3c4aad9d7eeb3408e7dde97ec /sql/sql_lex.cc | |
parent | 9e3552174b04edbaeaffa1fed4c796253f6402b1 (diff) | |
parent | b9daa52c4b219494ea08539451e56bd291fb8a76 (diff) | |
download | mariadb-git-5fe662e290c536f294aae61fb9f7cfc7897b5a1d.tar.gz |
merging
include/mysqld_error.h:
Auto merged
mysql-test/r/subselect.result:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/share/czech/errmsg.txt:
Auto merged
sql/share/danish/errmsg.txt:
Auto merged
sql/share/dutch/errmsg.txt:
Auto merged
sql/share/english/errmsg.txt:
Auto merged
sql/share/estonian/errmsg.txt:
Auto merged
sql/share/french/errmsg.txt:
Auto merged
sql/share/german/errmsg.txt:
Auto merged
sql/share/greek/errmsg.txt:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/share/hungarian/errmsg.txt:
Auto merged
sql/share/italian/errmsg.txt:
Auto merged
sql/share/japanese/errmsg.txt:
Auto merged
sql/share/korean/errmsg.txt:
Auto merged
sql/share/norwegian-ny/errmsg.txt:
Auto merged
sql/share/norwegian/errmsg.txt:
Auto merged
sql/share/polish/errmsg.txt:
Auto merged
sql/share/portuguese/errmsg.txt:
Auto merged
sql/share/romanian/errmsg.txt:
Auto merged
sql/share/russian/errmsg.txt:
Auto merged
sql/share/serbian/errmsg.txt:
Auto merged
sql/share/slovak/errmsg.txt:
Auto merged
sql/share/spanish/errmsg.txt:
Auto merged
sql/share/swedish/errmsg.txt:
Auto merged
sql/share/ukrainian/errmsg.txt:
Auto merged
Diffstat (limited to 'sql/sql_lex.cc')
-rw-r--r-- | sql/sql_lex.cc | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/sql/sql_lex.cc b/sql/sql_lex.cc index 65644b93331..c50321ebed7 100644 --- a/sql/sql_lex.cc +++ b/sql/sql_lex.cc @@ -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)"); |