diff options
author | Sergey Petrunya <psergey@askmonty.org> | 2011-12-14 04:39:29 +0400 |
---|---|---|
committer | Sergey Petrunya <psergey@askmonty.org> | 2011-12-14 04:39:29 +0400 |
commit | 05e0127478c39437be53668f0db1d674071e2485 (patch) | |
tree | 9a4688036e314f9c4de1c18dfbcd01dee433e9b0 /sql/opt_subselect.h | |
parent | fc9d34cabf06038f930db356d53ed76dab5fdf0d (diff) | |
download | mariadb-git-05e0127478c39437be53668f0db1d674071e2485.tar.gz |
BUG#901506: Crash in TABLE_LIST::print on EXPLAIN EXTENDED
- Let JTBM optimization code handle the case where the subquery is degenerate and doesn't have a
join query plan. Regular materialization would fall back to IN->EXISTS for such cases. Semi-Join
materialization does not have such option, instead we introduce and use "constant JTBM join tabs".
Diffstat (limited to 'sql/opt_subselect.h')
-rw-r--r-- | sql/opt_subselect.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sql/opt_subselect.h b/sql/opt_subselect.h index 94c6153f0c1..07f1fc77a20 100644 --- a/sql/opt_subselect.h +++ b/sql/opt_subselect.h @@ -10,6 +10,8 @@ int check_and_do_in_subquery_rewrites(JOIN *join); bool convert_join_subqueries_to_semijoins(JOIN *join); int pull_out_semijoin_tables(JOIN *join); bool optimize_semijoin_nests(JOIN *join, table_map all_table_map); +bool setup_jtbm_semi_joins(JOIN *join, List<TABLE_LIST> *join_list, + Item **join_where); // used by Loose_scan_opt ulonglong get_bound_sj_equalities(TABLE_LIST *sj_nest, |