summaryrefslogtreecommitdiff
path: root/sql/item_subselect.h
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2017-05-23 11:09:47 +0300
committerMarko Mäkelä <marko.makela@mariadb.com>2017-05-23 11:09:47 +0300
commit8f643e2063c9890a353149f39ef85b2cf3151fd0 (patch)
treec5468b905c8858dc1cc80ccb2072a923b28c8783 /sql/item_subselect.h
parent3aecedb2f8f99c446a5ba0b02efcf422a252c9e8 (diff)
parentb61700c22104b513caa9a85e5c6529aa5f2bf4e4 (diff)
downloadmariadb-git-8f643e2063c9890a353149f39ef85b2cf3151fd0.tar.gz
Merge 10.1 into 10.2
Diffstat (limited to 'sql/item_subselect.h')
-rw-r--r--sql/item_subselect.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/sql/item_subselect.h b/sql/item_subselect.h
index 72ea63612f0..7f827bbe982 100644
--- a/sql/item_subselect.h
+++ b/sql/item_subselect.h
@@ -508,6 +508,8 @@ public:
Item *left_expr_orig;
/* Priority of this predicate in the convert-to-semi-join-nest process. */
int sj_convert_priority;
+ /* May be TRUE only for the candidates to semi-join conversion */
+ bool do_not_convert_to_sj;
/*
Types of left_expr and subquery's select list allow to perform subquery
materialization. Currently, we set this to FALSE when it as well could
@@ -598,8 +600,8 @@ public:
Item_in_subselect(THD *thd_arg):
Item_exists_subselect(thd_arg), left_expr_cache(0), first_execution(TRUE),
in_strategy(SUBS_NOT_TRANSFORMED),
- pushed_cond_guards(NULL), func(NULL), is_jtbm_merged(FALSE),
- is_jtbm_const_tab(FALSE), upper_item(0) {}
+ pushed_cond_guards(NULL), func(NULL), do_not_convert_to_sj(FALSE),
+ is_jtbm_merged(FALSE), is_jtbm_const_tab(FALSE), upper_item(0) {}
void cleanup();
subs_type substype() { return IN_SUBS; }
void reset()
@@ -654,6 +656,8 @@ public:
*/
int get_identifier();
+ void block_conversion_to_sj () { do_not_convert_to_sj= TRUE; }
+
bool test_strategy(uchar strategy)
{ return MY_TEST(in_strategy & strategy); }