diff options
author | unknown <bell@sanja.is.com.ua> | 2002-11-27 01:12:16 +0200 |
---|---|---|
committer | unknown <bell@sanja.is.com.ua> | 2002-11-27 01:12:16 +0200 |
commit | a5541519512f4a843e9ff43e1c9ceab21b9a5d76 (patch) | |
tree | e798cab447b943542fca85b603038f2ef6b821f2 /sql/sql_select.cc | |
parent | 8079acf0800b9a8a65ab5cd9d3cfa8f424c20e10 (diff) | |
download | mariadb-git-a5541519512f4a843e9ff43e1c9ceab21b9a5d76.tar.gz |
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
Diffstat (limited to 'sql/sql_select.cc')
-rw-r--r-- | sql/sql_select.cc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sql/sql_select.cc b/sql/sql_select.cc index 8f406efc030..bb7f23a6710 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -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) ? |