summaryrefslogtreecommitdiff
path: root/sql/opt_subselect.h
diff options
context:
space:
mode:
authorSergey Petrunya <psergey@askmonty.org>2011-11-25 23:54:36 +0400
committerSergey Petrunya <psergey@askmonty.org>2011-11-25 23:54:36 +0400
commit8325848b6ec4189b8339355689060a19d226a92f (patch)
treeffa2858bdb5085ea0b9d122964d3da244288bf6c /sql/opt_subselect.h
parentb796833e8da682dbbca38eab5650fc569000dcf7 (diff)
downloadmariadb-git-8325848b6ec4189b8339355689060a19d226a92f.tar.gz
Subquery code cleanups:
- Make functions that operate on SJ_TMP_TABLE be member functions - Make Loose_scan_opt data members private
Diffstat (limited to 'sql/opt_subselect.h')
-rw-r--r--sql/opt_subselect.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/sql/opt_subselect.h b/sql/opt_subselect.h
index b5886ae06a2..94c6153f0c1 100644
--- a/sql/opt_subselect.h
+++ b/sql/opt_subselect.h
@@ -40,7 +40,6 @@ ulonglong get_bound_sj_equalities(TABLE_LIST *sj_nest,
class Loose_scan_opt
{
-public:
/* All methods must check this before doing anything else */
bool try_loosescan;
@@ -71,6 +70,7 @@ public:
uint best_max_loose_keypart;
+public:
Loose_scan_opt():
try_loosescan(FALSE),
bound_sj_equalities(0),
@@ -288,10 +288,6 @@ void fix_semijoin_strategies_for_picked_join_order(JOIN *join);
bool setup_sj_materialization_part1(JOIN_TAB *sjm_tab);
bool setup_sj_materialization_part2(JOIN_TAB *sjm_tab);
-TABLE *create_duplicate_weedout_tmp_table(THD *thd, uint uniq_tuple_length_arg,
- SJ_TMP_TABLE *sjtbl);
-int do_sj_reset(SJ_TMP_TABLE *sj_tbl);
-int do_sj_dups_weedout(THD *thd, SJ_TMP_TABLE *sjtbl);
/*
Temporary table used by semi-join DuplicateElimination strategy
@@ -359,6 +355,10 @@ public:
ENGINE_COLUMNDEF *recinfo;
SJ_TMP_TABLE *next_flush_table;
+
+ int sj_weedout_delete_rows();
+ int sj_weedout_check_row(THD *thd);
+ bool create_sj_weedout_tmp_table(THD *thd);
};
int setup_semijoin_dups_elimination(JOIN *join, ulonglong options,