summaryrefslogtreecommitdiff
path: root/sql/sql_select.h
diff options
context:
space:
mode:
authortimour@askmonty.org <timour@askmonty.org>2013-10-18 11:45:25 +0300
committertimour@askmonty.org <timour@askmonty.org>2013-10-18 11:45:25 +0300
commitafed809297ec43d7825b607b6ebadbabe4f63c2a (patch)
treef1d181866a058711fd214f566cc8eb56dc2e2b6f /sql/sql_select.h
parentadbb4393586d46257a7d483212748df66261dca8 (diff)
downloadmariadb-git-afed809297ec43d7825b607b6ebadbabe4f63c2a.tar.gz
MDEV-5123 Remove duplicated conditions pushed both to join_tab->select_cond and join_tab->cache_select->cond for blocked joins.
BNL and BNLH joins pre-filter the records from a joined table via JOIN_TAB::cache_select->cond. There is no need to re-evaluate the same conditions via JOIN_TAB::select_cond. This patch removes the duplicated conditions from the top-level conjuncts of each pushed condition. The added "Using where" in few EXPLAINs is due to taking into account tab->cache_select->cond in addition to tab->select_cond in JOIN::save_explain_data_intern.
Diffstat (limited to 'sql/sql_select.h')
-rw-r--r--sql/sql_select.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/sql/sql_select.h b/sql/sql_select.h
index d4da44756c7..509e5ba67a6 100644
--- a/sql/sql_select.h
+++ b/sql/sql_select.h
@@ -544,6 +544,7 @@ typedef struct st_join_table {
!(used_sjm_lookup_tables & ~emb_sj_nest->sj_inner_tables));
}
+ void remove_redundant_bnl_scan_conds();
} JOIN_TAB;