diff options
author | unknown <bell@sanja.is.com.ua> | 2003-01-26 21:30:35 +0200 |
---|---|---|
committer | unknown <bell@sanja.is.com.ua> | 2003-01-26 21:30:35 +0200 |
commit | a72ebebf5dace430460ebdd9e96322780fcfe882 (patch) | |
tree | e194c81cba3115272354ebd186e5faa8e278d078 /sql/sql_lex.cc | |
parent | fbd882fca6902e5038bef1d25c1afbfad892d09a (diff) | |
download | mariadb-git-a72ebebf5dace430460ebdd9e96322780fcfe882.tar.gz |
after merge fix of 577 task (SCRUM, pre commit to be able to merge with static tables optimization fix)
fixed derived tables with subselect inside
mysql-test/r/derived.result:
test of subselects inside derived tables
mysql-test/t/derived.test:
test of subselects inside derived tables
mysql-test/t/subselect.test:
subselect test (not finished)
sql/item.cc:
after merge fix
sql/item.h:
after merge fix
sql/item_cmpfunc.h:
after merge fix
sql/item_subselect.cc:
after merge fix
sql/item_sum.h:
after merge fix
sql/mysql_priv.h:
fixed derived tables with subselect inside
sql/sql_class.h:
after merge fix
sql/sql_derived.cc:
fixed derived tables with subselect inside
sql/sql_lex.cc:
fixed derived tables with subselect inside
sql/sql_lex.h:
fixed derived tables with subselect inside
sql/sql_parse.cc:
fixed derived tables with subselect inside
after merge fix
sql/sql_prepare.cc:
after merge fix
sql/sql_select.cc:
after merge fix
fixed derived tables with subselect inside
Diffstat (limited to 'sql/sql_lex.cc')
-rw-r--r-- | sql/sql_lex.cc | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/sql/sql_lex.cc b/sql/sql_lex.cc index 764b7650f1d..2b6c337bedb 100644 --- a/sql/sql_lex.cc +++ b/sql/sql_lex.cc @@ -1245,15 +1245,17 @@ ulong st_select_lex_node::get_table_join_options() { return 0; } // interface bool st_select_lex_unit::create_total_list(THD *thd, st_lex *lex, - TABLE_LIST **result) + TABLE_LIST **result, + bool check_derived) { *result= 0; - return create_total_list_n_last_return(thd, lex, &result); + return create_total_list_n_last_return(thd, lex, &result, check_derived); } // list creator bool st_select_lex_unit::create_total_list_n_last_return(THD *thd, st_lex *lex, - TABLE_LIST ***result) + TABLE_LIST ***result, + bool check_derived) { TABLE_LIST *slave_list_first=0, **slave_list_last= &slave_list_first; TABLE_LIST **new_table_list= *result, *aux; @@ -1266,13 +1268,13 @@ bool st_select_lex_unit::create_total_list_n_last_return(THD *thd, st_lex *lex, net_printf(thd,ER_WRONG_USAGE,"UNION","ORDER BY"); return 1; } - if (sl->linkage == DERIVED_TABLE_TYPE && !sl->next_select()) + if (sl->linkage == DERIVED_TABLE_TYPE && !check_derived) continue; for (SELECT_LEX_UNIT *inner= sl->first_inner_unit(); inner; inner= inner->next_unit()) if (inner->create_total_list_n_last_return(thd, lex, - &slave_list_last)) + &slave_list_last, 0)) return 1; if ((aux= (TABLE_LIST*) sl->table_list.first)) { |