diff options
author | unknown <bell@sanja.is.com.ua> | 2003-08-12 12:38:03 +0300 |
---|---|---|
committer | unknown <bell@sanja.is.com.ua> | 2003-08-12 12:38:03 +0300 |
commit | 4a36d2ada66e1aa4d685b1b69094ff5226b24e5f (patch) | |
tree | bf79484f7cc14e515e3fc508ecb3815329621ca3 /sql/item_subselect.h | |
parent | 168b5179794a8ee3fc09dbaba4dcdf0f724f3312 (diff) | |
download | mariadb-git-4a36d2ada66e1aa4d685b1b69094ff5226b24e5f.tar.gz |
optimisation of independent ALL/ANY with aggregate function (WL#1115) (SCRUM)
mysql-test/r/subselect.result:
test of new optimisation
mysql-test/t/subselect.test:
test of new optimisation
sql/item_subselect.cc:
special subselect to finding max/min of returned values
optimisation of independent ALL/ANY with aggregate function
sql/item_subselect.h:
special subselect to finding max/min of returned values
sql/sql_class.cc:
class for collaction result for max/min subquery
sql/sql_class.h:
class for collaction result for max/min subquery
Diffstat (limited to 'sql/item_subselect.h')
-rw-r--r-- | sql/item_subselect.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/sql/item_subselect.h b/sql/item_subselect.h index 9cfa304bb47..d3aa8f59e49 100644 --- a/sql/item_subselect.h +++ b/sql/item_subselect.h @@ -130,6 +130,7 @@ public: max_length= item->max_length; decimals= item->decimals; } + Item_singlerow_subselect() :Item_subselect(), value(0), row (0) {} subs_type substype() { return SINGLEROW_SUBS; } @@ -153,6 +154,15 @@ public: friend class select_singlerow_subselect; }; +/* used in static ALL/ANY optimisation */ +class Item_maxmin_subselect: public Item_singlerow_subselect +{ +public: + Item_maxmin_subselect(THD *thd, st_select_lex *select_lex, bool max); + Item_maxmin_subselect(Item_maxmin_subselect *item) + :Item_singlerow_subselect(item) {} +}; + /* exists subselect */ class Item_exists_subselect :public Item_subselect |