summaryrefslogtreecommitdiff
path: root/sql/item_subselect.h
diff options
context:
space:
mode:
authorunknown <bell@sanja.is.com.ua>2003-07-17 19:39:31 +0300
committerunknown <bell@sanja.is.com.ua>2003-07-17 19:39:31 +0300
commited8be699fea316ecd9ee49c0739c54c0e51c73da (patch)
tree583440eb06479cde144d6f89cd4375b1066656c2 /sql/item_subselect.h
parent04c6e88c0e304aa3bd0f66ae006eb93c1507541b (diff)
downloadmariadb-git-ed8be699fea316ecd9ee49c0739c54c0e51c73da.tar.gz
new optimisation for ref_null (SCRUM) (WL#818)
mysql-test/r/subselect.result: results of new optimisation mysql-test/t/subselect.test: results of new optimisation sql/item_cmpfunc.h: function type sql/item_func.h: function type sql/item_subselect.cc: new optimisation for ref_or_null sql/item_subselect.h: new optimisation for ref_or_null sql/sql_select.cc: new optimisation for ref_or_null sql/sql_select.h: item_subselect.cc need safe_index_read
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 5749220629f..e2738102ebd 100644
--- a/sql/item_subselect.h
+++ b/sql/item_subselect.h
@@ -228,6 +228,7 @@ public:
friend class Item_asterisk_remover;
friend class Item_ref_null_helper;
friend class Item_is_not_null_test;
+ friend class subselect_indexin_engine;
};
/* ALL/ANY/SOME subselect */
@@ -337,10 +338,13 @@ public:
class subselect_indexin_engine: public subselect_simplein_engine
{
+ bool check_null;
public:
subselect_indexin_engine(THD *thd, st_join_table *tab_arg,
- Item_subselect *subs, Item *where)
- :subselect_simplein_engine(thd, tab_arg, subs, where)
+ Item_subselect *subs, Item *where,
+ bool chk_null)
+ :subselect_simplein_engine(thd, tab_arg, subs, where),
+ check_null(chk_null)
{}
int exec();
};