summaryrefslogtreecommitdiff
path: root/sql/sql_select.h
diff options
context:
space:
mode:
authorSergei Petrunia <psergey@askmonty.org>2015-08-05 20:43:25 +0300
committerSergei Petrunia <psergey@askmonty.org>2015-08-18 22:54:42 +0300
commit9b475ee3c1855c23fc716ba83a261c238d9b6f83 (patch)
treeb02670c73cb21bbeabbb5cfcf77a27b0588180be /sql/sql_select.h
parent1bfe4da1e97c4034f70fb5521b93ae87c872a841 (diff)
downloadmariadb-git-9b475ee3c1855c23fc716ba83a261c238d9b6f83.tar.gz
MDEV-8289: Semijoin inflates number of rows in query result
- Make semi-join optimizer not to choose LooseScan when 1) the index is not covered and 2) full index scan will be required. - Make sure that the code in make_join_select() that may change full index scan into a range scan is not invoked when the table uses full scan.
Diffstat (limited to 'sql/sql_select.h')
-rw-r--r--sql/sql_select.h3
1 files changed, 1 insertions, 2 deletions
diff --git a/sql/sql_select.h b/sql/sql_select.h
index 61157130f50..bbeb2aa6952 100644
--- a/sql/sql_select.h
+++ b/sql/sql_select.h
@@ -717,8 +717,7 @@ public:
struct st_position *pos,
struct st_position *loose_scan_pos);
friend bool get_best_combination(JOIN *join);
- friend int setup_semijoin_dups_elimination(JOIN *join, ulonglong options,
- uint no_jbuf_after);
+ friend int setup_semijoin_loosescan(JOIN *join);
friend void fix_semijoin_strategies_for_picked_join_order(JOIN *join);
};