diff options
author | Sergei Petrunia <psergey@askmonty.org> | 2015-08-05 20:43:25 +0300 |
---|---|---|
committer | Sergei Petrunia <psergey@askmonty.org> | 2015-08-18 22:54:42 +0300 |
commit | 9b475ee3c1855c23fc716ba83a261c238d9b6f83 (patch) | |
tree | b02670c73cb21bbeabbb5cfcf77a27b0588180be /sql/sql_select.h | |
parent | 1bfe4da1e97c4034f70fb5521b93ae87c872a841 (diff) | |
download | mariadb-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.h | 3 |
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); }; |