1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-01 03:47:19 +03:00

reverse order in global select list allow to avoid recursion in derived tables

sql/sql_delete.cc:
  new order in global select list
sql/sql_derived.cc:
  removed recursion from derived tables
sql/sql_insert.cc:
  new order in global select list
sql/sql_lex.h:
  pointer to global select list
sql/sql_select.cc:
  new order in global select list
sql/sql_update.cc:
  new order in global select list
This commit is contained in:
unknown
2002-11-27 01:12:16 +02:00
parent 8079acf080
commit a554151951
7 changed files with 30 additions and 41 deletions

View File

@ -158,7 +158,7 @@ int handle_select(THD *thd, LEX *lex, select_result *result)
{
int res;
register SELECT_LEX *select_lex = &lex->select_lex;
fix_tables_pointers(select_lex);
fix_tables_pointers(lex->all_selects_list);
if (select_lex->next_select())
res=mysql_union(thd,lex,result);
else
@ -7514,7 +7514,7 @@ int mysql_explain_union(THD *thd, SELECT_LEX_UNIT *unit, select_result *result)
{
res= mysql_explain_select(thd, sl,
(((&thd->lex.select_lex)==sl)?
((sl->next_select_in_list())?"PRIMARY":
((thd->lex.all_selects_list != sl)?"PRIMARY":
"SIMPLE"):
((sl == first)?
((sl->linkage == DERIVED_TABLE_TYPE) ?