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

MWL#90: Subqueries: Inside-out execution for non-semijoin materialized

subqueries that are AND-parts of the WHERE
- First code (needs cleanup).
This commit is contained in:
Sergey Petrunya
2010-04-06 00:16:45 +04:00
parent cb325eb2b2
commit 2775f80f7d
25 changed files with 964 additions and 444 deletions

View File

@ -1551,7 +1551,18 @@ public:
bool union_part; ///< this subselect is part of union
bool optimized; ///< flag to avoid double optimization in EXPLAIN
/*
Subqueries that will need to be converted to semi-join nests (the list
is emptied when conversion is done
*/
Array<Item_in_subselect> sj_subselects;
/*
Subqueries that will need to be converted to JOIN_TABs
(Note this is different from the above in the respect that it's part
of WHERE clause or something like that?)
*/
//Array<Item_in_subselect> jtbm_subselects;
/* Temporary tables used to weed-out semi-join duplicates */
List<TABLE> sj_tmp_tables;
@ -1575,6 +1586,7 @@ public:
JOIN(THD *thd_arg, List<Item> &fields_arg, ulonglong select_options_arg,
select_result *result_arg)
:fields_list(fields_arg), sj_subselects(thd_arg->mem_root, 4)
//jtbm_subselects(thd_arg->mem_root, 4)
{
init(thd_arg, fields_arg, select_options_arg, result_arg);
}