summaryrefslogtreecommitdiff
path: root/sql/sql_derived.cc
diff options
context:
space:
mode:
authorunknown <bell@sanja.is.com.ua>2003-08-11 11:51:33 +0300
committerunknown <bell@sanja.is.com.ua>2003-08-11 11:51:33 +0300
commite64769909ce410eb052c26ed09875b34a653c1aa (patch)
treecc66619bf32dd812402d0ab049143317f87a272c /sql/sql_derived.cc
parent6181294dab759a6f5197573f164ee061668b1d18 (diff)
parentb9aa175cb282ce92e733412a74e23ba750f8dd80 (diff)
downloadmariadb-git-e64769909ce410eb052c26ed09875b34a653c1aa.tar.gz
merge
sql/item.h: Auto merged sql/item_cmpfunc.cc: Auto merged sql/item_func.cc: Auto merged sql/item_strfunc.h: Auto merged sql/item_sum.cc: Auto merged sql/sql_base.cc: Auto merged sql/sql_derived.cc: Auto merged sql/sql_select.cc: Auto merged sql/sql_union.cc: Auto merged sql/table.h: Auto merged
Diffstat (limited to 'sql/sql_derived.cc')
-rw-r--r--sql/sql_derived.cc10
1 files changed, 10 insertions, 0 deletions
diff --git a/sql/sql_derived.cc b/sql/sql_derived.cc
index 436d9412063..d7a88ecd53e 100644
--- a/sql/sql_derived.cc
+++ b/sql/sql_derived.cc
@@ -122,6 +122,16 @@ int mysql_derived(THD *thd, LEX *lex, SELECT_LEX_UNIT *unit,
res= -1;
goto exit;
}
+
+ /*
+ This is done in order to redo all field optimisations when any of the
+ involved tables is used in the outer query
+ */
+ if (tables)
+ {
+ for (TABLE_LIST *cursor= tables; cursor; cursor= cursor->next)
+ cursor->table->clear_query_id= 1;
+ }
item_list= select_cursor->item_list;
select_cursor->with_wild= 0;