diff options
author | unknown <bell@sanja.is.com.ua> | 2003-07-17 19:39:31 +0300 |
---|---|---|
committer | unknown <bell@sanja.is.com.ua> | 2003-07-17 19:39:31 +0300 |
commit | ed8be699fea316ecd9ee49c0739c54c0e51c73da (patch) | |
tree | 583440eb06479cde144d6f89cd4375b1066656c2 /sql/item_subselect.h | |
parent | 04c6e88c0e304aa3bd0f66ae006eb93c1507541b (diff) | |
download | mariadb-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.h | 8 |
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(); }; |