summaryrefslogtreecommitdiff
path: root/sql/opt_subselect.h
diff options
context:
space:
mode:
authorSergey Petrunya <psergey@askmonty.org>2011-12-14 04:39:29 +0400
committerSergey Petrunya <psergey@askmonty.org>2011-12-14 04:39:29 +0400
commit05e0127478c39437be53668f0db1d674071e2485 (patch)
tree9a4688036e314f9c4de1c18dfbcd01dee433e9b0 /sql/opt_subselect.h
parentfc9d34cabf06038f930db356d53ed76dab5fdf0d (diff)
downloadmariadb-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.h2
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,