summaryrefslogtreecommitdiff
path: root/sql/sql_base.cc
diff options
context:
space:
mode:
authorSergey Petrunya <psergey@askmonty.org>2010-12-09 18:07:59 +0300
committerSergey Petrunya <psergey@askmonty.org>2010-12-09 18:07:59 +0300
commit1bf3964fbe00f7bcc5b9a55b54066d4081302b19 (patch)
tree47af31fd83d5a16145aaa21ae0564bfa277e4e54 /sql/sql_base.cc
parenteb70e64ceaa7aec6a35580643a3e5fc01b6a0630 (diff)
parent8127e0a621782a848e37d6dc389436928fd39e3e (diff)
downloadmariadb-git-1bf3964fbe00f7bcc5b9a55b54066d4081302b19.tar.gz
MWL#90: Subqueries: Inside-out execution for materialized non-sj subqueries
- Merge into 5.3-main
Diffstat (limited to 'sql/sql_base.cc')
-rw-r--r--sql/sql_base.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/sql/sql_base.cc b/sql/sql_base.cc
index 530ebf85955..e6331f065f0 100644
--- a/sql/sql_base.cc
+++ b/sql/sql_base.cc
@@ -7778,6 +7778,17 @@ bool setup_tables(THD *thd, Name_resolution_context *context,
if (res)
DBUG_RETURN(1);
}
+ if (table_list->jtbm_subselect)
+ {
+ Item *item= table_list->jtbm_subselect;
+ if (item->fix_fields(thd, &item))
+ {
+ my_error(ER_TOO_MANY_TABLES,MYF(0),MAX_TABLES);
+ DBUG_RETURN(1);
+ }
+ DBUG_ASSERT(item == table_list->jtbm_subselect);
+ table_list->jtbm_subselect->setup_engine(FALSE);
+ }
}
/* Precompute and store the row types of NATURAL/USING joins. */